《程序设计报告》word版_第1页
《程序设计报告》word版_第2页
《程序设计报告》word版_第3页
《程序设计报告》word版_第4页
《程序设计报告》word版_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、福 建 農 林 大 學 東 方 學 院FU JIAN NONG LIN DA XUE DONG FANG XUE YUAN程 序 设 计 说 明 书姓名:王莉兰专业年级:10计科(2)学号:1060303094一.项目描述:一个简单的学生数据管理菜单系统问题描述设计一个简单的菜单系统,对不多于100人学生数据的管理。基本功能1) 学生信息,成绩录入并计算总成绩2) 成绩表输出3) 成绩查询4) 成绩统计(最高分,最低分及某一总分以上人数)5) 排序并输出6) 退出系统二.数据描述:结构体定义;struct wllstudent int wllxuehao; char wllname100; f

2、loat wllchinesescore,wllmathscore,wllenglishscore,wllsumscore;用宏明MAXNUM代替最大人数100;主要用到的函数及头文件:string.h ,include ,define;主要用到的变量:wllname(学生姓名),wllnum(学生考号),wllrenshu(学生人数)wlj,wllk,(循环计数)wllchinesescore,wllmathscore,wllenglishscore,wllsum,(语文成绩,数学成绩,英语成绩,总分),wllb(序号)三. 总算法及主要函数的算法1)录入函数 :begin 显示菜单 按1回

3、车 输入学生个数 if (wllrenhu>0&&wllrenshu<=100) cout<<"请分别输入这wllrenshu位学生信息" else wllrenshu=Maxnum 分别输入n位学生考号.姓名.成绩 录入完毕 2)成绩表输出函数: 按2回车 cout<<输出各科成绩情况输出完毕 3)查询学生成绩信息: begin cout<<"1、按学号查询" cout<< "2、按姓名查询 " cout <<3.结束查询” if (wllxuh

4、ao!=3)选择1或2输入要查询的学生的信息 else 选择输出结束查询 查询完毕I: 按学号查询:提示输入要查找的学号 wllswllk.wllnum for(wllk=0;wllk<wllrenshu;i+) if(wllswllk.wllnum=wllkaohao) 输出该学生信息 else cout<<输入错误,请重新输入 ENDII:按姓名查询:提示要输入的学生的wllswllk.wllname for(wllk=0;wllk<wllrenshu;wllk+) if(!strcmp(wllswllk.wllname,wllname) 输出该学生信息 else

5、输入错误,请重新输入 END 4)成绩统计函数:begin 按4回车 cout<<"输入要查询的总成绩分数线:" cout<<各科成绩的最高分和最低分以及总成绩在分数线以上的人数 统计完毕5)排序并输出函数:begin 按5回车 按考生总成绩从小到大输出所有学生信息6)退出管理系统:begin 按6回车 退出管理系统四.程序设计(源程序)#include<iostream.h> /*头文件声明*/#include<iomanip.h>#include<string.h>#define Maxnum 100 /*最大

6、人数*/struct wllstudent /*结构体数组*/int wllnum; /考号char wllname20; /姓名float wllchinesescore,wllmathscore,wllenglishscore,wllsum; /成绩;int wllinput(wllstudent wlls)int wllrenshu,wllj;cout<<"请输入学生人数:"cin>>wllrenshu;if(wllrenshu>Maxnum)wllrenshu=Maxnum;cout<<endl; cout<<&

7、quot; 请按要求输入学生信息"<<endl<<endl;for( wllj=0;wllj<wllrenshu;wllj+)cout<<"第"<<wllj+1<<"个学生信息"<<endl;cout<<"请输入考号:"cin>>wllswllj.wllnum;cout<<"请输入姓名:"cin>>wllswllj.wllname;cout<<"请输入语文成绩

8、:"cin>>wllswllj.wllchinesescore;cout<<"请输入数学成绩:"cin>>wllswllj.wllmathscore;cout<<"请输入英语成绩:"cin>>wllswllj.wllenglishscore;wllswllj.wllsum=wllswllj.wllchinesescore+wllswllj.wllmathscore+wllswllj.wllenglishscore; cout<<endl<<endl;return

9、 wllrenshu;void wllprint(wllstudent wlls,int wllrenshu) cout<<" 中考学生成绩表 总人数:"<<wllrenshu<<endl<<endl;cout<<setiosflags(ios:left)<<setw(15)<<"考号"<<setw(15)<<"姓名"<<setw(15)<<"语文成绩"<<setw(15)

10、<<"数学成绩"<<setw(15)<<"英语成绩"<<setw(15)<<"总分"<<endl;for(int wllj=0;wllj<wllrenshu;wllj+) cout<<setw(15)<<wllswllj.wllnum <<setw(15)<<wllswllj.wllname<<setw(15)<<wllswllj.wllchinesescore<<setw(

11、15)<<wllswllj.wllmathscore<<setw(15)<<wllswllj.wllenglishscore<<setw(15)<<wllswllj.wllsum<<endl;void wllchaxun(wllstudent wlls,int wllrenshu)int wllk,wllkaohao,wllc=0,wllb;char wllname20;do cout<<"="<<endl; cout<<"1.按考号查询"<

