成绩记录簿

上传人:博****1 文档编号:511498695 上传时间:2022-12-21 格式:DOCX 页数:17 大小:303.81KB
返回 下载 相关 举报
成绩记录簿_第1页
第1页 / 共17页
成绩记录簿_第2页
第2页 / 共17页
成绩记录簿_第3页
第3页 / 共17页
成绩记录簿_第4页
第4页 / 共17页
成绩记录簿_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《成绩记录簿》由会员分享,可在线阅读,更多相关《成绩记录簿(17页珍藏版)》请在金锄头文库上搜索。

1、上海凌用技木骨院课 程 设 计20132014学年第二学期设计题目成绩记录簿院 专 班 学(系)工程创新学院业电气工程及其自动化级131032Y1号1310300235学生姓名聂震设计时间2014. 06. 30 -2014. 07. 04指导教师朱迅提交日期2014. 07. 04一.课程设计目的本课程设计是提高学生程序设计能力的重要实践性环节之一,是在学生学习完程序设计基 础(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对c语言课程的基本知识的理解和掌握;2. 掌握C语言编程和程序调试的基本技能;3. 利用C语言进行基本的软件设计;4. 初步掌握书写程序

2、设计说明文档的能力5. 提高运用C语言解决实际问题的能力。二.课程设计要求1. 分析课程设计题目的要求;2. 写出详细设计说明:3. 编写程序代码,调试程序使其能正确运行;4. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面;5. 设计完成后提交课程设计报告(按学校要求装订)和源代码文件的电子文档。三 题目三成绩记录簿1. 设计要求:成绩记录簿中记录以下数据:学号、姓名、课程编号、课程名称、成绩、学分,所有成绩 都以百分制计分。在程序中可以输入新的成绩记录,可以按学号或姓名查询一个学生的所有 成绩,和己完成的总学分。也可以按课程编号查出一个班的成绩表,班成绩表后面要统计平 均分,和及格

3、率。程序的主界面如下:成绩记录簿1.2.3.4.添加删除查学生成绩查班成绩表0.退出2. 提高水平在程序中增加将数据写入文本文件和从文件中读入数据的功能,文件名由用户输入。3. 提示在没有使用文件时,数据可以保存在一个大的数组中,要注意的数据项的类型。四.设计说明F.1程序系统的结构用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符。主函数F.2程序1 (标识符)设计说明F.2.1程序描述记录一些学生的学习情况,并保存下来。能保存,删除,查询学生的成绩,可以按班级查询一 门学科的学习状况等。F.2.2功能1. 添加:本程序可以一次输入多个学生的成绩。开始时,输入计划添

4、加学生的个 数,然后依次输入各个学生的基本信息,程序自动记录,输出。2. 删除:删除分为按姓名和学号查找删除两种方法删除,开始时,选择删除方法, 根据提示输入信息,系统自动查找,删除,用后一个来覆盖前一个原理自动操作, 输出剩余信息,并保存。3 .查询:查询学生成绩可以用3种方法来进行。1.学号2.姓名3.课程代号。学生可 按学号和姓名查询,按提示输入相关信息查询。班级查询,可输入课程代号,可得班平均 分以及班级及格率。F.2.3性能所有成绩都以百分制计分,学分精度是小数点后一位,学号和课程序号自己定义。操作灵活, 没有太大的时间要求F.2.4输人项输入时,学号,成绩,课程编号是整数型,学分是

5、小数(浮点型),姓名和课程名称是字 符型,数据没有范围限制,比较自由,没有数量限制。用键盘输入,写入文件my.txtF. 2.5输出项输出时,学号,成绩,课程编号是整数型,学分是小数(浮点型,保留一位小数),姓名 和课程名称是字符型,数据没有范围限制,比较自由,没有数量限制。显示器输出,从文件my.txt 读取F.2.6算法计算平均值时,先将所有数据循环相加,再除以总人数。计算及格率时,先计算有多少超过60分的人,累加,再除以总人数。F.2.7流程逻辑见F.1程序系统的结构流程图F.2.8 接口1. 添加2.删除3.学生查找F.2.9存储分配本程序中结构体最大容量是10000人,结构体中,姓名

6、分配了 10个数组空间,课程名称 分配了 10个数组空间。F.2.10注释设计说明准备在本程序中安排的注释,如: a.加在模块首部的注释;b.加在各分枝点处的注释:对各变量的功能、范I韦I、缺省条件等所加的注释;d.对使用的逻辑所加的注释等等。F-2J1限制条件基本没有限制条件F212测试计划31MH:1310300235 聂袁sheji4.exe1112340成绩记录善查学生 喜班成 退请输入数字选择:4:章以现.退 请输A数字摩建二4士 亟添加费项学生的成绩3sdhj姓名翌名rb更号备号件号茁1一.I课程编号123123124课程编号 123课程编号 123课程编号 124初始界面HH:1

7、310300235 聂 Wsheji4.exe课程名称成绩asd55asd60as66课程名称asd课程名称asd课程名称分分 1学2学asf661234 0查学生 章班成 退请输入数字选择:添加学生输入添加选项1我添加了三个学生,学号分别是1,2,3,其他信息上图,添加完成。按学号删除输入删除选项2 ,按提示选按1.学号查找,输入学号1,查找成功,自动删除,显示剩余信息3:塾学生成彗4:簧班成绩富 :函斜慕姓名矗 事冬姓名届昌 课程编号 2 g 123课程名称 asd成绩学分602伊号3珈除成功姓名课程编号124课程名称asf成绩66学分2按姓名删除输入删除选项2 ,按提示选按2.按姓名查找

8、.,输入姓名fg,查找成功,自动删除,显示剩余信 息EKHH:1310300235 Msheji4.exe。1课程名称 asf成绩学分662绩 学班 成添票香退 12:34:0:按学号查找输入查找选项3,按提示选L按学号查找,输入学号3,自动查找并显示EK3hj124“H:1310300235 Msheji4.exeasf66课程名称成绩学分asf662按姓名查找输入查找选项3,按提示选2.按姓名查找,输入姓名hj,自动查找并显示舸入课124帝号3知各率4弯 号# 先一 W添香一退钙孚1:2:3:4:0:势序课程名称 asf成绩66学分2姓名课程编号hj124=66-000:1.000按课程序

9、号班级查找输入查找选项4,根据提示输入课程序号,输入124,自动查找并显示,同时计算平均分和及格 率并显小。3择 1磐香遗r 1:2:3:4:0:势序入程生成学班荒除绩表出隹号3如各率姓名课程编号hj124=66-000:1.000课程名称成绩学分asf662除察出 .成绩-戈 :- 成添brss 1:2:3:4:入意 请按请退出按退出选项0退出程序。最后写入的文本文件my.txt -记亨本艾布F)5:(o)(v) trx(H)第1代.战1列HH:1310300235 Msheji4.exe课程名称成绩学分asf662成绩记录律1=咨 加3:里学生成?4: 班成绩富 请输入敏字晶择:从文件中读

