C语言课程设计学生成绩管理系统 .docx

上传人:小飞机 文档编号:4883871 上传时间:2023-05-21 格式:DOCX 页数:26 大小:222.02KB
返回 下载 相关 举报
C语言课程设计学生成绩管理系统 .docx_第1页
第1页 / 共26页
C语言课程设计学生成绩管理系统 .docx_第2页
第2页 / 共26页
C语言课程设计学生成绩管理系统 .docx_第3页
第3页 / 共26页
C语言课程设计学生成绩管理系统 .docx_第4页
第4页 / 共26页
C语言课程设计学生成绩管理系统 .docx_第5页
第5页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言课程设计学生成绩管理系统 .docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统 .docx(26页珍藏版)》请在三一办公上搜索。

1、绩管理系统Company number【1089WT-1898YT-1W8CB-9UUT-92108】息 技 术 工 程 学 院C语言课程设计报告题目:学生成绩管理系统(student achievementmanagement system)目录一设计目的通过本课程设计巩固C语言程序设计课程的教学成果,深入理解结构体、指 针、链表、动态分配内存和文件操作的等C程序设计中的中高级技术,通过课程 设计的综合训练,培养学生实际分析问题、编程和动手能力、提高学生利用C语 言进行程序设计的能力,初步培养良好的编程习惯和编程风格,初步学习程序的 文档的撰写方法。二课程设计的内容 通过C语言程序系统,设计

2、一个可以对学生的成绩信息进行管理的程序,其中学 生的信息可以包括:学号、各科目的成绩的平均分排序等,其功能可以包括学生 成绩的输入、输出、查询、排序、删除、统计、退出等。三课程设计的要求与数据1、用C语言实现系统;2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学 生成绩的信息输入、输出、查询、删除、排序、统计、退出、显示,以及整个程 序的切换登录模式和修改管理员的信息.3、学生信息包括:(1) 、每一条记录包括一个学生的学号、姓名、3门课成绩(2) 、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录的输 入。)(3) 、成绩信息显示浏览功能:完成全部学生

3、记录的显示。(4) 、查询功能:完成按姓名查找学生记录,并显示。(5) 、成绩信息的删除:按学号进行删除某学生的成绩.(6) 、排序功能:按学生平均成绩进行排序。(7) 、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能 清晰美观!四课程设计应完成的工作(1)编写算法;(2)算法测试,并有具体的测试结果和结果分析;(3)撰写课程设计报告。内容包括:1)封面扉页2)设计任务书3)目录4)总体设计方案(包括流程图)5)使用说明及运行实例(包括界面)6)成员设计内容简介7)项目源程序代码(注意注释的使用)8)指导教师评语五总体设计(包含几大功能模块)1、成绩录入功能2、成绩输出功能

4、3、成绩查询功能4、删除模块5、排序功能6、统计功能7、退出系统六详细设计各个模块的功能和实现(1) 整个成绩管理系统设计分为9个模块:1. 输入学生成绩2. 删除学生成绩3. 查询学生成绩4. 修改学生成绩5. 排序学生成绩6. 保存记录7. 显示所有8. 退出系统9. 修改管理员信息(2) (主要函数的功能)1. 主函数main():定义学生结构体数组,调用录入,统计等函数对成绩表进行 处理。2. 输入数据函数input():输入学号、成绩。3. 排序函数sort():对总成绩或者平均成绩,进行排序,按从高到低或者从低 到高。4. 显示数据函数display。:显示各个学生的总成绩5. 新

5、增数据函数insert():增加学生学生记录。6. 删除数据函数del():由于各种原因,删除某些同学的成绩、学号等。7. 平均值函数average。:求各个同学总成绩的平均值。8. 查询数据函数qur():查询学生的信息。9. 保存数据函数save():再一次打开界面是,仍有上次所找的讯息。10. 退出系统函数exit():当要退出整个系统时。流程图 (管理员模式流程图)平均#define HEADER2 学号 姓名 数学 英语 C语言 总分分n#define FORMAT %s %s %d %d %d %d %.2fn结束#define DATA p-,p-,p-,p-,p-,p-,p-

