还剩36页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计汇报书学生成绩管理系统班级学号:姓名:指导老师:struct studentchar cla
[10];〃班级char term[10_;〃学期char name[10_;//姓名char no
[10];//学号float ch;〃语文float ma;〃数学float en;〃英语float com;〃计算机};struct dataintcount;//目前学生数组中学生的个数struct studentstu[MAX];//学生数组}dd;//显示主菜单void menusystem〃cls〃;printf〃\t\t\t************************************\n〃;*\n〃;学生成绩管理系统*\n〃;
[0]退出*\n〃;查看所有学生信息*\n〃;输入学生记录*\n〃;
[3]修改学生记录*\n〃;
[4]查询(班级)*\n〃;查询(不及格记录)*\n〃;
[6]成绩记录*\n〃;*\n〃;*\n〃;printf〃\t\t\t************************************\n〃;//等待顾客按回车后回到主菜单void to_menu charcl,c2;printf〃\n\n\n按回车键返回主菜单...〃;scanf〃%c%c〃,cl,c2;menu;}//查看所有学生信息void viewdataOint i;printf(〃班级\t学期\t姓名\t学号\t语文\t数学\t英语\t计算机〃);printf〃\n----------------------------------------------------------------------------------------------------------------\n〃;for i=0;idd.count;i++printf z,%s\t%s\t%s\t%s\t%.lf\t%.lf\t%.lf\nz,,dd.stu[i].cla,dd.stu[i].term,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ch,dd.stu[i].ma,d d.stu[i].en,dd.stu[i];//将数据从构造体数组保留到文献中void save dataOFILE*fp;int i,k;k=dd.count;fp=fopen z,c:/dada.txt〃,〃w〃;fwrite k,sizeof int,1,fp;fori=0;ik;i++fwritedd.stu[i],sizeofstruct student,1,fp;fclose fp;}//输入学生记录按班级和学期void add_data{struct studentst;int b;int i,k,j;char term
[10],cla
[10];printf〃请输入所要录入的学生的I班级〃;scanf〃%s〃,cla;printf〃请输入所要录入的学期〃;scanf〃%s〃,term;while⑴j=o;printf〃\n请输入学生信息〃;printf〃\n姓名\t学号\t语文\t数学\t英语\t计算机〃;printf〃\n-----------------------------------------------------------------------------------------------------\n〃;scanf/z%s%s%f%f%f%f/z,st.name,st.no,st.ch,st.ma,st.en,st;for i=0;i〈dd.count;i++if strcmpdd.stu[i].no,st.no==0strcmpdd.stu[i].term,term==0if strcmpdd.stu[i].no,st.no==0printf(〃\n信息已存在,请重新输入!\n〃);j=l;break;if j==lcontinue;ifj==0{k=dd.count;strcpy dd.stu[k].cla,cla;strcpy dd.stu[k].term,term;strcpy dd.stu[k].name,st.name;strcpy dd.stu[k].no,st.no;dd.stu[k].ch=st.ch;dd.stu[k].ma=st.ma;dd.stu[k].en=st.en;dd.stu[k]=st;dd.count++;printf〃\n\n继续添加学生信息[l-yes0-no]:〃;scanfb;ifb==0break;}save_data;//将数据从文献读到构造体数组中void read_data{FILE*fp;int i,k;struct studentst;k=0;if access〃c:/dada.txt,0==-l//假如文献不存在fp=fopen z/c:/dada.txt〃,〃w〃;fwritek,sizeofint,1,fp;fclose fp;}fp=fopen z/c:/dada.txt〃,〃r〃;fread k,sizeof int,1,fp;dd.count=k;for i=0;ik;i++freadst,sizeof structstudent,1,fp;strcpydd.stu[i].cla,st.cla;strcpy dd.stu[i].term,st.term;strcpy dd.stu[i].name,st.name;strcpy dd.stu[i].no,st.no;dd.stu[i].ch=st.ch;dd.stu[i].ma=st.ma;dd.stu[i].en=st.en;dd.stu[i]=st;fclosefp;//修改学生成绩记录(按班级和学期)void edit_data()(char cla
[10],term
[10];int i;float ch,ma,en,com;printf(〃请输入所要修改记录日勺班级〃);scanf(〃%s〃,cla);printf(〃请输入所要修改记录日勺学期〃);目录
1、题目规定--------------------------------------------
12、设计思想--------------------------------------------
33、系统完毕功能及框图----------------------------------
34、界面设计--------------------------------------------
45、关键算法及阐明--------------------------------------
76、结论-------------------------------------------------
167、参照资料---------------------------------------------
168、后记-------------------------------------------------16for i=0;idd.count;i++if strcmpdd.stu[i].cla,cla==0strcmpdd.stu[i].term,term==0printf〃\n姓名%s,学号%s〃,dd.stu[i].name,dd.stu[i].no;printf\n请修改学生数据:〃;printf〃\n语文成绩〃;scanf〃%f〃,ch;dd.stu[i].ch=ch;printf\n数学成绩〃;scanf〃%f”,ma;dd.stu[i].ma=ma;printf(〃\n英语成绩〃);scanf〃%f〃,en;dd.stu[i].en=en;printf\n计算机成绩〃;scanf%f〃,com;dd.stu[i]=com;printf〃\n\n编辑学生记录成功!〃;}savedata;}//按班级输出成绩单void query_data_cla{int i;char cla
[10];printf(〃\n请输入要查询成绩的J班级〃);for i=0;i〈dd count;i++・if strcmpdd.stu[i].cla,cla==0printf〃班级\t学期\t姓名\t学号\t语文\t数学\t英语\t计算机〃;printf〃\n\n〃;printf z/%s\t%s\t%s\t%s\t%.lf\t%.lf\nz/,dd.stu[i].cla,dd.stu[i].term,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ch,dd.stu[i].ma,d d.stu[i].en,dd.stu[i];〃查询不及格科目的I学生名单void query_data_pass{int i,s=0;char cla
[10],term
[10];printf〃请输入所要查询的班级〃;scanf〃%s〃,cla;printf〃请输入所要查询的学期〃;scanf〃%s〃,term;for i=0;idd.count;i++if strcmpdd.stu[i].term,term==0strcmpdd.stu[i].cla,cla==0printf〃\n姓名%s,学号%s日勺不及格科目有〃,dd.stu[i].name,dd.stu[i].no;if dd.stu[i].ch60{printf〃语文\t;s++;}s=0;if dd.stu[i].ma60{printf〃数学\t〃;s++;}s=0;if dd.stu[i].en〈60{printf〃英语\t;s++;}s=0;if dd.stu[i]60{printf〃计算机\t〃;s++;}s=0;if s=0printf〃0科〃;〃成绩记录按班级和学期求总分和平均分void count_data{charcla
[10],term
[10];int i,k=0;float sum
[4]={
0.0},average
[4];printf请输入所要记录记录日勺班级〃;scanf〃%s〃,cla;printf〃请输入所要记录记录的学期〃;scanf〃%s〃,term;for i=0;idd.count;i++{if strcmpdd.stu[i].cla,cla==0strcmpdd.stu[i].term,term==0k++;sum
[0]+=dd.stu[i].ch;sum[l]+=dd.stu[i].ma;sum
[2]+=dd.stu[i].en;sum
[3]+=dd.stu[i]average
[0]=sum
[0]/k;average[l]=sum[l]/k;average
[2]=sum
[2]/k;average
[3]=sum
[3]/k;printf(\n所查询%s班级%s学期的各科总分为\n〃,cla,term);printf(〃语文\t数学\t英语\t计算机〃);printf(〃\n-----------------------------------------------------------------------------------------------------------\n〃);printf(z/%.lf\t%.lf\t%.lf\t%.lf\t,z,sum
[0],sum[l],sum
[2],sum
[3]);printf(〃\n所查询%s班级%s学期的I各科平均分为\n,cla,term);printf(〃语文\t数学\t英语\t计算机〃);printf(〃\n\n〃);printf/z%.average
[0],average
[1],average[2average
[3];}//主函数void main{int fun;read_data;menu;while1printf请输入功能号[0-8]:〃,fun;scanf〃%d〃,fun;switch funcase0://退出break;case1://查看所有学生信息view_data;break;case2:〃按班级和学期输入学生记录add dataO;break;case3://按班级和学期修改学生记录edit_data;break;case4://查询按班级query_data_cla;break;case5:〃查询不及格学生及科目按照班级和学期query datapass;break;case6://成绩记录按班级和学期求平均分和总分count_data;break;}iffun==O break;to menu;}有关程序分析
1、查看所有学生信息先定义有关变量,然后设计输入输出程序输出所要查询的东西,并设计好输出的形式,这是很重要的一点这样就可以查看到所有已存的学生信息了
2、按班级查询同样先定义变量,然后按照规定设计所要输出的文字重要应用for循环对已存的所有日勺学生信息进行输出摘要学生成绩管理系统提供了强大的学生成绩管理管理功能,以便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同步同样的I方面学生对自己各科成绩查询,学习的交流.伴随科学技术的不停提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用时一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的长处.、题目规定1题目七学生成绩管理系统设计学生成绩信息包括学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等
3、查询不及格日勺记录同样还是先定义变量,设计出要按照班级和学期查询不几种同学的记录对于每一科又要进行验证因此波及到了S++,最终还要有S=0的设计,是由于每一种同学均有四科成绩,S++后就变化了运来时值,因此没计算完一种同学后都要归零、结论6通过这次小组亲自编写较大的程序,使我更好的掌握了某些函数的应用是自己更彻底时懂了这些函数的作用,这对后来再编某些其他的程序奠定了良好日勺基础同步也是自己对这些程序有了一定日勺记忆和一定的编程能力好处有诸多,中途会碰到某些困难,例如不知用那一种函数、怎样将信息保留到构造体变量中等等有了问题就要处理因此就去问同学或是老师,是自己可以弄懂并可以对的欧I编写出程序同步这也证明了团体的力量是无穷的还可以学到某些书本学不到的东西总之这次的编程使我收获很大、参照资料7《C程序设计》谭浩强第三版2023年7月清华大学出版社《TURBO C实用大全》徐金梧2023年8月机械工业出版社《C语言程序设计》王声决2023年8月中国铁道出版社《C程序设计题解与上机指导》谭浩强第三版2023年7月清华大学出版社C语言程序设计应用教程》刘玲2023年1月西南师范大学出版社、后记8在与同组同学反复研究改编和老师的耐心提醒下,这段时间的功夫终于没有白费不仅巩固了这六个月来所学的有关C语言日勺知识点,把他们系统化,融会贯穿,并且让我再次学会了诸多东西,知识面也得到拓展理论结合实际,把所学综合应用到实际问题中,极大提高了我们对这门课的爱好在指导老师康亚男的耐心教导和细心提醒下,我们的程序有了更深入的完善,让我们在枯燥的学习生活的同步有感受到了老师的责任心这更让我们有信心把这份工作做好重要功能:1能按学期、按班级完毕对学生成绩日勺录入、修改2能按班级记录学生的成绩,求学生的总分及平均分3能查询学生成绩,不及格科目及学生名单4能按班级输出学生的成绩单规定使用二进制文献方式存储数据,系统以菜单方式工作、设计思想2我们设计的学生成绩管理系统共有7个功能,所波及到的函数有按回车返回主菜单、查询、保留、输入、修改、输出、记录等等这是一种有关学生成绩的管理系统,因此就会波及到一系列问题,例如去各科成绩的总和、平均值、不几种学生的科目及对应的成绩这个程序的整个思绪就是按照规定写出对应的I程序并使之可以运行首先,写出所有可以用到时库函数,并设计出可以显示主菜单的程序另一方面按照主菜单设计出所有的有关程序再次,由于这个程序会用到构造体因此会波及到“将数据从构造体数组保留到文献中”、“将数据从文献读到构造体数组中”这两个程序为了使程序更完美还波及了主函数的显示最终,就可以按照主菜单进行一系列的操作其实,这些程序的设计都是根据此前学过时只是进行欧I简朴的程序的叠加没有什么可以胆怯或是紧张口勺、系统完毕功能及框图3退查输修按查成出看入改班询绩程所学学级不记序有生生及录查同记记格询学录录同成信学息、界面设计
4.•«^L•«^L•«^L•«^L•«^L•«^L•»^L•«^L•»^L•«^L•«^L•«^L•«^L••A•«^L•«^L•«^L•«^L•»^L•«^L••«^L•«^L•«^L•«^L•»^L•«^L••A•«^L•«^L•«^L••T••T••T••,•Y■•T•,T■•••T••T••T••Y••T••T•,T■,■••Y••T••T•■T••T••T••T••T••T••T••T••T••T••T••T••T••T••T••T•••***学生成绩管理系统**退出*查看所有学生信息*输入学生记录*修改学生记录*查询(班级)*查询(不及格记录)*成绩统计**♦♦A•«^L•••A•«^L•«^L•«^L•«^L•«^L•«^L••A•«^L•«1«•«^L•«^L•«^L••A・•A・•A•«^L•«^L•«^L•«^L••A・•A•«^L•«^L•«^L•«^L•«^L•»^L••A・«^L•«^L•♦T•・丫,・丫,■,•T•・丫,・丫・,■•T■••T••T,・丫,‘T,.T•T,・丫,•T•・丫,•・T^T■・T・・丫・.T,T.济输入功能号主菜单*******rLrLrLrLrLrLTJTJTJTJuuTJ0123456rL・▲•・▲•・A,・A,・4•・A・,A••4••A••i••i••A**A**A**^,•A••i••i••i•■i••i••i••i•■i■•i••i••*^F•»^r•••Y•••Y••Y•••Y•**学生成绩管理系统****
[0]退出♦*
[1]查看所有学生信息**
[2]输入学生记录♦*
[3]修改学生记录**
[4]查询(班级)**
[5]查询(不及格记录)**
[6]成绩统计****«^L«•«^L••«^L•«^L•»^L••A•«^L••A•»^L•«^L•»^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L•»^L•«^L•«^L•«^L•«^L•«^L•«^L•«^L••(••j••J•,1••i••»••1•,I••J••(••(••I••|••J••j••••I•,■,,■•,1••1,•1••■•••**1,*■••1••1•,■**■,*■,•I•,■,•■••I,,■•话输入功能号[0-8]:1班级学期姓名学号语文数学英语计算机23wo
2278.
065.
078.
066.034bu
3478.
056.
078.
099.0接回车键返回主菜单.・・«^L••A••A••A•«^L»•A•«^L»•1••4••A••A••1••▲••人•・A・,A・•A••A••1••1••A••A••A••A••A••A••A••A»•A••A••A••A•I-J-1jj1y•jj-•丫•丫■--j]j-,•1j-1y*♦♦*学生成绩管理系统♦*
[0]退出**♦
[1]查看所有学生信息♦
[2]输入学生记录**
[3]修改学生记录♦*
[4]查询(班级)♦*
[5]查询(不及格记录)**
[6]成绩统计♦♦•«^L••A•«M»・A•・A・・A•・A•・A•«1»•A•・1・・A・・A・•A•・A•・A・・A♦•A♦«^L•・A♦・A・・A•・A・・A♦•A•・A•・A♦«^L•・A•・A•・A•・A・«^L•・A•♦[••T••T•・T,•••Y,•丫,,T,T•T••T••T••T••Y••••Y••T••T••••Y••T••T••••T••丫,•T•,••T,•T•丫,•••T,•丫,・T,•1■话输入要查询成绩的班级2班砥学期姓名学号语文数学英语计算机23wo
2278.
065.
078.
066.0接回车键返回主菜单・・•*8••1•••A••A••A••4••A••A••I••A»•4••1••1••1••A••11••A••i••A••A••A••A••i••A••A••A••4••,A,a^La•1•-y-y-j-y-•]•J•]-jY y-j••,j,•Y••Y-***学生成绩管理系统***退出*查看所有学生信息*输入学生记录*修改学生记录*查询(班级)*查询(不及格记录)*成绩统计***a^La,4,•A«•A••A••A••A»•A••1••A••1••A••A••A•«^L«•A••A•«^L»«^L»•4••1••▲•••••A••A••丫•・丫,•Y,•Y,•Y,,^r••«^r••«^r•»^r•・Y••Y••Y•・•丫,・Y,••・Y,・Y・•Y••Y••T・,Y••Y••T••Y,•Y,•,.Y,,^r,,•清输入功能号[0-8]:5话输入所要查询的班级3话输入所要查询的学期4姓名bu,学号34的不及格科目有数学0科按回车键返回主菜单・・・运行后界面
5、关键算法及阐明5ftinclude stdio.h#include io.h#include stdlib.h#include〈string.h^define MAX300*******rLrLrLrLrLrLrL0123456TJTJTJTJTJTJTJ。
个人认证
优秀文档
获得点赞 0