12、<endl; cout<<"2.按姓名查询"<<endl; cout<<"3.结束查询"<<endl; cout<<"请输入您所要选择的操作数(13):" cin>>wllb; cout<<endl; switch(wllb) case 1:cout<<"请输入您所要查询的考号:" cin>>wllkaohao; for(wllk=0;wllk<wllrenshu;wllk+) if(wllswl

13、lk.wllnum=wllkaohao)wllc=1;cout<<endl;cout<<"考号:"<<wllswllk.wllnum<<" "cout<<"姓名:"<<wllswllk.wllname<<" "cout<<"语文成绩:"<<wllswllk.wllchinesescore<<" "<<endl<<endl;cout&l

14、t;<"数学成绩:"<<wllswllk.wllmathscore<<" "cout<<"英语成绩:"<<wllswllk.wllsum<<" "cout<<"总成绩:"<<wllswllk.wllsum;cout<<endl;if(wllc=0)cout<<"您输入的考号有误,请重输!"<<endl; break; cout<<endl;

15、case 2:cout<<"请输入您所要查询的姓名:"cin>>wllname;for(wllk=0;wllk<wllrenshu;wllk+)if(!strcmp(wllswllk.wllname,wllname)wllc=1;cout<<"考号:"<<wllswllk.wllnum<<" "cout<<"姓名:"<<wllswllk.wllname<<" "cout<<"

16、;语文成绩:"<<wllswllk.wllchinesescore<<" "<<endl<<endl; cout<<"数学成绩:"<<wllswllk.wllmathscore<<" " cout<<"英语成绩:"<<wllswllk.wllenglishscore<<" " cout<<"总成绩:"<<wllswllk.w

17、llsum<<endl;if(wllc=0)cout<<"您输入的考号有误,请重输!"<<endl<<endl;break;cout<<endl;default:cout<<"您输入有误,请重输!"<<endl; while(wllb!=3);void wlltongji(wllstudent wlls,int wllrenshu) int wllk=0,wllfenshuxian;float wllmax1,wllmax2,wllmax3,wllmax4,wllmin1

18、,wllmin2,wllmin3,wllmin4;wllmax1=wlls0.wllchinesescore;wllmax2=wlls0.wllmathscore;wllmax3=wlls0.wllenglishscore;wllmax4=wlls0.wllsum;wllmin1=wlls0.wllchinesescore;wllmin2=wlls0.wllmathscore;wllmin3=wlls0.wllenglishscore;wllmin4=wlls0.wllsum; cout<<"输入要查询的总成绩分数线:" cin>>wllfenshu

19、xian;for(int wllj=0;wllj<wllrenshu;wllj+)if(wllswllj.wllchinesescore>wllmax1)wllmax1=wllswllj.wllchinesescore;if(wllswllj.wllmathscore>wllmax2)wllmax2=wllswllj.wllmathscore;if(wllswllj.wllenglishscore>wllmax3)wllmax3=wllswllj.wllenglishscore;if(wllswllj.wllsum>wllmax4)wllmax4=wllswllj

20、.wllsum;if(wllswllj.wllchinesescore<wllmin1)wllmin1=wllswllj.wllchinesescore;if(wllswllj.wllmathscore<wllmin2)wllmin2=wllswllj.wllmathscore;if(wllswllj.wllenglishscore<wllmin3)wllmin3=wllswllj.wllenglishscore;if(wllswllj.wllsum<wllmin4)wllmin4=wllswllj.wllsum; if(wllswllj.wllsum>=wllf

21、enshuxian)wllk+;cout<<endl;cout<<"语文最高分:" <<wllmax1<<" "<<"数学最高分:"<<wllmax2<<" "<<"英语最高分:" <<wllmax3<<" "<<"总分最高:"<<wllmax4<<" "<<endl;c

22、out<<"语文最低分:"<<wllmin1<<" "<<"数学最低分:"<<wllmin2<<" "<<"英语最低分:"<<wllmin3<<" "<<"总分最低:"<<wllmin4<<" "<<endl; cout<<"总成绩是分数线以上的人数为:&quo

23、t;<<wllk<<endl<<endl;cout<<endl;void wllpaixu(wllstudent wlls,int wllrenshu)cout<<"按总分排序"<<endl<<endl<<endl; wllprint(wlls,wllrenshu);for(int wllj=0;wllj<wllrenshu-1;wllj+)for(int wlli=wllj+1;wlli<wllrenshu;wlli+)if(wllswllj.wllsum>w

24、llswlli.wllsum)wllstudent wlltemp;wlltemp=wllswllj;wllswllj=wllswlli;wllswlli=wlltemp; void main()int wllxuhao,wllrenshu;wllstudent wllsMaxnum;cout<<"王莉兰 1060303094 10计科2班"<<endl;do cout<<" 中考成绩管理系统"<<endl;cout<<"="<<endl;cout<<

25、"1.成绩录入"<<endl;cout<<"2.成绩输出"<<endl;cout<<"3.成绩查询"<<endl;cout<<"4.成绩统计"<<endl;cout<<"5.成绩排序并输出"<<endl;cout<<"6.退出"<<endl;cout<<"="<<endl;cout<<"请选择执行序号(16):"cin>>wllxuhao;switch(wllxuhao) case 1:cout<<" 你选择了成绩录入"<<endl<<endl;wllrenshu=wllinput(wlls);break; case 2:cout<<" 你选择了成绩输出"<<endl<<e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论