




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习一好资料1问题描述学生成绩管理系统学生成绩管理系统学生信息包拾学期、学号、班级、姓名,和语文、数学、英语、计算机四门课成绩。并 按班级、学期查询学生成绩,并能录入、修改,求学生平均成绩和总成绩,输出不及格科目, 按班级输出成绩单,按班级对学生成绩进行排序。2系统分析2.1题目要求学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、 英语和计算机)。主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计 报表(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单(5)能
2、按班级,按课程,对学生成绩进行排序。要求:使用二进制文件方式存储数据,系统以菜单方式工作2. 2算法设计(1)创建主菜单(2)实现学生成绩信息录入(3)实现学生成绩信息修改(4)实现学生成绩信息查询(a)按学期、班级查询学生的成绩(b)按学号查询学生的成绩(c)查询不及格的科目和学生名单(5)实现学生成绩成绩统计(a)按班级统计学生的总分、平均分(b)按班级、课程对学生的总分进行排序(6)实现学生成绩信息浏览更餌耕品文档学习一好资料2. 3流程图2. 4关键问题难点:指针p、函数。解决:head=NULL无条件循环指针p指向新开辟的单元指针p是否为空是否输入学号p-num输出p-num是否为内
3、存是否溢出输入姓名p-name 更餌耕品文档学习好资料 停止 for(i=0;isum=s:菜单 p-average= (float) s/3;主 函 数:int main()新建函数:infor*init()输入函数:infor *creat()显示函数:stmct mfor *view(sti-uct infor *head)删除函数:infor *delete(infor *head)按名字寻找函数:void lookup(infor *head) 保存函数:void save(infor *head) 按总分排序函数:infor *sort(infor *head)计算总分和均分函数:
4、void zong(struct infor *head) 修改函:void chaiige(stHict infor *head)按学号排序函数:infor *index(infor *h)3系统实现3. 1题目一(源代码)# iiiclude# mclude#include define N 4struct uifbrint term;/定义学期(1或2)int no;/学号int clas;/定义班级(1或2班)char name9;/姓名float Chinese;/定义四门成绩float english;float math;float computer;更篦耕品文档学习一好资料st
5、inct uifor *lnik;;iiit n=0 ;*/函数功能:创建链表,录入学生的相关信息,此函数返回一个指向链表头的指针* stmct uifor *creat()stmct iiifbr *head=NULL.*p=NULL.*q=NULL;char c;fflush(stdm);printf (“是否要输入信息(y/n):);scanfV%c”.&c);p=q=(struet infor *)malloc(siz己of(struet infor); q=head;while(p!=NULL&c=V)n+;p=(struct infer *)inalloc(sizeof(stnic
6、t infor);printf (“请输入要录入学生信息的学期:”);fflush(stdin);学期若学期scanf&p-term);只能为1或2while(p-term!=l & p-tenn?=2)getcharQ;printf (“输入错误!请重新输入:”);不为1或2,则输入有误scanfC%d=&pKmi);printf(/z请输入要录入学生成绩信息的班级J;学习一好资料fflush(stdin);能为1或2scanf(H%d,&p-clas);while(p-clas!=l & pclas !=2)getchaiQ;printf (”输入错误!请重新输入:”);scanf(”d”
7、&pclas);printfC请输入该班的学生信息!n”); 信息(包括学号、四门成绩)printfC请输入学生学号:“);fflush(stdin);scanfp%d:&p-no);printf(请输入学生姓名:”);fflush(stdin);scanfp-name);名printfC*请输入语文成绩(0-100):); scanf(n%f&p-chuiese);printfC请输入数学成绩(0-100):”); scanfCf&pniatli);printfC*请输入英语成绩(0-100):);scanf(,%f&p-english);printfC请输入计算机成绩(0-100):”);
8、 scanff%F; &p-computer);if (n=l)head=p;elseq-luik=p;q=p;printfC是否还要输入信息(y/11):);fflush(stdm);scanfp%c”,&c);班级只输入学生/输入学生姓输入四门成绩创建新结点更多精品文档学习好资料q-link=NULL;return(head);链表结尾/链表返回头指*/函数功能:实现对学生信息的修改*void change(stiuct uifor *head)struct uifor *p=head;chai ch.m;char name 9 ;/定义一个数组,存储学生的姓名int num;if (p=
9、NULL) printf (”出错!请先输入学生信息! ”);wh订e(l)/设置循坏控制printfCttt请选择要修改的信息!tn”);prmtf ( tttn );/输出要修改的信息printf(ttta.学号:E);printf(tttb、姓名:n”);printf(tttc、班级:n”);printf(tttd、成绩:E);prmtf(tttfflush(stdin);/清盘scanfp%ct&ch);if(ch=,a,)printf (你要修改的信息是:学号恤”);姓名修改学号按输入找不到信息学习好资料printfC请输入你要修改的学生姓名:”); scanf(n%s,name);
10、if (strcmp(name,p-naine)=O)printfL请输入该学生新的学号:“);新学号scanf(”cT;&pno);else printfC无法查找到该学生!n“);else if(ch=b)学号修改该班级学生的信息printfC你要修改的信息是:姓名!n”); printfC请输入你要修改的学生的学号:“); scaiif(%d,&num);if(num二二p-no)件printfC请输入该学生的姓名:”);scanfpname);生姓名else printfC无法查找到该学生!n”);else if(ch=c)printfC你要修改的信息是:班级!n”);改班级按/输入学
11、号,判断条输入要做修改的学找不到信息按学号修printfC请输入你要修改的学生的学号J; scaiif(M%d,&num);if(num=p-no)学习一好资料printf(,z请输入该学生的班级门;的班级scanfC%d”,pclas);else printf (”无法查找到该学生!n”);else if(ch=,d,)printfC你要修改的信息是:成绩!S);修改成绩printfC请输入你要修改的学生的学号:”);scaiif(%d,&num);if (num=p-no)printf (“请输入该学生新的语文成绩:“);scaiif(M%fp-cluiiese);printf (“请输入
12、该学生新的数学成绩:“);scanf (“f, pmath);门成绩printf (“请输入该学生新的英语成绩:“);scaiif(H%fp-english);printf (“请输入该学生新的计算机成绩:“);scanf(M%fp-computer);else printf(无法查找该学生的信息!n);else printfC出错!nj;p=p-liiik;printf (,z是否还要继续修改信息(y/n):”);还要修改信息,跳出循坏fflush(stdm);if(m=getchai()=,n,)break;输入要做修改找不到信息/按学号/输入学号输入新的四找不到信息判断,是否学习一好资料
13、/函数功能:按照学号查询学生信息void checkno(stmct infbr *head)按学号查询学生的成绩stnict infbr *p;p=head;iiit nuni4=0;printfC请输入你要查询的学生学号:n”);scanf(”d;&num);if(num二二p-no)/输W);入学号,判断条件pdntf(”printf(H%dtH,p-term);printf(H%dtH,p-no);/输出学生的班级/输出四门成绩printf (,z%dt,z, p-clas);printf(H%st,p-name);printf (,z%lf t, p-Chinese);priiitf
14、(H%lffp-english); priiitf(H%lffp-computer); 】=2;if(i=0)学习好资料printfC没找到该学生的信息!”);找不到信息void checkclass(struct infbr *head)iiit banji,i=O;stmct uifbr *p=head;while (p!=NULL)/按班级查询学生的成绩printf (请输入你要查询成绩的班级:“);scanf(H%d,&banji);if(baiiji=p clas)printfC请输出d班所有同学的成绩二banji);H);printf (t学期t学号t班别t姓名t语文t数学t英语t
15、计算机讯n”); ir);printf (/z%dt,z, p-term) ;/输出要查询成绩的班级printf (*%dt,f pno) ;/输出查询成绩的学生学号printf (*%dt,f pclas) ;/输出要查询成绩的班级printfp-namE);/输出要查询成绩的学生姓名pnntf(” 1 ffp-cliHiese);printfp-math) ;/输出四门成绩pnntfC% 1 ffp-english);prmtf(n% 1 ffp-computer); prmtf(nnH);1=2;p=p-luik;更篦耕品文档学习好资料if(i=O)printf(*没找到学生信息! ”)
16、;找不到信息输出错误,void check term(s true t inf or * head) 数int xueqij=0;stmet iiifbr *p=head;while(p!=NULL)控制/定义按学期查找信息的函/设置循环按学期查询学生的成绩printfC请输入你要查询成绩的学期:”);scanf(,%d,&xueqi);if(xueqi=p-term)printfC请输出第1学期所有班级的信息门;pnntfCM);printf(t学期t学号t班别t姓名t语文t数学t英语t计算机tn“);曲);/输出姓名pnntfp pnntff%dLp 忙 mi); priiitf(n%dt
17、,p-no); priiitf(n%dt,p-clas); printfp-name);piintfp% 1 ffp-chmese);pnntfp% 1 ffp-niath);printf (,z%lft,z, p-english) ;/输出四门成prmtf(n%lf.t,p-computei);pnntfCiT);学习好资料1=2;p=plink;if(i=O) printfC没找到学生信息! ”);void norich(struet infor *head)的学生stmet uifbr *p;p=head;int nuni4=0:float toa;printfC请输入要查询成绩的学生学
18、号:”);scanf(H%cl,&num);if(num=p-no)printfC正在查询该学生的成绩,请稍侯n);输出不及格的科目while(p!=NULL)if(p-chmesemathenglishcomputer0)printf(%s同学共有d门成绩不及格!11学号是:%dn,p-name,i.p-no);prmtfCXn);toa=p-ciimese+p-niatli4-p-english+p-computer;if(toanaine);输出不及格的学生名单p=p-liiik;void search(struct infor *head)/定义一个查询学生信息的函数,调用各子函数,进
19、行查询更餌耕品文档学习一好资料char k,ch;stmct uifor *p=head;wh订e (p !=NULL)设置循环控制条件/输出查询方式printf(ttt你要选择何种方式查询成绩!n”);printfCttta.学号:E);printfCtttb、班级:n”);printfCtttc、学期:n”);printfCtttd、不及格的学生:E);t/ ) *fflush(stdin);sccmfV%c;&k);switch(k)case a :checkno(head) :break;/调用学号函数case ,b,:checkclass(head);break;case check
20、tenheadjibreak;case ,d,:norich(head);bieak;pnntffE);printf (“是否还要继续查询学生的信息(y/n):”);fflush(stdin);if (ch=getchar 0) =,n)break;/跳出循环,返回主菜单*/函数功能:对学生成绩进行统计,按班级求总分及平均分*学习好资料void zong(struct infor *head)平均分对该班级的学生成绩求总分、float toa=0,ave=0;mt i=0;stmct iiifbr *p=head;while(p!=NULL)toa=p-chinese+p-math+p-eng
21、lish+p-computer;输出学生的总分和平均分成绩ave=toa/N;printfC 第(1 个学生的总分为:%lf!n”,i+l,toa); prmtf(iiH);printfC第4 个学生的平均分:%lf!n,i+l,ave);printfC已经统计了第d个学生的成绩!5”,1+1);完毕i+;p=plink;个结点统计/指向下一void paixu(struct infor *head)对该班级的学生成绩进行排序mt 1=0 j;float a10一, t; struct uifbr *p=head;while(p!=NULL)把结点信息输入到数组,然后排序ai=p-clunes
22、e+p math+p computeT+penglish;1卄;学习好资料p=p-liiik;for(j=0;j4;j+) foi(i=0;i3-j;i+) if(aiai+l) t=ai; ai=ai+l;ai+l=t;i卄;for(i=0;iterm);printf(“dt, p-no);printf(“dt, p-clas);printf (“ft, p-chinese);pnntff% 1 ft”pmath);printf” lffpenglish);pnntf(” 1 ft”pcomputeQ; p=p-liiik;pnntfTn”);prmtf(H学习好资料retuin(head)
23、;*/将信息存入磁盘文件e:xys.txt,该文件是一个文本文件*void save(stmct uifbr *head)FILE *fp;stmct uifbr *p=head;fj?=fbp 亡 iiCdxystxtTw+J; while(p!=NULL)fvwite(p,sizeof(stnct uifor) J.fp); p=p-liiik;fclose(fp);printf (数据存盘成功!n”);/定义文件指针/关闭磁盘文件*void main()stmct uifor *head; iiit sei;do菜单创建学习一好资料printfCtt 学生成绩信息管理系统 n”);信息导
24、入n”);信息修改n”);信息查询n”);信息浏览n”);统计成绩n”);printf (z,tttlprintf (z,ttt2printf (z,ttt3 printf (z,ttt4 printf(ttt5printf (,zttt6 数据存盘 iT);printf (,ztttO 退出系统 iT);printf (z,请选择:lf);调用函数switch(sel) case 1:head=creat();break;case 2:change(head);break;case 3 :search(head);break;case 4:view(head);break;case 5:de
25、al(head);break:case 6:save(head);break;case 8:printf (,znntttt再见!iiiinM);break; wliile(sel!=O);4系统测试4.1如何设计测试数据先输入学期、班级,再输入学生信息(学号、语文、数学、英语、学习一好资料计算机成绩(限定在100以内);再查询成绩可以按学号、班级、 学期查询;同样修改可以按学号、班级、学期修改4.2系统测试过程(1)测试数据1及测试结果4系统测试4. 1如何设计测试数据先输入学生班级、学期,再输入学生信息(学号、姓名、语文、数学、计算 机成绩邙艮定在100分以内);可以按学期、班级、学号查询
26、成绩;同样也可 以按学期、班级、学号修改成绩;能求总分和平均分。4.2系统测试过程(1)测试数据1及测试结果登陆界面:更多精品文档学习好资料学生应绩信息管理系统貢 CDQCUMElADMINI“LCKAL5“TEmpRaF$EXQQ688 生成銭営輕来竦Debug 学生成裁12345Z 62 0入改询盘统 导修查浏成存3系 绩绩绩绩计7据m出 成成成成统数退B tty 先J % TA 请输入信息:学习一好资料1口1乂1cC:Documents and 5ettingsAdministratorffi生成瘦管理系SE.ee学生成绩信息管理系统12 3 4 5 26数据存盘YZZZZZZZZZZZ
27、0退出系统y対信I :自心绩自3 成信0lwd7-1-10 生生000绩自心 息筈盍古万名绩绩绩成信 信人入肉学姓戍戍戍机八 入录录班生生文学语屠 :1输要要该于语数英计要 择要入入入入入入入入入还 选否否 请 曰 疋请请注冃请洼冃请请注 冃请是5 6 5 :9 9 9)00 0 0 1 d 0 0 0 -/X输入成绩:-inlxica C:Documents and Setting或Administrator、奠而学生成裁管3S系统wxry的信- ):息绩息/n信成信:y 書心):):00):的信?d000000-l/n自心01wd-l7 70y信 I0(00绩息生生生= 亏名绩绩绩成信畫盂
28、古万名绩绩绩成信 竽姓成成成赍入入的学姓成成成肌八 一生文学语畫学语数亠矢计要 入入入入入还0 n d 0 0 0-1/ 1 d 1 1 1 0 y 0 u - 一 - 0 0 0绩息注嗚曰疋请注洞请请注请请注嗚请曰疋请请请请请请请请请曰疋=1更篦耕品文档学习好资料查询成绩:口|凶0c C:Documents and SettingsAdministrator%ffl学生成藪管理系 ft.exe2成绩修改3成绩查询IX- 、!-11 U.452AMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMVAMV6数据存盘0退出系统ZZZZZZZZZZZZZZZZZZ
29、ZZZZZZZZZZZZZZZ23成绩查询c C:Documents and SettingsAdministrator面、学生成銭管理系统曲2 186.000000v/dd96.00000095.00000093.000000Jn|x3学期学号班别姓名语文数学英语计算机1 1 198.000000wdd95.00000096.00000095.0000002 1 186.000000wdd96.00000095.00000093.000000学生成绩信息管理系统(vrvrvrvrvrvrvrvrvrvrvrvrvrvrvrv AWfvrvrvrvrvrvrvrvrvrvrvrvrvrvrvZ
30、ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ学生咸绩信息管理系统ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ入改询 导修查浏成 绩绩绩绩计 成成成成统0退出系统ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ坍选择3你要选择何种方式查询成绩辛rvrvrvrvojfvrvrvrvrvrvrvrvrvrvrvrvrvajfvrvrvrvrvrvrvrvrvrvrvrvrvajfvrvrvrvrvrvrvrvrvrvrvrvrvajC、于悶:也不及格的学兰:ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ学习一好资料Jnlxic- C:Documents and Setting或Administrator更而学生成铁管SSc.exe/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/vrjrv/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/v/vb、C、子悶:仏不及格的学生:rvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvajfvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrvrv入询息自3杳- 查信任第 入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国网卡项目创业计划书
- 中国土沉香项目创业计划书
- 中国核酸检测POCT项目创业计划书
- 中国矿泉水电商项目创业计划书
- 中国伞形科项目创业计划书
- 中国计算机软硬件项目创业计划书
- 中国观赏苗木项目创业计划书
- 2025合伙投资合同协议书
- 中国尿液分析仪器项目创业计划书
- 中国鲷鱼淡水养殖项目创业计划书
- 抖音电商直播运营团队KPI绩效考核管理办法【部分岗位绩效指标相同要求所有岗位KPI不一样的请勿下载】
- 幼儿园省一类自评报告
- 《外科常见急腹症》课件
- 楼宇电气系统安全检查表
- 存在问题原因分析及整改措施
- 文员职业发展规划
- 干部履历表(中共中央组织部2015年制)
- 广东省广州市2023年中考物理试卷
- 新版机动车检测全部记录表格
- 数学教育概论 第3版
- 北师大版二年级数学下册《最喜欢的水果》教案及教学反思
评论
0/150
提交评论