10、取的数据输入查找选项3,输入学号3,自动从文件中读取数据并显示。五源代码/include /include #iiicludestiuct stumt id;char name 10;定义结构体n/uint subnum;clw subname10;int score;float credit; 10000;int x=0,n,choose,s=0,score=0,c;long int id.subnuni;L定义变量clw naine10,subname10; /void addo定义“添加函数prmtf(”你要添加几个学生的成绩)scanf(d”,&n);闵添加的几个学生n赋值pnntf(

11、”学号姓名 课程编号课程名称成绩学分寸);n=n+s;计算共有几个学生for (x=0;xn;x-H-)在 0n 之间循环( scaiif (H%ld%s%ld%s%d%f.id,&f(x .name,&fx.subnum,&fx .subname,&flx .score,&fx .credit);对结构体中学生信息赋值S+;循环一次学生人数增加一for (x=0;xs;x+)在 0s 之间循环( pnntf(”学号t姓名t课程编号t课程名称t成绩t学分n”);printf(M%ldt%st%ldtt%stt%dt%.0fji,fIx.id,flx.name?fx.submjm,flx.sub

12、name,flx.score,fx.ere dit);输出学生信息FILE *fp;、fp=fdpen(nmy.txtM;,wb,r);for(x=0;xs;xH)L 写入文件 my.txtBvrite(&fx,sizeoRfx), L。);fclose(fp); Jvoid cutQ定义“删除”函数mt y=0;pnntf(”l.按学号查找:2.按姓名查找n”);为选择函数赋值输入要查找的学号scanf (”d”,&choose);switch(choose)case 1:printf(“输入学号:nH);scanf (”ld”.&id);for (x=O;xs;x+)if(flx.id=i

13、d)判断数据里的学号与要查询的是否一致(pnntf(”学号t姓名t课程编号t课程名称t成绑t学分iT);printf(,%ldt%st%ldtt%stt%dt%.0fji,flx.id,flx.name?fx.submnn,flx.siibnaine,flx.scoie.fx.cie dit);)y+;)for (y=O;ys;y+)(strcpy(fly .name,fy+ l.name);、fy.id=fy+l.id;fv. subnum=fy+ l.subnuni;strcpy(fy.subname,fy+l.subname); f | W把后一项的数据赋给前一项 fy.score=fly+1.score;fy.credit=f

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号