资源描述
先天生果治理零碎
湖北产业年夜学
(盘算机系课程计划标题〕
#include<iostream.h>/*援用库函数*/
#include<stdlib.h>
#include<ctype.h>
#include<stdio.h>
#include<string.h>
typedefstruct
{
charclass_0[20];/*班级*/
intnumber;/*学号*/
charname[20];/*姓名*/
floatelectrics;/*电子技巧成果*/
floatc_program;/*C++言语成果*/
floatmultimedia;/*多媒体技巧成果*/
floatenglish;/*年夜学英语成果*/
floatmath;/*初等数学成果*/
floatsport;/*体育成果*/
floatpolity;/*马克思主义政治经济学*/
floatsummary;/*总分*/
floataverage;/*均匀分*/
}Student;
Studentstu[100];/*构造体数组变量*/
intmenu()/*菜单函数*/
{
charc;
do
{
system("cls");/*运转前清屏*/
cout<<"********************************
先天生果治理零碎
********************************"<<endl;/*
菜单项选择择*/
cout<<"【1】输入数据"<<endl;
cout<<"【2】表现所无数据"<<endl;
cout<<"【3】按均匀分落序陈列"<<endl;
cout<<"【4】查寻并表现一组数据"<<endl;
cout<<"【5】拔出一组数据"<<endl;
cout<<"【6】修正一组数据"<<endl;
cout<<"【7】删除一组数据"<<endl;
cout<<"【8】从文件中读入数据"<<endl;
cout<<"【9】将一切记载写入文件"<<endl;
cout<<"【0】加入本零碎\n"<<endl;
cout<<"**********************
07收集一班
3207001349************************"<<endl;
cout<<"请你选择操纵(0-9):"<<endl;
c=getchar();/*读当选择*/
}
while(c<'0'||c>'9');
return(c-'0');/*前往选择*/
}
intInput(Studentstud[],intn)/*输入假定干笔记载*/
{
inti=0;
charsign,x[10];/*x[10]为去除过剩的数据所用*/
while(sign!='n'&&sign!='N')/*
{
推断*/
cout<<"请输入先生的班不:";/*交互输入*/
cin>>stud[n+i].class_0;
cout<<"请输入先生的学号:";
cin>>stud[n+i].number;
cout<<"请输入先生的姓名:";
cin>>stud[n+i].name;
cout<<"请输入该先生『电子技巧』的成果
cin>>stud[n+i].electrics;
:";
cout<<"请输入该先生『C++顺序计划』的成果:";
cin>>stud[n+i].c_program;
cout<<"请输入该先生『多媒体技巧』的成果
cin>>stud[n+i].multimedia;
:";
cout<<"请输入该先生『年夜学英语』的成果
cin>>stud[n+i].english;
:";
cout<<"请输入该先生『初等数学』的成果
cin>>stud[n+i].math;
:";
:";
cout<<"请输入该先生『年夜学体育』的成果
cin>>stud[n+i].sport;
cout<<"请输入该先生『马克思主义政治经济学』的成果
:";
cin>>stud[n+i].polity;
stud[n+i].summary=stud[n+i].electrics+stud[n+i].c_program+stud[n+i].multimedia+stud[n+i].engl
ish+stud[n+i].math+stud[n+i].sport+stud[n+i].polity;
stud[n+i].average=stud[n+i].summary/7;
cout<<"该先生的总分为:"<<stud[n+i].summary<<"均匀分为:"<<stud[n+i].average<<endl;
gets(x);/*去除过剩的输入*/
cout<<"=====>提醒:接着写入成果(Y/N)";
cin>>sign;/*输入推断*/
i++;
}
return(n+i);
}
voidDisplay(Studentstud[],intn)/*表现一切记载*/
{
inti;
if(!stud)cout<<"不记载";
else{
cout<<"--------------------------------------------------------------------------------"<<endl;/*
cout<<"班不学号姓名电子C++多媒体英语数学体育政治
"<<endl;
格局头*/
总分
均匀分
cout<<"--------------------------------------------------------------------------------"<<endl;
for(i=1;i<n+1;i++)/*轮回输入*/
{
stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].englis
h+
stud[i-1].math+stud[i-1].sport+stud[i-1].polity;
stud[i-1].average=stud[i-1].summary/7;
cout<<stud[i-1].class_0<<"
"<<stud[i-1].number<<"
"<<stud[i-1].name<<"
"<<stud[i-
1].electrics<<"
"<<stud[i-1].c_program<<"
"<<stud[i-1].multimedia<<"
"<<
"<<stud[i-1].e
nglish<<"
stud[i-1].math<<"
"<<stud[i-1].sport<<"
"<<stud[i-1].polity<<"
"<<stud[i-1].summa
ry<<"
"<<stud[i-1].average<<endl;
}
cout<<"\t\t\t"<<endl;}
system("pause");
}
voidSort(Studentstud[],intn)/*按均匀分排序*/
{
inti,j,k;
floats;
chart[20];
for(i=0;i<n-1;i++)/*冒泡法排序*/
for(j=0;j<n-1-i;j++)
if(stud[j].average<stud[j+1].average)
{
strcpy(t,stud[j+1].class_0);
strcpy(stud[j+1].class_0,stud[j].class_0);
strcpy(stud[j].class_0,t);
k=stud[j+1].number;
stud[j+1].number=stud[j].number;
stud[j].number=k;
strcpy(t,stud[j+1].name);
strcpy(stud[j+1].name,stud[j].name);
strcpy(stud[j].name,t);
s=stud[j+1].electrics;
stud[j+1].electrics=stud[j].electrics;
stud[j].electrics=s;
s=stud[j+1].c_program;
stud[j+1].c_program=stud[j].c_program;
stud[j].c_program=s;
s=stud[j+1].multimedia;
stud[j+1].multimedia=stud[j].multimedia;
stud[j].multimedia=s;
s=stud[j+1].english;
stud[j+1].english=stud[j].english;
stud[j].english=s;
s=stud[j+1].math;
stud[j+1].math=stud[j].math;
stud[j].math=s;
s=stud[j+1].sport;
stud[j+1].sport=stud[j].sport;
stud[j].sport=s;
s=stud[j+1].polity;
stud[j+1].polity=stud[j].polity;
stud[j].polity=s;
s=stud[j+1].summary;
stud[j+1].summary=stud[j].summary;
stud[j].summary=s;
s=stud[j+1].average;
stud[j+1].average=stud[j].average;
stud[j].average=s;
}
cout<<"--------------------------------------------------------------------------------"<<endl;/*
格局头*/
cout<<"班不学号姓名电子C++多媒体英语数学体育政治
总分
均匀分
"<<endl;
cout<<"--------------------------------------------------------------------------------"<<endl;
for(i=1;i<n+1;i++)/*轮回输入*/
{
stud[i-1].summary=stud[i-1].electrics+stud[i-1].c_program+stud[i-1].multimedia+stud[i-1].englis
h+
stud[i-1].math+stud[i-1].sport+stud[i-1].polity;
stud[i-1].average=stud[i-1].summary/7;
cout<<stud[i-1].class_0<<stud[i-1].number<<stud[i-1].name<<stud[i-1].electrics<<stud[i-1].c_pr
ogram<<stud[i-1].multimedia<<stud[i-1].english<<
stud[i-1].math<<stud[i-1].sport<<stud[i-1].polity<<stud[i-1].summary<<stud[i-1].average<<en
dl;
}
}
intInsert(Studentstud[],intn)/*拔出一笔记载*/
{
charx[10];/*去除过剩输入所用*/
cout<<"请输入先生的班不:"<<endl;/*交互输入*/
cin>>stud[n].class_0;
cout<<"请输入先生的学号:";
cin>>stud[n].number;
cout<<"请输入先生的姓名:";
cin>>stud[n].name;
cout<<"请输入该先生『电子技巧』的成果
:";
cin>>stud[n].electrics;
cout<<"请输入该先生『C++顺序计划』的成果:";
cin>>stud[n].c_program;
cout<<"请输入该先生『多媒体技巧』的成果
cin>>stud[n].multimedia;
:";
cout<<"请输入该先生『年夜学英语』的成果
cin>>stud[n].english;
:";
cout<<"请输入该先生『初等数学』的成果
cin>>stud[n].math;
:";
:";
cout<<"请输入该先生『年夜学体育』的成果
cin>>stud[n].sport;
cout<<"请输入该先生『马克思主义政治经济学』的成果
:";
cin>>stud[n].polity;
stud[n].summary=stud[n].electrics+stud[n].c_program+stud[n].multimedia+stud[n].english+
stud[n].math+stud[n].sport+stud[n].polity;
stud[n].average=stud[n].summary/7;
gets(x);
n++;
Sort(stu,n);/*挪用排序函数*/
cout<<"=====>提醒:拔出胜利!"<<endl;/*前往胜利信息*/
return(n);
}
intDelete(Studentstud[],intn)/*按学号查寻,删除一笔记载
*/
{
ints;
inti=0,j;
cout<<"输入需求删除先生的学号:"<<endl;/*交互式咨询寻*/
cin>>s;
while((stud[i].number-s)!=0&&i<n)i++;/*
查寻推断*/
if(i==n)
{
cout<<"=====>提醒:对不起,无奈寻到改学号
⋯⋯"<<endl;/*前往掉败信息*/
return(n);
}
for(j=i;j<n-1;j++)/*删除操纵*/
{
strcpy(stud[j].class_0,stud[j+1].class_0);
stud[j].number=stud[j+1].number;
strcpy(stud[j].name,stud[j+1].name);
stud[j].electrics=stud[j+1].electrics;
stud[j].c_program=stud[j+1].c_program;
stud[j].multimedia=stud[j+1].multimedia;
stud[j].english=stud[j+1].english;
stud[j].math=stud[j+1].math;
stud[j].sport=stud[j+1].sport;
stud[j].polity=stud[j+1].polity;
}
cout<<"=====>提醒:已胜利删除!"<<endl;/*前往胜利信息*/
return(n-1);
}
voidSearch(Studentstud[],intn)/*查寻并表现一个记载*/
{
ints;
inti=0;
cout<<"输入需求查寻先生的学号:"<<endl;
cin>>s;
while((stud[i].number-s)!=0&&i<n)i++;/*
查寻推断*/
if(i==n)
{
cout<<"=====>提醒:对不起,无奈寻到该先生的信息!
"<<endl;/*输入掉败信息*/
return;
}
cout<<"---------------------------"<<endl;
cout<<"班不:"<<stud[i].class_0<<endl;/*输入该先生信息*/
cout<<"学号:"<<stud[i].number<<endl;
cout<<"姓名:"<<stud[i].name<<endl;
cout<<"电子技巧:"<<stud[i].electrics<<endl;
cout<<"C++顺序计划:"<<stud[i].c_program<<endl;
cout<<"多媒体技巧:"<<stud[i].multimedia<<endl;
cout<<"年夜学英语:"<<stud[i].english<<endl;
cout<<"初等数学:"<<stud[i].math<<endl;
cout<<"年夜学体育:"<<stud[i].sport<<endl;
cout<<"马克思主义政治经济学:"<<stud[i].polity<<endl;
cout<<"总分:"<<stud[i].summary<<endl;
cout<<"均匀分:"<<stud[i].average<<endl;
}
voidModify(Studentstud[],intn)
{
ints;
inti=0;
cout<<"输入需求修正成果先生的学号
:"<<endl;
cin>>s;
while((stud[i].number-s)!=0&&i<n)i++;/*
查寻推断*/
if(i==n)
{
cout<<"=====>提醒:对不起,无该先生的成果
⋯⋯"<<endl;/*输入掉败信息*/
return;
}
cout<<"-----------------------------------
该先生的信息---------------------------------"<<endl;/*
格局头
*/
cout<<"班不学号姓名电子C++多媒体英语数学体育政治
总分
均匀分
"<<endl;
cout<<"--------------------------------------------------------------------------------"<<endl;
stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+
stud[i].math+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/7;
cout<<stud[i-1].class_0<<stud[i-1].number<<stud[i-1].name<<stud[i-1].electrics<<stud[i-1].c_pr
ogram<<stud[i-1].multimedia<<stud[i-1].english<<
stud[i-1].math<<stud[i-1].sport<<stud[i-1].polity<<stud[i-1].summary<<stud[i-1].average<<en
dl;
cout<<"请输入先生的班不:"<<endl;/*交互输入*/
cin>>stud[n+i].class_0;
cout<<"请输入先生的学号:"<<endl;
cin>>stud[n+i].number;
cout<<"请输入先生的姓名:"<<endl;
cin>>stud[n+i].name;
cout<<"请输入该先生『电子技巧』的成果
cin>>stud[n+i].electrics;
:"<<endl;
cout<<"请输入该先生『C++顺序计划』的成果:"<<endl;
cin>>stud[n+i].c_program;
cout<<"请输入该先生『多媒体技巧』的成果
cin>>stud[n+i].multimedia;
:"<<endl;
:"<<endl;
:"<<endl;
:"<<endl;
cout<<"请输入该先生『年夜学英语』的成果
cin>>stud[n+i].english;
cout<<"请输入该先生『初等数学』的成果
cin>>stud[n+i].math;
cout<<"请输入该先生『年夜学体育』的成果
cin>>stud[n+i].sport;
cout<<"请输入该先生『马克思主义政治经济学』的成果
:"<<endl;
cin>>stud[n+i].polity;
stud[i].summary=stud[i].electrics+stud[i].c_program+stud[i].multimedia+stud[i].english+stud[i].
math+stud[i].sport+stud[i].polity;
stud[i].average=stud[i].summary/7;
cout<<"该先生的总分为:"<<stud[i].summary<<"均匀分为:"<<stud[i].average;
}
intRead(Studentstud[],intn)/*从文件中读入数据*/
{
inti=0,num;
FILE*fp;/*界说文件指针*/
charfilename[20];/*界说文件名*/
cout<<"输入文件名:"<<endl;
cin>>filename;/*输入文件名*/
if((fp=fopen(filename,"rb"))==NULL)/*
{
翻开文件*/
cout<<"=====>提醒:无奈翻开那个文件!
"<<endl;/*翻开掉败信息*/
cout<<"\t\t\t";
system("pause");
return(n);
}
fscanf(fp,"%d",&num);/*读入总记载量*/
while(i<num)/*轮回读入数据*/
{
fscanf(fp,"%s%d%s%f%f%f%f%f%f%f%f%f",stud[n+i].class_0,&stud[n+i].number,stud[n+i].na
me,&stud[n+i].electrics,&stud[n+i].c_program,&stud[n+i].multimedia,&stud[n+i].english,&stud[
n+i].math,&stud[n+i].sport,&stud[n+i].polity,&stud[n+i].summary,&stud[n+i].average);
i++;
}
n+=num;
fclose(fp);/*封闭文件*/
cout<<"=====>提醒:读入数据胜利,可选择【表现一切成果】检查
"<<endl;
cout<<"\t\t\t";
system("pause");
return(n);
}
voidSave(Studentstud[],intn)/*将一切记载写入文件*/
{
inti=0;
FILE*fp;/*界说文件指针*/
charfilename[20];/*界说文件名*/
cout<<"输入文件名:";/*输入文件名*/
cin>>filename;
if((fp=fopen(filename,"w"))==NULL)/*
{
翻开文件*/
cout<<"=====>提醒:无奈翻开那个文件!
"<<endl;
system("pause");
return;
}
fprintf(fp,"%d\n",n);/*轮回写入数据*/
while(i<n)
{
fprintf(fp,"%-8s%-8d%-6s%-6.1f%-7.1f%-7.1f%-6.1f%-6.1f%-6.1f%-7.1f%-8.1f%-6.2\n",stud[i].
class_0,stud[i].number,stud[i].name,stud[i].electrics,stud[i].c_program,stud[i].multimedia,stud[i].e
nglish,
stud[i].math,stud[i].sport,stud[i].polity,stud[i].summary,stud[i].average);
i++;
}
fclose(fp);/*封闭文件*/
cout<<"=====>提醒:已胜利写入数据!"<<endl;/*前往胜利信息*/
}
voidmain()/*主函数*/
{
intn=0;
for(;;)
{
switch(menu())/*选择推断*/
{
case1:
cout<<endl<<"====>>输入成果<<===="<<endl;/*输入假定干笔记载*/
n=Input(stu,n);
break;
case2:
cout<<endl<<"====>>表现一切记载<<===="<<endl;/*表现一切记载*/
Display(stu,n);
break;
case3:
cout<<endl<<"====>>按均匀分落序陈列
Sort(stu,n);/*按学号排序*/
cout<<"排序胜利!"<<endl;
cout<<"\t\t\t";
<<===="<<endl;
system("pause");
break;
case4:
cout<<endl<<"====>>查寻并表现一构成果
<<===="<<endl;
Search(stu,n);/*拔出一笔记载*/
cout<<"\t\t\t";
system("pause");
break;
case5:
cout<<endl<<"====>>拔出一构成果<<===="<<endl;
n=Insert(stu,n);/*按姓名查寻,删除一笔记载
*/
cout<<"\t\t\t";
system("pause");
break;
case6:
cout<<endl<<"====>>修正一构成果<<===="<<endl;
Modify(stu,n);/*查寻并表现一个记载*/
cout<<"\t\t\t";
system("pause");
break;
case7:
cout<<endl<<"====>>删除一构成果<<===="<<endl;
n=Delete(stu,n);/*查寻并表现一个记载*/
cout<<"\t\t\t";
system("pause");
break;
case8:
cout<<endl<<"====>>从文件中读入数据
<<===="<<endl;
n=Read(stu,n);/*轮回读出数据*/
break;
case9:
cout<<endl<<"====>>将一切记载写入文件
Save(stu,n);/*轮回写入数据*/
cout<<"\t\t\t";
<<===="<<endl;
system("pause");
break;
case0:
cout<<endl<<"====>>感谢你的运用!<<===="<<endl;/*完毕顺序*/
cout<<"\t\t\t";
system("pause");
exit(0);
}
}
}
展开阅读全文