下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告课程名称C语言程序设计课题名称班级成绩管理系统专业班级学号姓名指导教师湖南工程学院课程设计任务书课程名称C语言程序设计课 题 班级成绩管理系统专业班级学生姓名学号指导老师审批任务书下达日期年 月日任务完成日期目录一、引言 0二、总体设计 1三、详细设计 3四、问题分析及总结 13五、参考文献 15六、附件 15一、设计内容与设计要求1. 设计内容:班级成绩管理系统设计涉及的知识点:掌握并熟练运用 C 语言的基本数据类型与各种表达式, 程序的流程控制语句;掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。掌握函数的定义,函数的返回值
2、,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。2. 设计要求:1) 用 C 语言实现系统;利用结构体数组实现班级成绩的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观;各项显示数据均要求以表格的形式输出;在各功能子模块中应设计相应的二级菜单。2) 建立一
3、个班级学生成绩数据库,文件名为 bjcjk.txt ,并从该文件中读取数据;3) 班级成绩管理系统应能提供以下功能:(1)主菜单界面设计。 通过提示用户输入一个数字选项, 调用相应的功能函数。(2)学生成绩显示:完成班级全部学生成绩的显示, 显示时按表格的形式, 且应有表头;(3)学生成绩追加:完成新增一个(或多个)学生的成绩记录,要求在追加过程中有相应的提示信息,完成追加后能重新计算学生平均成绩并显示;(4)学生成绩修改:要求能按学号和按姓名两种定位方式,且可以按用户要求修改记录中除学号和姓名以外的指定内容,并重新计算学生的平均成绩;(5)学生成绩信息的查询; 要示系统能按学号、 按姓名查询
4、以及能查总分在某一指定范围内的学生信息,且能显示符合条件的所的记录,若所需查询的信息不存在时应有相应的提示信息。(6)学生成绩信息的删除;要求可按指定的学号和指定的姓名两种定位方式删除学生的成绩记录。(7)要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。(8)成绩排序:按学生平均成绩进行排序;(9)成绩统计:统计并以表格的形式显示所有课程的平均分;统计并显示选定的某门课程的平均分以及超过该平均分的人数,同时 能将超过该平均分的学生记录以表格的形式显示出来。4) 说明:(1) 要求将修改后的数据写入到一个新的数据文件nwejck.txt 中。(2) 对系统
5、有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。5) 班级成绩管理系统采用一个结构体数组,学生成绩数据库结构如下:int xh/*学号 */char name10/* 姓名 */double yy/* 英语 */double mat/*数学 */double jsj/* 计算机 */double wl/* 物理 */double zf/* 总分 */注意:学号不能重复且不少于4位数字,各项字符串的长度要求在 410之间,数据库应有 10 条或多于 10 条以上的记录。6) 要求: 要求每个学生必须独立思考, 认真并按时完成本课程设计所包含的所有内容 ; 要求学生必须按照课程设计报告
6、的完整格式说明设计内容, 设计任务分析过程和算法,给出程序流程图和全部源程序 ; 设计报告的完整格式应包括以下部分的内容: 系统设计总体思路; 系统的主要功能; 系统功能模块的划分(要求画出总体模块框图) ; 主要功能的实现和各个程序模块说明(每个功能模块的框图统主模块的流程图,各个功能模块至少要有一个主要的流程图) ;程序调试过程及各模块调试中相应的部分截图7)分组及安排所选题目根据学生班号和学号确定, (班号+学号)% 6+1。 如你的班号为 01班、学号为01,则所选题目号为:(1+1) %6+1 = 3,即课题号为3。8)成绩评定系统设计方案是否合理; 程序设计是否正确; 调试结果;
7、设计说明书的质量高低; 答辩时回答问题情况; 课程设计周表现情况; 总评成绩记入“课程设计成绩评分表”进度安排星期五8 :0012: 00第 17 周 星期三19: 0022: 00星期四14: 0018: 00星期五8 :0012: 00第 16 周 星期三 14 : 00 17: 00讲课、布置任务机房上机调试程序机房上机调试程序机房上机调试程序机房上机调试程序、答辩附:课程设计报告排版、打印和装订要求1. 课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分表。按A4 大小的纸张排版和打印。2. 设计报告的页码从目录之后开始使用;3. 正文的格式: 一级标题用 3号黑体 , 二级标
8、题用四号宋体加粗 , 正文用小四号宋体;行距为22磅。正文中程序清单(英文)用英文字体Times New Roman单倍行间距。4. 正文的内容: 一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图) ;三、主要功能的实现(至少要有一个主要模块的流程图) ;四、程序调试(各模块至少有一个程序调试的截图) ;五、总结(不少于 500 字) ;六、参考文献; 七、附件(包含所有程序的原代码, 且程序中应有必要的注释) 。 八 . 正文总字数要求在5000 字以上 (不含程序原代码) 。5设计报告中任务书和评分表不需重新排版。、引言1.1 前言C 语言课程设计是对学生的一种全面综合训练,它
9、包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧的培养。是与课堂听讲、自学和练习相结合的必不可少的一个环节。课程设计的课题比平时的习题复杂得多,也更接近实际。全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函 数和C语言基本图形编程等方法,把编程和实际结合起来,熟悉编制和调试程序的技巧, 掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。1.2 设计目的随着电脑技术的发展越来越快,管理系
10、统得到人们广泛的应用。本课题中编写班级成绩管理系统主要是为了方便我们能更加高效快捷地管理学生的各项成绩信息, 能够对学生成绩进行追加、修改、删除等操作。并能对输入的数据进行平均分、总分的计算以及总分的排序,进而清楚明朗地显示出来。二、总体设计2.1 主要功能主要实现对学生成绩信息实现成绩的显示, 成绩的追加, 成绩的修改, 成绩的查询,成绩的删除,成绩的排序和统计等功能。班级成绩管理系统具体提供以下功能:a、成绩显示:完成全班同学全部学生成绩的显示,以表格形式显示出来,并带 有表头。b、成绩追加:新增学生成绩记录,在追加过程中有相应的提示信息并实现连续 追加的功能。追加成功的成绩能重新计算学生
11、的平均成绩并显示。c、成绩修改:实现按学号修改和按姓名修改两种修改方式,并可以对指定的学 生的各科成绩进行修改,修改过程中有相应的提示信息。修改后能重新计算学生的平均成绩。d、成绩删除:对指定的学号或者指定的姓名进行定位删除,并有相应的提示信 息。e、成绩查询:对指定的学号或指定的姓名进行定位查询,并能显示出符合条件 的查询结果。查询的信息不存在时有相应的提示信息。f 、成绩排名:按学生平均成绩进行排序,并以表格形式显示。g、成绩统计:以表格的形式显示所有课程的平均分,并显示选定的某门课程的平均分以及超过该平均分的人数, 同时将超过该平均分的学生记录以表格的形式显示出来。2.2 功能模块划分(
12、1)本程序由八个模块构成,其中主模块是由系统函数搭建而成,其重要功能是显示 出功能主菜单,由用户作出选择进入子菜单。在子菜单中操作完毕后,能够准确返回到 功能主菜单。系统主要模块流程图如下:(2)模块说明主界面 main() 显示模块Disp()追加模块Appe()修改模块Modi()删除模块Dele()查询模块 Query() 排序模块Sort()统计模块Total()退出模块Quit()用户选择界面显示所有学生的成绩信息 添加学生成绩信息修改学生某项成绩信息删除学生某项成绩信息查询学生成绩信息按成绩总分排序统计各科目平均分信息 退出系统并保存信息三、详细设计3.1主要功能的实现(下面以追加
13、模块和修改模块为例)(1)追加模块流程图3.2程序调试(2)修改模块流程图结束各模块运行步骤及界面3.2.1 功能主菜单选择界面3.2.2 显示模块(输入“1”进入全班成绩显示菜单)1全班学生成绩表学号姓名英语数乱计算机物理总分平均分281301李军70.070.085,0307.076.8201302吴雨羊97.092.090.095.0374.093.52013B3赵娜88.09&-0se.e8S.3338 .084.5201304刘宇85,690.071.3336 ,084.D201305曹领80.0皿的皿g92,0332.083.0201306湛静90.082.070.0322
14、.0血520130?触00.098.B301. B75.3201308李娜98.075 .097-0362 .&皿S20130?徐维皿。90.070,083 M323.08g.8201310汪东城75.08目.098.0318.079.51接回车键返回主菜单:|3.2.2显示模块截图3.2.3 追加模块(在功能主菜单输入“2”进入成绩追加界面,这里输入一组追加信息后, 系统会提示是否继续追加,从而实现了 “连续追加”的功能)半:功能菜单一1:全班成绩2;成绩追加7:成绩统计日二退出系统14:成绩删除6;成绩排名欢迎使用 班级成绩管理系统3成绩修改5;成绩查询生搂子机:?续追继川入 否/
15、N输讲的号名谙字算理引人 的她子姓英口籍第5 6W9 81 人入*主月5B407 0-2 Hn .- 1 一续 继> 否/H绩13戈3® 1 49 5 6 8V- 9 R- > 9 0皎务省最干金景A? 如子姓英尼输3.2.4追加模块截图(注:这里的总分输入值为0,因为在该程序中,总分会计算出来)3.2.4 修改模块(在功能主菜单输入“ 4”进入成绩修改菜单,这里可以根据学号和姓名查找到对应学生成绩信息进行修改。下面以按姓名修改为例,对姓名为“wW的学生的计算机成绩进行修改后,系统还能提示是否对该生的其他科目成绩进行继续修改,实现 了 “一人多项”的修改功能。修改完系统会
16、退到所有学生成绩菜单,可以清楚地看到修 改后的学生的成绩信息)3.2.5 删除模块(在功能主菜单输入“ 4”进入删除方式菜单,此功能可以对学生成绩信 息进行按学号删除和按姓名删除两种删除方式。下面以对姓名为“ wW的学生成绩进行 删除,输入该生姓名后,系统能显示该生的各项成绩信息,并提示是否确认删除。删除 后,系统还能提示是否继续进行删除操作。这里的删除模块实现了 “多人多项”的删除 功能,操作使用起来十分便利高效。如果不继续,选择“2”能退出到删除方式菜单,进行接下来的删除操作)3.2.5删除模块截图3.2.6 查询模块(在功能主菜单输入“ 5”系统进入成绩查询菜单。此功能可以对学生成 绩信
17、息按学号查询和按姓名查询,以下以按学号查询为例。输入学号为“201310”的学生学号,系统以表格的形式显示出该生的成绩信息。输入“1”能返回到查询菜单继续查询,输入任意键系统退出到主菜单界面)3.2.6查询模块截图6”进入成绩排名的界面,成绩排名以总分的高低3.2.7 排序模块(在功能主菜单输入 由高向低以表格的形式显示出来)3.2.7排序询模块截图3.2.8 统计模块(在功能主菜单输入“ 7”进入平均分统计菜单界面,菜单显示:1、所 有课程平均分2、单一课程平均分3、退出。以下输入“ 2”进入单一课程平均分界面, 菜单界面显示各科目的选择列表,输入“2”查询数学成绩的平均分,结果以表格形式输
18、出超过该科平均分的学生信息。查询完数学这项后,还能继续对其他科目的平均分统 计信息进行查询。实现了 “多次循环”的功能)3.2.8统计模块截图3.2.9 退出模块(在完成对该系统的所有操作后,在功能主菜单界面输入“8”进入退出界面,如下图:键入任意键即可退出该系统)'l:CDebugclnktexe *_ :回睛输入您的选择; 8* «:洪:X注注:M X * MMMW* *感谢使用*I二班级成绩管理系统二MMMM* *Thank yuti硼南工程学院* * Coed b严,材淞-IIH2班天威*«*«»Pess any key to conti
19、nue_3.2.9退出模块截图四、问题分析及总结4.1 问题分析从接到这个课题开始,我们就开始了为期一周的 C语言课程设计。首先是针对本次 课题设计进行建库工作,在开始建库的过程中,就遇到了一点困难。建库的时候一不留 神就会使输入的数据库前功尽弃,为此尝试了几次,最后耐心地一项一项输才建好库。 针对这个课题,老师给我们分了 7人一组的小组进行合作,我在组中主要负责了修改模 块程序的编写和整个系统的美化工作。在调试过程中遇到了不少的错误、警告等信息, 有时候因为一个符号的失误导致程序的错误达到十几个。在做完修改模块后,个人觉得 修改的方式还是不够妥当,不能实现多想同时修改而只能一项一项进行修改保
20、存。这是 我个人觉得修改模块存在的值得改进的地方。4.2 总结学习C语言已经半年了,半年来,从接触C语言这门课程到后来逐渐了解这门课程的点滴知识, 使我自己对计算机方面的知识有了更加深刻的认识。 作为一个电脑爱好者,平时和同学们在一起就喜欢讨论java 编程和电脑系统方面的知识。从一年前拿到自己的第一台智能手机刷机开始,渐渐了解一点关于安卓apk 程序的开发及框架。每次的刷机都会使我自己对安卓系统有进一步的了解,同时,每次解决一个问题,都会有一点点小小的成就感。最近的半年,由于电脑的使用频率的增加,注意力开始转移到电脑系统的安装以及自己学习封装win7 系统。由于对电脑软件的使用和电脑知识了解
21、较多,很多同学们电脑有问题都会找我帮忙,这半年中,拆过许多笔记本电脑,用各种方法装过很多台电脑的系统,还装了几台机子的内存以及对电脑主板上灰尘的进行清理。这些在我看来简单的操作给我自己带来了许多快乐,同时也给别人带去了方便。刚接触到C语言这门课程时就感觉到了它的难度,但通过渐渐的学习,我认识到了它的重要性,更认识到这是一种能力的培养。经过几次的上机操作,看到自己设计的程序能运行出正确的结果,开始对C语言产生了兴趣。同时,学习的东西越来越复杂,遇到的困难也越来越多。拿到我们组的课题时,心里十分的没底,觉得很难不知道该如何下手。原因是自己没把知识真正学到手,不知道自己学的东西能不能用得上。但学习就
22、是要不断的发现问题,不断的解决问题的。于是,在试探中开始了建库的工作。曾以为建库是很简单很容易的,但是开始建立的时候,就很容易出错。通过几次失败,几次重试,终于建好了库文件。接下来的任务就是做好我负责的修改模块,在做修改模块的时候,问题的困难程度还是显现出来了,调用函数的时候经常出错。程序运行起来不能对指定的学生成绩信息进行连续的修改,经过同学们一起努力,慢慢改正了一点错误。上机调试的时候,在指导老师的帮助下逐渐将不能连续修改的问题解决。 接着就遇到了程序运行完毕不能退出到主菜单的问题,在几次尝试修改语句后,终于知道了语句缺失的命令,最后完美地解决了这个问题。 在解决问题的过程中,对于课堂上学
23、的 for , Switch 和 while 语句还有结构体的使用和指针的用法与作用都有了进一步的认识。后来遇到问题的时候,查阅了课本知识,通过网络查找到与之类似的问题加以解决。经过几次上机调试后,其余同学已经将剩下的模块做得差不多了。但是我发现一个普遍的问题,那就是所有界面的布局都不够合理。于是接下来的工作就把各模块的显示菜单进行美化,使界面看起来清晰美观。这个看似简单的工作做起来却是很费时间,因为要想把显示得居中,同时清晰明朗,得加入空格或者是加入“ t ” ,可能就因为一个空格对不齐就不能很好地显示对应的信息。另外我发现程序运行界面就是黑白相间,显得不够美观,于是在查阅资料后弄明白了,加
24、入一个头文件然后再主函数中加入颜色的调用命令。在网上查找了关于颜色的代码,添加进去后运行界面显得很漂亮,比以前黑白相间的界面更明朗美观。一周的时间很快就过去了,C语言答辩安排就在老师安排下开始了。周五上午,我就在机房里完成了答辩。现在觉得有点遗憾的就是,老师问我的问题因为紧张了一定就没回答得很好,觉得有点失望。但是我的程序做得还是比较合理,因为在答辩运行时,老师所要求的所有操作我的程序都能实现,而且完美无瑕,这让我觉得付出还是有回报的。经过这次的C语言课程设计,我才真正了解到理论知识转为实践的重要性。其实从刚接到课题任务的时候,心里还是有点畏惧的,毕竟这个系统的源程序就有好几页,看着就头痛。但
25、是看着同学们一个个认真的坐在电脑面前几个小时一点点摸索,自己才开始冷静地思考着问题。通过自己的努力,同学们的帮助和老师的指导,终于完成了这个课题的设计任务。同时,也使我对C语言课程有了更为深刻的认识,让我对自己有了信心。我想,若干年后,当看到我做的这份报告,都会是一段美好的回忆。这段短短几天的努力也会给我动力,给我在以后的学习中以鞭策,更加加深我对计算机知识的了解。五、参考文献1 贾宗璞,许合利. C 语言程序设计. 人民邮电出版社2 陈世清,李杰君. C 语言程序设计. 浙江大学出版社3 郑莉 . C+ 语言程序设计. 清华大学出版社六、附件源程序清单:#include <stdio.
26、h>#include <stdlib.h>#include <string.h>#include <conio.h>int N=0;struct stuintxh;/* 学号 */charname18;/* 姓名 */doubleyy;/* 英语 */doublemat;/* 数学 */doublejsj;/*计算机 */doublewl;/* 物理 */doublezf;/* 总分 */s20;void Re_file()FILE *fp;fp=fopen("bjcjk.txt","r");while( fsc
27、anf(fp,"%dn%sn%lfn%lfn%lfn%lfn%lfn",&sN.xh,sN.name,&sN.yy,&sN .mat,&sN.jsj,&sN.wl,&sN.zf)!=EOF) N+;fclose(fp);void Wr_file()int i;FILE *fp;fp=fopen("nwejck.txt","w");for(i=0;i<N;i+)fprintf(fp,"%dn%sn%lfn%lfn%lfn%lfn%lfn",si.xh,si.nam
28、e,si.yy,si.mat,si.jsj,si.wl,si.zf);fclose(fp);void Js() /*计算总分 */int i;for(i=0;i<N;i+)si.zf=si.yy+si.mat+si.jsj+si.wl;void Sort() /*排序模块 */int j,k;double ave20,t;struct stu m;Js();for(k=0;k<N;k+)avek=sk.zf/4;/*计算平均分*/for(k=0;k<N-1;k+)for(j=k+1;j<N;j+)if(avek<avej) t=avek;avek=avej;ave
29、j=t; /*对平均分排序 */ m=sk;sk=sj;sj=m;/*按平均分整体排序*/void Disp() /* 显示模块 */Js();int i;printf("ntttt 全班学生成绩表n");printf("t n");printf("t 学号 姓名 英语 数学 计算机 物理 总分 平均分 n");printf("t n");for(i=0;i<N;i+)printf("t %dt %st %.1lft %.1lft %.1lft %.1lft %.1lf%.1lfn",si
30、.xh,,si.yy,si.mat,si.jsj,si.wl,si.zf,si.zf/4);printf("t n");printf(" 按回车键返回主菜单: ");getchar();void Total() /* 统计模块 */double av4=0.0;int xz,sum0,sum1,sum2,sum3;int xz2;int k,i;sum0=sum1=sum2=sum3=0;for(k=0;k<N;k+)/*计算各科课程平均分*/av0+=sk.yy;av1+=sk.mat;av2+=sk.jsj;av3+=sk.wl;
31、av0=av0/N;av1=av1/N;av2=av2/N;av3=av3/N;for(k=0;k<N;k+)/* 比较学生各科成绩与平均成绩*/if(sk.yy>av0) if(sk.mat>av1) if(sk.jsj>av2) if(sk.wl>av3)while(1)sum0+;sum1+;sum2+;sum3+;printf("平均分统计菜单n");printf("*n");printf("*n");printf("*1.所有课程平均分*n");printf("*2
32、.单一课程平均分*n");printf("*3.退出*n");/* 统计菜单一*/*n");printf(" printf(" printf("nn");*n");printf("nnn");printf(" 请输入您要统计的方式:");while(1)scanf("%d",&xz);if(xz=1 |xz=2 | xz=3 ) break;else printf("nnnnbreak;输入错误 !请重新输入 !");
33、if(xz=1)printf("nnn");printf("各科成绩平均分n");printf("n");printf("英语 计算机数学 物理 n");printf("n");printf("%10.1f%10.1f%10.1f%10.1fn",av0,av1,av2,av3);printf("n");if(xz=2)while(1)printf("n各科成绩平均分统计:n");统计菜单二*/*printf("*n"
34、;);printf("printf("*n");1.英语2.数学*n");printf(" printf(" printf(" printf("3.计算机4.物理0.退出到平均分统计菜单 *n");*n");*n");*n");printf("n 请选择您查询的科目 :");while(1)scanf("%d",&xz2);if(xz2=1 |xz2=2 | xz2=3 | xz2=4 | xz2=0) break;else p
35、rintf("n输入错误 !请重新输入 :");if(xz2=1)/*统计超出英语平均分人数*/printf("n英 语 平 均 成 绩 : %.1ft 超 过 人数: %dn",av0,sum0);printf("n");printf("学号 姓名 英语 数学 计算机 物理n");printf("n");for(i=0;i<N;i+)if(si.yy>av0)printf("%d %s%8.1lf%8.1lf%8.1lf%8.1lfn",si.xh,si.nam
36、e,si.yy,si.m at,si.jsj,si.wl);printf("n");if(xz2=2)/* 统计超出数学平均分人数*/printf("n数 学 平 均 成 绩 : %.1ft 超 过 人数: %dn",av1,sum1);printf("n");printf(" 学号 姓名 英语 数学 计算机物理 n");printf("n");for(i=0;i<N;i+)if(si.mat>av1) printf("at,si.jsj,si.wl);%d %s%8.1l
37、f%8.1lf%8.1lf%8.1lfn",si.xh,,si.yy,si.mprintf("n");if(xz2=3)/* 统计超出计算机平均分人数*/printf("n计算 机 平 均成 绩 : %.1ft 超 过人数: %dn",av2,sum2);printf("n");printf("学号 姓名 英语 数学 计算机 物理 n");printf("n");for(i=0;i<N;i+)if(si.jsj>av2)printf("%d %s%8
38、.1lf%8.1lf%8.1lf%8.1lfn",si.xh,,si.yy,si.mat,si.jsj,si.wl);printf("n");if(xz2=4)/* 统计超出物理平均分人数*/printf("n物 理 平 均 成 绩 : %.1ft 超 过 人数: %dn",av3,sum3);printf("n");printf("学号 姓名 英语 数学 计算机 物理 n");printf("n");for(i=0;i<N;i+)if(si.wl>av3)
39、printf("%d %s%8.1lf%8.1lf%8.1lf%8.1lfn",si.xh,,si.yy,si.mat,si.jsj,si.wl);printf("n");if(xz2=0)break;if(xz=3) break;void Appe1() /*追加模块 1*/int i=N;printf("t 学号:");scanf("%d",&si.xh);printf("t 姓名:");scanf("%s",);printf(&quo
40、t;t 英语:");scanf("%lf",&si.yy);printf("t 数学:");scanf("%lf",&si.mat);printf("t 计算机: ");scanf("%lf",&si.jsj);printf("t 物理:");scanf("%lf",&si.wl);printf("t 总分:");scanf("%lf",&si.zf);N+;void
41、 Appe() /*追加模块 */char s='y'int i;for(i=0;s='y' | s='Y'i+)n");printf(" 请输入追加的学生成绩信息:Appe1();getchar();printf(" 是否继续输入 ?n(Y/N)"); scanf("%c",&s);Wr_file();void Modi1(int i) /*修改模块 1*/int n;double temp;while(1)printf("*n");printf("
42、;*-*n");printf("*1.英语2.数学printf("*3.计算机4.物理printf("*5.返回上级菜单printf("*-*n");printf("*n");printf("nnn");printf("nn 请输入您的选择:");*n");*n");*n");while(1)scanf("%d",&n);if(n=1|n=2|n=3|n=4|n=5) break;else printf("t
43、ttt 对不起,输入有误!请重新输入:");if(n=1)printf(" 请修改后的英语成绩为 :");scanf("%lf",&temp);si.yy=temp;if(n=2)printf(" 请修改后的数学成绩为 :");scanf("%lf",&temp);si.mat=temp;if(n=3)printf(" 请修改后的计算机成绩为 :");scanf("%lf",&temp);si.jsj=temp;if(n=4)printf(&
44、quot; 请修改后的物理成绩为 :");scanf("%lf",&temp);si.wl=temp; if(n=5) break;void Modi() /*修改模块 */ int i,xz3,xh,j;char name10;while(1)printf("成绩修改菜单n");printf("*n");printf("*n");printf("*1. 按 学 号 修 改*n");printf("*2. 按 姓 名 修 改*n");printf("
45、;*3. 返 回 到 所 有 成 绩 及 主 菜 单*n");printf("*n");printf("*n");*printf("nn 请输入您要修改的方式: ");while(1)scanf("%d",&xz3);if(xz3=1|xz3=2|xz3=3) break;printf("ttt 对不起,输入有误!请重新输入 :n");if(xz3=1)/* 按学号修改*/printf(" 输入你要修改的学号: ");while(1)scanf("
46、%d",&xh);for(j=0,i=0;i<=N;i+)if(xh=si.xh)Modi1(i); j+;if(j=0) break;printf("nnttt 输入有误 !nttt 请重新输入学号: ");if(j=1) break;if(xz3=2)/* 按姓名修改*/printf(" 输入你要修改的姓名: ");while(1)scanf("%s",name);for(j=0,i=0;i<=N;i+)if(strcmp(name,)=0) Modi1(i); j+;if(j=0)pr
47、intf("nnttt 输入有误 !nttt 请重新输入姓名: ");if(j=1) break;if(xz3=3) break;Wr_file(); void Dele() /* 删除模块 */ int h=0,n,i=0,k,d,j,b=0,o,bb,y; struct stu *p;p=s;char a10;while(h=0)printf("nnn");printf("printf("删除方式菜单n");*n");printf("*n");printf("*1、按学号删除成绩*
48、n");printf("*n");printf(" printf(" printf(" printf(" printf("* 2、按姓名删除成绩*n");* *n");* 3、返回到主菜单*n");* *n");*n");printf("n 请选择删除方式: ");scanf("%d",&j);switch(j)case 1:printf(" 请输入要删除的学号:");scanf("%d&
49、quot;,&n);bb=0;for(i=0;i<N;i+)if(si.xh=n)bb=1;printf("ttn");printf("t 学号姓名 英语数学 计算机 物理 n");printf("ttn");printf("tt%dt%st%.0lft%.0lft%.0lft%.0lftn",si.xh,,si.yy,si.mat,si.jsj,si.wl);printf("ttn");printf("1 、 确认删除n2、 显示所有学生成绩并返回主菜单n
50、 请问您是否确认删除:");scanf("%d",&o);switch(o)case 1:for(y=i;y<N;y+)py=py+1;N-;h=1;while(b=0)printf("nntttt 删除成功 !nn");printf("n1 、 返回继续删除n2、 显示所有成绩并返回到主菜单n是否继续删除:");scanf("%d",&d); if(d=1)bb=1;h=0;break;elseh=1;break;break;default:h=1;break; break;whi
51、le(bb=0)printf("nntttt 您的输入有误!请重新输入 :");bb=1;break;break;case 2:printf(" 请输入要删除的姓名 :");scanf("%s",a);bb=0;for(i=0;i<N;i+)k=strcmp(a,);if (k=0)bb=1;printf("ttn");printf("t 学号 姓名 英语 数学 计算机 物理 n");printf("ttn");printf("tt%dt%st%
52、.0lft%.0lft%.0lft%.0lftn",si.xh,,si.yy,si.mat,si.jsj,si. wl);printf("ttn");printf("1 、 确认删除n2、 显示所有学生成绩并返回到主菜单n 请问您是否确认删除");scanf("%d",&o);switch(o)case 1:for(y=i;y<N;y+)py=py+1;N-;k=1;h=1;while(b=0)printf("nntttt 删除成功 !nn");printf("n1、继续删除n2、返回主菜单n是否继续删除:");scanf("%d",&d);if(d=1)h=0;k=1;break;elseh=1;k=1;break;break;default:h=1;break;while(bb=0)printf("nntttt 您的输入有误!请重新输入 :n");bb=1;break;break;default:h=1;break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026黑龙江大庆市第三医院招聘护士24人笔试模拟试题及答案解析
- 小学安全值班奖惩制度
- 六年级班级管理奖惩制度
- 中成伟业课程奖惩制度
- 养生馆员工奖惩制度细则
- 中职学生考勤奖惩制度
- 建设工程项目奖惩制度
- 保洁物业奖惩制度细则
- 幼儿园门卫老师奖惩制度
- 单位厨师奖惩制度范本
- 2026年高考语文备考之非连续性文本阅读训练(人工智能、科技文化)
- 幼儿园伙食费管理制度
- 月结60天合同协议书
- 肉羊高效健康养殖与疫病防控技术培训
- 养老院食品安全培训
- -世界水日主题班会课件
- 全球核安全形势课件
- 《婴幼儿常见病识别与预防》高职早期教育专业全套教学课件
- 《智能制造基础与应用》课件全套 第1-8章 绪论、智能制造数字化基础- 智能制造应用
- 供电所所长安全演讲
- 急腹症临床诊断思维及程序
评论
0/150
提交评论