C++ 学生成绩管理系统.docx
- 文档编号:9600786
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:20
- 大小:18.43KB
C++ 学生成绩管理系统.docx
《C++ 学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C++ 学生成绩管理系统.docx(20页珍藏版)》请在冰豆网上搜索。
C++学生成绩管理系统
#include
#include
#include
#include
#include
classStu//构建学生类
{
public:
friendvoidInput(Stustud[]);
friendvoidStatistic(Stustud[]);
friendvoidLookup(Stustud[]);
friendvoidModify(Stustud[]);
friendvoidDelete(Stustud[]);
friendvoidOutput(Stustud[]);
friendvoidSort(Stustud[]);
friendvoidInsert(Stustud[]);
friendvoidWrite(Stustud[],intn);
friendintRead(Stustud[]);
private:
charclass_0[20];
intnum;
charname[8];
floatelec;
floatc_program;
floatmedia;
floatenglish;
floatmath;
floatsport;
floatpolity;
floataverage;
intorder;
}stud[100];
voidWrite(Stustud[],intn)//向文件中写入数据
{
fstreammyFile;
myFile.open("student.dat",ios:
:
out|ios:
:
binary);
if(!
myFile)
{
cout<<"student.datcan'topen!
"< abort(); } intcount=n; myFile< for(inti=0;i<=count;i++) { myFile< <<""< } myFile.close(); } intRead(Stustud[])//从文件中读数据 { fstreammyFile; myFile.open("student.dat",ios: : in|ios: : binary); if(! myFile) { cout<<"student.datcan'topen! "< abort(); } intcount; myFile.seekg(0); myFile>>count; for(inti=0;i<=count;i++) { myFile>>stud[i].class_0>>stud[i].num>>stud[i].name>>stud[i].elec>>stud[i].c_program>>stud[i].media>>stud[i].english>>stud[i].math>>stud[i].sport>>stud[i].polity>>stud[i].average; } myFile.close(); returncount; } voidInput(Stustud[])//---------------输入学生成绩 { system("cls");/*运行前清屏*/ inti=0; intflag; charsign; cout< while(sign! ='n'&&sign! ='N')/*判断*/ { cout<<"班级: ";/*交互输入*/ cin>>stud[i].class_0; loop: cout<<"学号: "; cin>>stud[i].num; intc=0; while(c { c++; if(stud[i].num==stud[i-c].num) { cout<<"你输入的学号已经存在! 请重新输入。 "< gotoloop; } } cout<<"姓名: "; cin>>stud[i].name; do{ flag=0; cout<<"电子技术成绩: "; cin>>stud[i].elec; if(stud[i].elec>100||stud[i].elec<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"C++程序设计成绩: "; cin>>stud[i].c_program; if(stud[i].c_program>100||stud[i].c_program<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"多媒体技术成绩: "; cin>>stud[i].media; if(stud[i].media>100||stud[i].media<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"大学英语成绩: "; cin>>stud[i].english; if(stud[i].english>100||stud[i].english<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"高等数学成绩: "; cin>>stud[i].math; if(stud[i].math>100||stud[i].math<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"大学体育成绩: "; cin>>stud[i].sport; if(stud[i].sport>100||stud[i].sport<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); do{ flag=0; cout<<"马克思主义政治经济学成绩: "; cin>>stud[i].polity; if(stud[i].polity>100||stud[i].polity<1) cout<<"对不起,请输入1-100之间的数字! ! \n"; else flag=1; }while(flag==0); stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<"平均分为: "< cout<<"====>提示: 是否继续写入学生成绩? (Y/N)"; cin>>sign;/*输入判断*/ i++; } Write(stud,i); } voidStatistic(Stustud[])//---------------统计学生数据 { system("cls");/*运行前清屏*/ intn=Read(stud); cout< cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名"<<"\t"<<"平均分"< for(inti=0;i cout< system("pause"); } voidLookup(Stustud[])//---------------查找学生成绩 { system("cls");/*运行前清屏*/ intn=Read(stud); ints; inti=0; cout< cout<<"请输入需要查找学生的学号: "< cin>>s; while((stud[i].num-s)! =0&&i if(i==n) { cout<<"=====>提示: 对不起,无法找到该学生的信息! "< } else { cout<<"---------------------------"< cout<<"班级: "< cout<<"学号: "< cout<<"姓名: "< cout<<"电子技术: "< cout<<"C++程序设计: "< cout<<"多媒体技术: "< cout<<"大学英语: "< cout<<"高等数学: "< cout<<"大学体育: "< cout<<"马克思主义政治经济学: "< cout<<"平均分: "< } } voidModify(Stustud[])//---------------修改学生成绩 { system("cls");/*运行前清屏*/ intn=Read(stud); ints; inti=0; cout< cout<<"请输入需要修改成绩学生的学号: "< cin>>s; while((stud[i].num-s)! =0&&i if(i==n) { cout<<"=====>提示: 对不起,无该学生的成绩……"< } else { cout<<"----------该学生的信息----------"< cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名"<<"\t"<<"电子"<<"\t"<<"c++"<<"\t"<<"多媒体"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"体育"<<"\t"<<"政治"<<"\t"<<"平均分"< cout<<"---------------------------------"< cout< cout<<"请重新输入该学生的信息"< cout<<"班级: "< cin>>stud[i].class_0; cout<<"学号: "< cin>>stud[i].num; cout<<"姓名: "< cin>>stud[i].name; cout<<"电子技术成绩: "< cin>>stud[i].elec; cout<<"C++程序设计成绩: "< cin>>stud[i].c_program; cout<<"多媒体技术成绩: "< cin>>stud[i].media; cout<<"大学英语成绩: "< cin>>stud[i].english; cout<<"高等数学成绩: "< cin>>stud[i].math; cout<<"大学体育成绩: "< cin>>stud[i].sport; cout<<"马克思主义政治经济学成绩: "< cin>>stud[i].polity; stud[i].average=(stud[i].elec+stud[i].c_program+stud[i].media+stud[i].english+stud[i].math+stud[i].sport+stud[i].polity)/7; cout<<"平均分为: "< charc; cout<<"是否保存数据? (y/n)"< cin>>c; if(c! ='n'&&c! ='N') Write(stud,n); } } voidDelete(Stustud[])//---------------按学号查找,删除学生信息 { system("cls");/*运行前清屏*/ intn=Read(stud); ints; inti=0,j; cout< cout<<"请输入需要删除学生的学号: "< cin>>s; while((stud[i].num-s)! =0&&i if(i==n) { cout<<"====>提示: 对不起,无法找到该学生……"< } else { for(j=i;j { strcpy(stud[j].class_0,stud[j+1].class_0); stud[j].num=stud[j+1].num; strcpy(stud[j].name,stud[j+1].name); stud[j].elec=stud[j+1].elec; stud[j].c_program=stud[j+1].c_program; stud[j].media=stud[j+1].media; 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; stud[j].average=stud[j+1].average; } cout<<"====>提示: 已成功删除! "< } Write(stud,n-1); } voidInsert(Stustud[])//---------------增加学生成绩 { system("cls");/*运行前清屏*/ intn=Read(stud); chars; cout< while(s! ='n'&&s! ='N') { cout<<"班级: "< cin>>stud[n].class_0; cout<<"学号: "; cin>>stud[n].num; cout<<"姓名: "; cin>>stud[n].name; cout<<"电子技术成绩: "; cin>>stud[n].elec; cout<<"C++程序设计成绩: "; cin>>stud[n].c_program; cout<<"多媒体技术成绩: "; cin>>stud[n].media; cout<<"大学英语成绩: "; cin>>stud[n].english; cout<<"高等数学成绩: "; cin>>stud[n].math; cout<<"大学体育成绩: "; cin>>stud[n].sport; cout<<"马克思主义政治经济学成绩: "; cin>>stud[n].polity; stud[n].average=(stud[n].elec+stud[n].c_program+stud[n].media+stud[n].english+stud[n].math+stud[n].sport+stud[n].polity)/7; cout<<"平均分"< n++; cout<<"=====>提示: 插入成功! "< cout<<"是否继续输入(y/n)"< cin>>s; } Write(stud,n); } voidSort(Stustud[])//---------------按平均分对学生成绩记录项进行降序排序 { system("cls");/*运行前清屏*/ inti,j,k; floats; chart[20]; cout< intn=Read(stud); for(i=0;i for(j=0;j if(stud[j].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].num; stud[j+1].num=stud[j].num; stud[j].num=k; strcpy(t,stud[j+1].name); strcpy(stud[j+1].name,stud[j].name); strcpy(stud[j].name,t); s=stud[j+1].elec; stud[j+1].elec=stud[j].elec; stud[j].elec=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].media; stud[j+1].media=stud[j].media; stud[j].media=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].average; stud[j+1].average=stud[j].average; stud[j].average=s; } cout<<"----------------------------------------------------"< cout<<"班级"<<"\t"<<"学号"<<"\t"<<"姓名"<<"\t"<<"电子"<<"\t"<<"C++"<<"\t"<<"多媒体"<<"\t"<<"英语"<<"\t"<<"数学"<<"\t"<<"体育"<<"\t"<<"政治"<<"\t"<<"平均分"<<"\t"<<"名次"< cout<<"-----------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生成绩管理系统 学生 成绩管理系统