C成绩管理系统.docx
- 文档编号:12488395
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:17
- 大小:17.50KB
C成绩管理系统.docx
《C成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C成绩管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
C成绩管理系统
《C++面向对象程序设计》课程设计
题目:
学生成绩管理
班级:
计算机二专09级
姓名:
刘玉方
学号:
200801070712
2010年7月7日
1需求分析
1.1功能需求分析:
简易学生成绩管理系统主要有5个大的模块:
学生成绩的输入,学生成绩的删除,学生成绩的插入,学生成绩的查询,以及学生成绩的分类汇总。
1.11学生成绩输入模块
主要功能是输入学生成绩的操作。
需要用户自己输入学生成绩信息。
1.12学生成绩删除模块
主要功能是删除学生成绩的操作。
需要用户提供需要删除具体学生成绩的关联信息。
1.13学生成绩插入模块
主要功能是插入学生成绩的操作。
需要用户提供插入位置和插入信息。
1.14学生成绩查询模块
主要功能是按照用户的要求查询学生的成绩。
需要用户提供查询具体哪一个学生的信息。
1.15学生成绩的分类汇总模块
主要功能是输出每门学科的总分和平均分。
2功能模块
2.1学生成绩输入的实现;
运用cout、cin标准输出、输入流来实现学生成绩的输入。
cout<<"请输入该学生『C++程序设计』的成绩:
";
cin>>stud[n+i].c_program;
cout<<"请输入该学生『大学英语』的成绩:
";
cin>>stud[n+i].english;
cout<<"请输入该学生『高等数学』的成绩:
";
cin>>stud[n+i].math;
2.2学生成绩删除的实现;
运用for循环语句查找并删除用户提供的删除具体某个学生成绩的信息,并删除之。
for(j=i;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].c_program=stud[j+1].c_program; stud[j].english=stud[j+1].english; stud[j].math=stud[j+1].math; } 2.3学生成绩插入的实现; intInsert(Studentstud[],intn){ charx[10];/*清除多余输入所用*/ cout<<"请输入学生的班级: "< cin>>stud[n].class_0; cout<<"请输入学生的学号: "; cin>>stud[n].number; cout<<"请输入学生的姓名: "; cin>>stud[n].name; cout<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n].c_program; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n].math; stud[n].summary=stud[n].c_program+stud[n].english+stud[n].math; stud[n].average=stud[n].summary/3; gets(x); n++; Sort(stu,n);/*调用排序函数*/ cout<<"=====>提示: 插入成功! "< return(n); } 2.4成绩查询显示分类汇总模块 voidSort(Studentstud[],intn){ inti,j,k;floats;chart[20]; 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].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].c_program; stud[j+1].c_program=stud[j].c_program; stud[j].c_program=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].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; } } 3源代码 #include #include #include #include #include typedefstruct { charclass_0[20];/*班级*/ intnumber;/*学号*/ charname[20];/*姓名*/ floatc_program;/*C++语言成绩*/ floatenglish;/*大学英语成绩*/ floatmath;/*高等数学成绩*/ floatsummary;/*总分*/ floataverage;/*平均分*/ }Student; Studentstu[100];/*结构体数组变量*/ intmenu()/*菜单函数*/ { charc; do { system("cls");/*运行前清屏*/ cout<<"**********学生成绩管理系统************"< cout<<"【1】输入数据"< cout<<"【2】显示所有数据"< cout<<"【3】按平均分降序排列"< cout<<"【4】查找并显示一组数据"< cout<<"【5】插入一组数据"< cout<<"【6】修改一组数据"< cout<<"【7】删除一组数据"< cout<<"【0】退出本系统\n"< cout<<"*************************************"< cout<<"请你选择操作(0-7): "< c=getchar();/*读入选择*/ } while(c<'0'||c>'7'); 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<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n+i].c_program; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n+i].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n+i].math; stud[n+i].summary=stud[n+i].c_program+stud[n+i].english+stud[n+i].math; stud[n+i].average=stud[n+i].summary/3; cout<<"该学生的总分为: "< "< gets(x);/*清除多余的输入*/ cout<<"=====>提示: 继续写入成绩? (Y/N)"; cin>>sign;/*输入判断*/ i++; } return(n+i); } voidDisplay(Studentstud[],intn)/*显示所有记录*/ { inti; if(! stud)cout<<"没有记录"; else{ cout<<"------------------------------------------------------------------------------------"< cout<<"班级学号姓名C++英语数学总分平均分"< cout<<"------------------------------------------------------------------------------------"< for(i=1;i { stud[i-1].summary=stud[i-1].c_program+stud[i-1].english+stud[i-1].math; stud[i-1].average=stud[i-1].summary/3; cout< } cout<<"\t\t\t"< system("pause"); } voidSort(Studentstud[],intn)/*按平均分排序*/ { inti,j,k; floats; chart[20]; 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].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].c_program; stud[j+1].c_program=stud[j].c_program; stud[j].c_program=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].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<<"---------------------------------------------------------------------------------"< cout<<"班级学号姓名C++英语数学总分平均分"< cout<<"---------------------------------------------------------------------------------"< for(i=1;i { stud[i-1].summary=stud[i-1].c_program+stud[i-1].english+stud[i-1].math; stud[i-1].average=stud[i-1].summary/3; cout< } } intInsert(Studentstud[],intn)/*插入一条记录*/ { charx[10];/*清除多余输入所用*/ cout<<"请输入学生的班级: "< cin>>stud[n].class_0; cout<<"请输入学生的学号: "; cin>>stud[n].number; cout<<"请输入学生的姓名: "; cin>>stud[n].name; cout<<"请输入该学生『C++程序设计』的成绩: "; cin>>stud[n].c_program; cout<<"请输入该学生『大学英语』的成绩: "; cin>>stud[n].english; cout<<"请输入该学生『高等数学』的成绩: "; cin>>stud[n].math; stud[n].summary=stud[n].c_program+stud[n].english+stud[n].math; stud[n].average=stud[n].summary/3; gets(x); n++; Sort(stu,n);/*调用排序函数*/ cout<<"=====>提示: 插入成功! "< return(n); } intDelete(Studentstud[],intn)/*按学号查找,删除一条记录*/ { ints; inti=0,j; cout<<"输入需要删除学生的学号: "< cin>>s; while((stud[i].number-s)! =0&&i if(i==n) { cout<<"=====>提示: 对不起,无法找到改学号……"< return(n); } for(j=i;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].c_program=stud[j+1].c_program; stud[j].english=stud[j+1].english; stud[j].math=stud[j+1].math; } cout<<"=====>提示: 已成功删除! "< return(n-1); } voidSearch(Studentstud[],intn)/*查找并显示一个记录*/ { ints; inti=0; cout<<"输入需要查找学生的学号: "< cin>>s; while((stud[i].number-s)! =0&&i if(i==n) { cout<<"=====>提示: 对不起,无法找到该学生的信息! "< return; } cout<<"---------------------------"< cout<<"班级: "< cout<<"学号: "< cout<<"姓名: "< cout<<"C++程序设计: "< cout<<"大学英语: "< cout<<"高等数学: "< cout<<"总分: "< cout<<"平均分: "< } voidModify(Studentstud[],intn) { ints; inti=0; cout<<"输入需要修改成绩学生的学号: "< cin>>s; while((stud[i].number-s)! =0&&i if(i==n) { cout<<"=====>提示: 对不起,无该学生的成绩……"< return; } cout<<"-----------------------------该学生的信息---------------------------------"< cout<<"班级学号姓名C++英语数学总分平均分"< cout<<"--------------------------------------------------------------------------------"< stud[i].summary=stud[i].c_program+stud[i].english+stud[i].math; stud[i].average=stud[i].summary/3; cout< cout<<"请输入学生的班级: "< cin>>stud[n+i].class_0; cout<<"请输入学生的学号: "< cin>>stud[n+i].number; cout<<"请输入学生的姓名: "< cin>>stud[n+i].name; cout<<"请输入该学生『C++程序设计』的成绩: "< cin>>stud[n+i].c_program; cout<<"请输入该学生『大学英语』的成绩: "< cin>>stud[n+i].english; cout<<"请输入该学生『高等数学』的成绩: "< cin>>stud[n+i].math; stud[i].summary=stud[i].c_program+stud[i].english+stud[i].math; stud[i].average=stud[i].summary/3; cout<<"该学生的总分为: "< "< } voidmain()/*主函数*/ { intn=0; for(;;) { switch(menu())/*选择判断*/ { case1: cout< n=Input(stu,n); break; case2: cout< Display(stu,n); break; case3: cout< Sort(stu,n);/*按学号排序*/ cout<<"排序成功! "< cout<<"\t\t\t"; system("pause"); break; case4: cout< Search(stu,n);/*插入一条记录*/ cout<<"\t\t\t"; system("pause"); break; case5: cout< n=Insert(stu,n);/*按姓名查找,删除一条记录*/ cout<<"\t\t\t"; system("pause"); break; case6: cout< Modify(stu,n);/*查找并显示一个记录*/ cout<<"\t\t\t"; system("pause"); break; case7: cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成绩管理系统