6、int saveflag=0;typedef unsigned short WORD;struct studentchar num10;char name15;int mgrade;int egrade;int cgrade;int total;float ave;typedef struct node(struct student data;struct node *next;Node,*Link;void menu()(time_t now;now二time(NULL);printf(学生成绩管理系统n);printf(n);printf(*1* *1* *1* *1* *1* *1* *

7、1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* IO*n);printf( *n);printf(*1输入成绩2删除成绩*n);printf(*n);printf

8、(*3查询成绩4修改成绩*n);printf(*n);printf(*5排序成绩6保存记录*n);printf(*n);printf(*7显示所有0退出系统*n);printf( *n);printf(*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*

9、 *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* g *n);printf( *8切换登录模式9修改管理员信息*n);printf(*1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1

10、* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* IO *n);printf (侦 请你选择操作命令前的的数字(09):);int menu2()(理员模式0.来宾模式n);printf( 请选择:(01);scanf(d,&state);if(state=0)return 0;else if(state=1)(printf(请输入账号:);scanf(s,str_z);if (strcmp(str1,str_z)=0&strcmp(str2,str_m)=0) return 1;else

11、(printf(账号或密码错误!an); system(PAUSE);system(cls);else(printf(输入不合法!an);exit(0);void Modify_admin()(FILE *fp;char str_z20,str_m7=;fpfopen(,wb);printf(请输入管理员账号:);scanf(s,str_z,n);printf(请输入密码:);fprintf(fp,s%c,str_z,n);fprintf(fp,s%c,str_m,);fclose(fp);printf(管理员信息更新完毕!an);getch();int main()(Link L;FILE

12、*fp;int select,State=0;char ch,admin20,admin_p20;int count=0;Node *p,*r;system(color 0A);L=(Node*)malloc(sizeof(Node);L-next=NULL;r=L;fp二fopen(,ab+);Loop:(State=login();while(!feof(fp)p=(Node*)malloc(sizeof(Node);if(fread(p,sizeof(Node),1,fp)=1)p-next=NULL;r-next=p;r=p;count+;fclose(fp);if(State=1)(

13、while(1)(system(cls);printf(n管理员模式nn);menu();p=r;scanf(d,&select);if(select=0)(if(saveflag=1)(getchar();printf(n记录已修改,是否保存当时记录(y/n):);scanf(c,&ch);if(ch=,y,|ch=,Y,)Save(L);printf(谢谢您的使用!n);break;switch(select)(case 1:Add(L);break;/增加模块case 2:Del(L);break;/删除记录case 3:Qur(L);break;/查询模块case 4:Modify(L

14、);break;/修改模块case 5:Sort(L);break;/排序模块case 6:Save(L);break;/保存成绩case 7:Disp(L);system(PAUSE);break;/显示成绩case 8:system(cls);goto Loop;case 9:Modify_admin();break;default:Wrong();getch();break; else(while(1)(system(cls);menu2();scanf(d,&select);if(select=0)(printf(谢谢您的使用! n);exit(1);switch(select)(ca

15、se 1:Qur(L);break;case 2:Sort(L);break;case 3:Disp(L);system(PAUSE);break;case 4:system(cls);goto Loop;default:Wrong();getch();break;return 0;各模块测试结果创 建 管 理 员 模 块主界面模块输入成绩模块删 除 成 绩 模 块查八总结 本次的课程设计已接近尾声,经过两周的课程设计的学习,让我从中收获了许多 的东西,课程开始,由于许多东西的在大一学习C语言时理解不深入,在此次设 计中遇到许许多多的问题,调试分析时会出现各种各样的错误,也就需要自己查 阅更多

16、的资料。通过查资料,修改源代码,调试分析,再到逐步完善的过程,似 乎每一次的实验结果的成功,我都把它当做是一次成长。回想起这两周的课程学习,让我真正体会到了理论与实践相结合的重要性,从拿 到一个设计题目,再到对题目的构思、画流程图,到最后的编写源代码、调试分 析、逐步完善、最后的整个程序的完成,看似一个很简单的过程,但是对于一个 初次接触的我来说,每次似乎都是遇到了一个大困难。但是越是遇到困难,就越 有解决问题的决心,每当遇到问题时,我都会及时的向老师、同学、还有图书馆 的相关书籍寻求帮助。努力做到问题的及时解决。通过这次课程设计收获知识,提高能力的同时,我也学到了很多人生的哲理,懂 得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去 克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设 计的精神带到生活中,不畏艰难,勇往直前使我对C语言有了更进一步的认识和 了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它、利用 它来为自己创造财富。在这里,感谢带我我们做课程设计的张老师!九参考资料 C语言程序设计主编:谭浩强;C程序设计教程 主编:李丽娟;C语言程序设计主编:楼永强,吴鹏,徐思友;C语言程序设计主编:吴红庆,李春萍;网络相关资料。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号