C语言课程设计学生成绩管理1 .doc
《C语言课程设计学生成绩管理1 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理1 .doc(23页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 报 告课程名称 C语言课程设计 课题名称 学生成绩管理 专 业 电气自动化 班 级 学 号 姓 名 指导教师 2011年 6 月 20 日 目录封面1目录2任务书3学生成绩管理系统需求分析,概要设计,详细设计5程序调试8程序界面8附件(程序代码)10详细设计24运行与调试,参考文献24源程序25参考文献37总结心得37评分表37 湖南工程学院课 程 设 计 任 务 书课程名称 C课程设计 课 题 学生成绩管理 专业班级 电气1085 学生姓名 学 号 05 指导老师 审 批 任务书下达日期 2011 年 6 月 20 日任务完成日期 2011 年 6 月 日湖南工程学院课 程
2、设 计 任 务 书一设计内容:设计与开发一个学生成绩管理系统,对学生的学号、姓名、课程成绩、总分、平均成绩等信息进行管理、主要功能以下基本功能模块图1所示。主程序初始化输入显示删除查找添加计算排序退出图1 基本功能模块 二设计要求:1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。成绩评定:指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和
3、不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分: 平时出勤 (占10%) 系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%) 程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%) 设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。 独立完成情况(占10%)。 运行所设计的系统。三、进度安排第十九周 星期一 14:3018:00 星期二14:3018:00 星期三14:3018:00附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体
4、,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。成绩管理系统1)需求分析:学生信息是存放在文件中的,所以应该提供文件的输入,输出,插入,删除等操作,在程序中需要浏览学生的信息,应提供显示,查找,排序等操作,另外还应提供键盘式选择菜单提供选择功能。2)概要设计:根据上面的需求分析,可以将这个系统大致划分为以下模块:输入模块,修改模块,
5、删除模块,查找模块,显示模块。1.录入学生信息2显示学生信息3查找学生信息5修改学生信息4删除学生信息6统计学生信息7保存学生信息0退出系统功能选择1按学号查找0按姓名查找 1按学号修改0按姓名修改3)详细设计:1输入初始的学生信息:其中包括学生的姓名、学号,性别以及学生的语文、数学、英语和计算机等相关信息。先打印出已有学生信息Disp(l)输入学号格式化学号并并检验若输入学号为0则退出系统若学号被占用,重新输入未占用的学号2. 查询模块:找到就输出此学生全部信息包括3科的成绩。查询按学号查询按成绩查询运行显示成绩3. 插入模块:其中通过学号的大小来比较的,并且以此来排序。保存插入点之前的学号
6、,并输入学号查询该学号是否存在插入之前的节点4. 输出学生的信息以及成绩:通过学生的姓名来查看学生的3科成绩,同时也可以分别通过caverage()、maverage()、eaverage()和comaverage()来输出3科成绩的平均分数,最高和最低分数。5. 退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。4)程序调试:问题一:学生初始信息模块: 其中包括学生的姓名、学号、3门科目的成绩等相关信息;当正确输入存在的学生号,系统进行判断时,提示不存在此学生。解决办法及步骤:1. 一个个输出所有学生的学号,检查文件中是否有学生,发现有。
7、2. 既然有此学生,那么检查循环判断是否有此学生的语句,发现没有错。3. 输出用于循环检查语句中的学生信息,发现乱码。4. 仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其它类型的指针变量。问题二:查询模块:找到就输出此学生全部信息包括学生的3科成绩。当正确输入查找信息时,系统却不能够得到所要查找的学生信息以及学生的3科成绩。解决办法及步骤:1. 检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息一级学生的3科成绩。2. 检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样,我们应当仔细输入查找
8、信息。5)程序界面:1.初始界面2.输入学生信息节点界面:3. 删除节点界面;4. 查找节点界面:1)运行与调试:调试:将图中/*/去掉在/*计算总分和均值*/上加上个运行:2)源程序 /*xuesheng.c*/*头文件(.h)*/#include stdio.h /*I/O函数*/#include stdlib.h /*其它说明*/#include string.h /*字符串函数*/#include conio.h /*屏幕操作函数*/#include mem.h /*内存操作函数*/#include ctype.h /*字符操作函数*/#include alloc.h /*动态地址分配
9、函数*/#define N 3 /*定义常数*/typedef struct z1 /*定义数据结构*/ char no11; char name15; int scoreN; float sum; float average; int order; struct z1 *next; STUDENT;/*以下是函数原型*/STUDENT *init(); /*初始化函数*/STUDENT *create(); /*创建链表*/STUDENT *delete(STUDENT *h); /*删除记录*/void print(STUDENT *h); /* 显示所有记录*/void search(S
10、TUDENT *h); /*查找*/void save(STUDENT *h); /*保存*/STUDENT *load(); /*读入记录*/void computer(STUDENT *h); /*计算总分和均分*/STUDENT *insert(STUDENT *h); /*插入记录*/void append(); /*追加记录*/STUDENT *sort(STUDENT *h); /*排序*/int menu_select(); /*菜单函数*/*主函数开始*/main() int i; STUDENT *head; /*链表定义头指针*/ head=init(); /*初始化链表*
11、/ clrscr(); /*清屏*/ for(;) /*无限循环*/ switch(menu_select() /*调用主菜单函数,返回值整数作开关语句的条件*/ /*值不同,执行的函数不同,break 不能省略*/ case 0:head=init();break; /*执行初始化*/ case 1:head=create();break; /*创建链表*/ case 2:head=delete(head);break; /*删除记录*/ case 3:print(head);break; /*显示全部记录*/ case 4:search(head);break; /*查找记录*/ case
12、 5:save(head);break; /*保存文件*/ case 6:head=load(); break; /*读文件*/ case 7:computer(head);break; /*计算总分和均分*/ case 8:head=insert(head); break; /*插入记录*/ case 9:head=sort(head);break; /*排序*/ case 10:append();break; /*追加记录*/ case 11:exit(0); /*如菜单返回值为14程序结束*/ /*菜单函数,返回值为整数*/menu_select() char *menu=*MENU*,
13、 /*定义菜单字符串数组*/ 0. init list, /*初始化*/ 1. Enter list, /*输入记录*/ 2. Delete a record from list, /*从表中删除记录*/ 3. print list , /*显示单链表中所有记录*/ 4. Search record on name, /*按照姓名查找记录*/ 5. Save the file, /*将单链表中记录保存到文件中*/ 6. Load the file, /*从文件中读入记录*/ 7. compute the score, /*计算所有学生的总分和均分*/ 8. insert record to l
14、ist , /*插入记录到表中*/ 9. sort to make new file, /*排序*/ 10. append record to file, /*追加记录到文件中*/ 11. Quit; /*退出*/ char s3; /*以字符形式保存选择号*/ int c,i; /*定义整形变量*/ gotoxy(1,25); /*移动光标*/ printf(press any key enter menu.n); /*压任一键进入主菜单*/ getch(); /*输入任一键*/ clrscr(); /*清屏幕*/ gotoxy(1,1); /*移动光标*/ textcolor(YELLOW
15、); /*设置文本显示颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为蓝色*/ gotoxy(10,2); /*移动光标*/ putch(0xc9); /*输出左上角边框*/ for(i=1;i44;i+) putch(0xcd); /*输出上边框水平线*/ putch(0xbb); /*输出右上角边框 */ for(i=3;i20;i+) gotoxy(10,i);putch(0xba); /*输出左垂直线*/ gotoxy(54,i);putch(0xba); /*输出右垂直线*/ gotoxy(10,20);putch(0xc8); /*输出左上角边框*/
16、for(i=1;i44;i+) putch(0xcd); /*输出下边框水平线*/ putch(0xbc); /*输出右下角边框*/ window(11,3,53,19); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ clrscr(); /*清屏*/ for(i=0;i13;i+) /*输出主菜单数组*/ gotoxy(10,i+1); cprintf(%s,menui); textbackground(BLACK); /*设置背景颜色为黑色*/ window(1,1,80,25); /*恢复原窗口大小*/ gotoxy(10,21); /*移动光标*/ do printf(n Ent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计学生成绩管理1 语言 课程设计 学生 成绩 管理
链接地址:https://www.31ppt.com/p-2384836.html