c语言成绩管理系统完整vc6,学生成绩管理系统源代码

《学生成绩管理系统源代码》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码(25页珍藏版)》请在人人文库网上搜索。

1、一、课程设计(论文)题目学生成绩管理系统二、本次课程设计(论文)应达到的目的通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 系统功能基本要求 :1学生信息维护;2教师信息维护;3. 课程信息维护;4学生选课信息;5. 任课教师操作课程成绩;6. 学生查询课程成绩。四、应收集的资料及主要参考文献: 1. 数据库:原理编程与性能(影印版)(第2版),高等教育出版社, Parick ONeil,Elizab。

2、eth ONeil编著,2005.7;2. 数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,2006.05; 五、审核批准意见教研室主任(签字) 这次课设我做的是学生成绩管理系统,本系统依据开发要求主要针对于教育系统,完成对日常的教育工作对学生成绩档案及其他信息的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化。现在在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学。

3、校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。目前,学校工作繁杂、资料重多,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的,但由于知识积累及时间关系,这次课设我所设计的系统不是很完善,有些地方没有考虑到,所以实用性大打折扣,后面有时间将会将系统设计的全面些,更具有实用性。 在这次课设的开发过程中,我注意使其符合软件工程的设计的要求,在之前准备了许多时间来设计表结构,并将各个模块的流程画出来,使系统的各个模块功能完善,并力求系统应具有实用性、可靠性和适用性方便用户的操作,尽量减少用户的操作,并且能够对查询结果进行分类汇总,该系统还有许多不尽如。

4、人意的地方,比如用户界面不够美观,对于出错处理不够等多方面问题,这些都有待进一步改善。 目录设计目的 1需求分析6概要设计7配置数据源11详细设计13设计总结22参考文献23C语言程序课程设计学生成绩管理系统一设计目的通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。二问题描述系统功能基本要求 :1学生信息维护;2教师信息维护;3. 课程信息维护;4学生选课信息;5. 任课教师操作课程成绩;6. 学生查询课程成绩。三. 需求分析“学生成绩管理信息系统”包括四个模块:成绩录入、班级统计、年。

5、级统计、系统功能。这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。(1)成绩录入模块:主要功能用来对学生的成绩进行收集和修改。具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。修改要与成绩录入相对应。增加、删除是对基本表的操作。查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询等等。(2)班级统计模块:主要功能用来对学生的成绩以班级为单位进行处理。具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;各个学生该科成绩、班级排名及统计班级某分数段内的学生人数。各项统计。

6、仅对于某学期某次考试而言。(3)年级统计模块:主要功能用来对学生的成绩以年级为单位进行处理。具体包括各年级学生总成绩、年级排名统计年级某分数段内的学生人数;各个学生该科成绩、年级排名及统计、年级某分数段内的学生人数。各项统计仅对于某学期某次考试而言,在统计时,还应注意各年级考试科目不同。(4)系统功能模块:关于系统及退出系统。四概要设计在概要设计里,根据系统需求设计系统EI图,程序流图,系统功能模块图等信息,并配置了数据源。课程号成绩编号学生学号学号班号科目图1系统EI图图2学生信息图3功能模块图:查询条件满足条件数据库显示结果退出不符合条件图4查询模块流程图学生成绩学号姓名考试日期操作系统数。

7、据库组成原理计算机网络数据结构班级班级号年级号班级人数总人数图5班级与学生成绩流图(一)、系统的功能分析该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大的两个方面:一是教师登录页面、二是学生登录页面。(1)教师进入学生成绩管理系统的主要功能是:实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(2)学生进行学生成绩管量系统的主要功能是:实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(二)、 系统功能模块图登录添加用户添加成绩信息修改修改密码查询课程查询成绩信息查询退出系统系统首页教师功能界面图6教师。

8、功能模块图教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。 退出系统信息查询修改密码选课课程查询成绩查询登录系统首页学生功能界面图7学生功能模块学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。七代码#include #include #include #include struct student /结构体定义int num;char name10;char birthday10;int Cyuyan;。

9、int shujujiegou;struct student *next;struct student *creat_by_input();struct student *get_last_student(struct student *head);struct student *Print_menu_main() /主菜单printf( *n);printf( | 1.输入学生信息 | n);printf( | 2.输出学生信息 | n);printf( | 3.查找学生信息 | n);printf( | 4.修改学生信息 | n);printf( | 5.插入学生信息 | n);print。

10、f( | 6.删除学生信息 | n);printf( | 7.排序学生信息 | n);printf( | 0.退出系统 | n);printf( |_ _ _ _ _ _ _ _ _ _ _ _ _ | n);struct student *print_table_head() printf(+-+-+-+-+-+n);printf(| 学号 | 姓名 | 出生日期 | c成绩 |数据结构成绩 |n);printf(+-+-+-+-+-+n);struct student *print_table_row(struct student *p)printf(|%10d|%10s|%10s|%10。

11、d|%10d|n,p-num,p-name,p-birthday,p-Cyuyan,p-shujujiegou);void print_table_bottom()printf(+-+-+-+-+-+n);struct student * Creat_stu_record() /建立链表struct student *plaststu=NULL,*pnewstu;char continue_input=N;struct student *head=NULL;while(1)if(head=NULL)head=creat_by_input();print_table_head();print_t。

12、able_row(head);print_table_bottom();else pnewstu=creat_by_input();print_table_head();print_table_row(pnewstu);print_table_bottom();plaststu=get_last_student(head);plaststu-next=pnewstu;printf(是否继续输入学生信息?(Y 继续,N 返回菜单)n);getchar();continue_input=getchar();if(continue_input=n|continue_input=N) system(c。

13、ls);Print_menu_main();break;return head;struct student *creat_by_input() struct student *pnewstu=(struct student *)malloc(sizeof(struct student);printf(请输入学生信息n);printf(学号:);scanf(%d,&pnewstu-num);printf(姓名:);scanf(%s,pnewstu-name);printf(出生年月:);scanf(%s,pnewstu-birthday);printf(请输入学生成绩n);printf(C语言。

14、:);scanf(%d,&(pnewstu-Cyuyan);printf(数据结构:);scanf(%d,&(pnewstu-shujujiegou);pnewstu-next=NULL;return pnewstu;struct student *get_last_student(struct student *p ) if(p-next=NULL)return p;else return get_last_student(p-next);void Print_Stu_Doc(struct student *head)struct student *p;char r;print_table_。

15、head();if(head=NULL)printf(n No Recordsn);for(p=head;p;p=p-next)printf(|%10d|%10s|%10s|%10d|%10d|n,p-num,p-name,p-birthday,p-Cyuyan,p-shujujiegou);printf(+-+-+-+-+-+n);printf(按Enter键返回主菜单)n);getchar();r=getchar();if(r!=1)system(cls);Print_menu_main();elsesystem(cls);Print_menu_main();struct student 。

16、*search_by_name(struct student *head)/按姓名查找char name10;struct student *p=head;char continue_input;/*int isfound=0;*/printf(请输入要查找的姓名:);scanf(%s,name);printf(查找%sn,name);print_table_head();while(p!=NULL) if(strcmp(p-name,name)=0) print_table_row(p);p=p-next;/*isfound=1; */break;p=p-next;print_table_b。

17、ottom();printf(是否继续查找?(Y 继续;N 返回主菜单)n);getchar();continue_input=getchar();if(continue_input=n|continue_input=N)system(cls);Print_menu_main();else search_by_name(head);struct student * search_by_id(struct student *head)/按学号查找int id;struct student *p=head;char continue_input;/*int isfound=0;*/printf(请。

18、输入要查找的学号:);scanf(%d,&id);printf(查找%dn,id);print_table_head();while(p!=NULL) if(p-num=id) print_table_row(p);p=p-next;/*isfound=1;*/break;p=p-next;print_table_bottom();printf(是否继续查找?(Y 继续;N 返回主菜单)n);getchar();continue_input=getchar();if(continue_input=n|continue_input=N)system(cls);Print_menu_main();。

19、else search_by_id(head);return head; struct student*modify_record_by_id(struct student*head)/按学号修改struct student *p=head;int id;char continue_input;printf(请输入要修改的学生的学号:n);scanf(%d,&id);while(p!=NULL)if(p-num=id)break;p=p-next;if(p=NULL) printf(抱歉,没有学号为%d的学生n,id);else printf(请输入学生信息:n);printf(学号:);sc。

20、anf(%d,&(p-num);printf(姓名:);scanf(%s,&(p-name);printf(出生年月:);scanf(%s,&(p-birthday);printf(请输入学生成绩:n);printf(C语言:);scanf(%d,&(p-Cyuyan);printf(数据结构:);scanf(%d,&(p-shujujiegou);print_table_head();print_table_row(p);print_table_bottom();printf(继续修改学生信息吗?Y 继续;N 返回主菜单n);getchar();continue_input=getchar(。

21、);if(continue_input=y|continue_input=Y)creat_by_input();else system(cls);Print_menu_main();return head;struct student*modify_record_by_name(struct student*head)/按姓名修改struct student*p=head;char name10;char continue_input;printf(请输入要修改的学生的姓名:n);scanf(%s,name);while(p!=NULL)if(strcmp(p-name,name)=0) br。

22、eak;p=p-next;if(p=NULL) printf(抱歉,没有姓名为%s的学生n,name);else printf(请输入学生信息:n);printf(学号:);scanf(%d,&(p-num);printf(姓名:);scanf(%s,&(p-name);printf(出生年月:);scanf(%s,&(p-birthday);printf(请输入学生成绩:n);printf(C语言:);scanf(%d,&(p-Cyuyan);printf(数据结构:);scanf(%d,&(p-shujujiegou);print_table_head();print_table_row(。

23、p);print_table_bottom();printf(继续修改学生信息吗?Y 继续;N 返回主菜单n);getchar();continue_input=getchar();if(continue_input=y|continue_input=Y)creat_by_input();elsesystem(cls);Print_menu_main();return head;struct student *insert_record(struct student *head)/插入struct student *ptr1;struct student *ptr,*stud;struct s。

24、tudent *ptr2=head;char continue_input=N;int id;printf(请输入一个学号,在此之前插入学生信息:);scanf(%d,&id);stud=creat_by_input();ptr=stud;if(head=NULL)head=ptr;head-next=NULL;else if(head-num=id)ptr-next=head;head=ptr;elsewhile(ptr2!=NULL) ptr1=ptr2;ptr2=ptr1-next;if(ptr2-num=id)ptr1-next=ptr;ptr-next=ptr2;break;prin。

25、t_table_head();print_table_row(ptr);print_table_bottom();printf(是否继续插入学生信息?(Y 继续 N 返回主菜单)n);getchar();continue_input=getchar();if(continue_input=y|continue_input=Y) return insert_record(head);else system(cls);Print_menu_main();return head;struct student *Delete_record_by_id( struct student *head)/按学。

26、号删除struct student *p=head,*ppre=NULL;int id;char continue_input;printf(请输入要删除的学号:);scanf(%d,&id);while(p!=NULL)if(p-num=id) break;p=p-next;if(p=NULL) printf(抱歉,没有该学号的学生信息!n); else printf(确定要删除学号为%d的学生的信息吗?(Y 确定;N 返回主菜单)n,p-num);getchar();continue_input=getchar(); if(continue_input=y|continue_input=Y。

27、) ppre=head;if(ppre=p)head=p-next;printf( n);free(p);elsewhile(ppre!=NULL)if(ppre-next=p)ppre-next=p-next;free(p);break;ppre=ppre-next;printf(删除成功!); / Print_menu_main();printf(继续删除学生信息吗?(Y 继续;N 返回主菜单);getchar();continue_input=getchar();if(continue_input=y|continue_input=Y) Delete_record_by_id(head)。

28、;else system(cls);Print_menu_main();return head;return 0; struct student *Delete_record_by_name( struct student *head)/ 按姓名删除struct student *p=head,*ppre=NULL;char name10;char continue_input;printf(请输入要删除的姓名:);scanf(%s,name);while(p!=NULL)if(strcmp(p-name,name)=0) break;p=p-next;if(p=NULL) printf(抱歉。

29、,没有该姓名的学生信息!n);goto end;elseprintf(确定要删除姓名为%s的学生的信息吗?(Y 确定;N 返回主菜单),p-name);printf(n);getchar();continue_input=getchar();if(continue_input=y|continue_input=Y) ppre=head;if(ppre=p)head=p-next;free(p);else while(ppre!=NULL)if(ppre-next=p)ppre-next=p-next;free(p);break;ppre=ppre-next;printf(删除成功!);/els。

30、e Print_menu_main();end: printf(继续删除学生信息吗?(Y 继续;N 返回主菜单);printf(n);getchar();continue_input=getchar();if(continue_input=Y|continue_input=y)Delete_record_by_name(head); else system(cls);Print_menu_main();return head;return 0; struct student * Sorting_record_by_id(struct student *head)/按学号排序int i=0,j,。

31、k,r;struct student *pt1,*pt2,*pt,m;if(head=NULL)printf(现在无同学记录n);printf(按Enter键返回主菜单)n);getchar();r=getchar();if(r!=1)system(cls);Print_menu_main();elsesystem(cls);Print_menu_main();elsept1=head;pt2=head-next;for(pt=head;pt;pt=pt-next)i+;for(j=1;jnext;for(k=1;knumpt2-num)m=*pt1;*pt1=*pt2;*pt2=m;pt2-。

32、next=pt1-next;pt1-next=pt2;pt1=pt2;pt2=pt1-next;print_table_head();for(pt=head;pt;pt=pt-next)printf(|%10d|%10s|%10s|%10d|%10d|n,pt-num,pt-name,pt-birthday,pt-Cyuyan,pt-shujujiegou);printf(+-+-+-+-+-+n);return head;int main()struct student *head=NULL;struct student *p;int choice;int select;char m;cha。

33、r r;system(color e);printf( n);printf( n);printf( 欢迎使用学生成绩管理系统! n);printf( n);printf(n);printf( n);printf(.n);printf(请按照提示信息完成操作n);Print_menu_main();printf( n);printf(:n);printf( n);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n);while(choice!=0)printf(请选择所要执。

34、行的操作:n);start:if(scanf(%d,&choice)if(choice7|choice0)printf(请输入0到7的数字,选择所要执行的操作:n);goto start;elsegoto next;if(scanf(%c,&m)printf(请输入0到7的数字,选择所要执行的操作:n);goto start;next:switch(choice)case 1:system(cls);head=Creat_stu_record();break;case 2:system(cls);Print_Stu_Doc(head);break;case 3:system(cls);prin。

35、tf(请选择查找方式:1 按姓名查找; 2 按学号查找;3 返回主菜单);printf(n);scanf(%d,&select);switch(select)case 1:search_by_name(head);break;case 2:search_by_id(head);break;case 3:system(cls);Print_menu_main();break;break;case 4:system(cls);printf(请输入修改方式:1 按学号修改;2 按姓名修改; 3 返回主菜单);printf(n);scanf(%d,&select);switch(select)case。

36、 1:system(cls);modify_record_by_id(head);break;case 2:system(cls);modify_record_by_name(head);break;case 3:system(cls);Print_menu_main();break;break;case 5:system(cls);head=insert_record(head);break;case 6:system(cls);printf(请输入删除方式:1 按学号删除;2 按姓名删除; 3 返回主菜单n);scanf(%d,&select);switch(select)case 1:h。

37、ead=Delete_record_by_id(head);break;case 2:head=Delete_record_by_name(head);break;case 3:Print_menu_main();break;break;case 7:system(cls);Sorting_record_by_id(head);printf(按Enter键返回主菜单)n);getchar();r=getchar();if(r!=1)system(cls);Print_menu_main();elsesystem(cls);Print_menu_main();break;break;case 0。

38、:system(cls);printf( n);printf(-n);printf( - - - - - 谢谢使用 - - - - -!n);printf( n);break;八. 设计总结为期两个礼拜的数据库课程设计终于做完了,感觉在这段时间里收获了很多东西,由于这学期才学习的数据库原理,闫老师的代课条理清晰,所以做数据库课程设计感觉是对数据库的一次很好的复习。刚好课程设计前学习了一段时间MFC,所以在课程设计过程中对VC的使用不是很困难,即使遇到不懂的就在网上查询资料或咨询老师和同学都能够顺利的解决遇到的问题。由于我们使用的是ACCESS数据库,将数据库表的创建等都直接集成在向导里面,所以。

39、数据库语句我们基本上就没用到,加上时间太短,都是直接用向导创建完后直接使用,这点上我感觉很惭愧,不过我会在后面的学习中学会使用SQL SERVER数据库,希望通过它的学习来加深自己对数据库的理解并熟练使用。在这次数据库的设计中,我感觉到随着学生成绩管理类型的不断增加和成绩管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。在这样的情况下有一个实用学生成绩管理系统是有其必然性的,如果能做出一个完善的学生成绩管理系统就使管理方面的工作量减少很多。在这次的课设虽然仅仅对学生成绩管理系统进行建模,功能实现简单,但我从中学会了很多,也感到自身知识的贫乏,希望在日后的努力中能实现该系统,争取做出一个完善的系统。在此意谢谢老师的指导,在后面的学习中我会更加努力的。九参考文献1.数据库:原理编程与性能,高等教育出版社,Parick oNeil, Elizabeth ONeil编著,2005.7:2.数据库系统概论,高等教育出版社,王珊,萨师煊编著,2006.05.3黄德才,数据库原理及其应用教程 科学出版社 2003:4.王亚平,数据库系统工程师考试辅导 西安电子科技大学出版社 2004:5.张龙祥,数据库原理与设计人民邮电出版社 2002。

参与评论 您还未登录,请先 登录 后发表或查看评论
为方便用户使用特提供本帮助。 软件主界面 主界面包括主菜单,常用的功能按钮和软件名称及版本等信息: 主菜单 软件主菜单包括“学生管理”,“普通查询”和“帮助”三个主菜单。 1 学生管理主菜单功能 点击“学生管理”主菜单项,可以看到它包括的功能子菜单项, 包括“学生信息录入”,“成绩等级设置”和“学生违规处理”3个菜单项目,分别完成学生成绩的录入,成绩等级设置和违规处理功能。 点击“学生信息录入”进入成绩录入子窗口 在对应的输入框内输入内容点击“保存/输入下一个”按钮即可将输入的记录保存到数据库中。如果学生编号是空,即没有此学生时候系统能给出错误提示。同时注意“考试日期输入框一定要选择日期。如果有重复记录的话,系统将给出错误提示,并不会保存记录。 点击“成绩等级设置”进入成绩等级设置子窗口 在“设置类别”选择框内可以选择“优秀”,“良好”“及格”和“不及格”四个选择项。然后在成绩上下限输入框内输入该等级成绩的上限和下限,然后点击“设置”即可。 下面的四个功能按钮分别完成查询对应成绩等级的功能,并在窗口底部实时显示。 点击“学生违规处理”子菜单进入违规处理子窗口 在对应的输入框内输入记录点击“保存违规记录”按钮即可将输入记录保存到数据库。如果没有此学生编号系统会给出错误提示。 2 查询管理菜单项 点击“查询管理”打开查询管理子菜单项 点击“学生基础信息查询”进入学生基础信息查询子窗口 该窗口可以按照学生编号查询学生的基础信息,在“学生编号”对应的输入框内输入要查询的学生编号,点击“查询”按钮即可。如果有此学生的信息,下面对应的基础信息显示框内就显示查询到的该学生的记录,最下的列表框内将显示查询到的学生的列表信息。 点击“学生成绩报表/成绩排行”子菜单项,进入学生成绩的报表显示和排行界面窗口, 该界面内可以实现学生成绩的报表显示和成绩排行,都以excel的形式提供。点击“学生成绩排行”按钮,系统将以excel的形式提供排行结果,默认的文件名字是mystudentreport_sorted。如果该文件已经存在,系统能提示是否覆盖原文件 如果要替换原文件重新产生报表,点击“是”否则点击“否”,取消操作,点击“取消”,如果点击“是”,系统将产生新的经过排行的成绩报表。点击“分页预览”按钮可以分页预览 点击“生产报表”按钮,系统将以excel的形式提供报表结果,默认的文件名字是mystudentreport。如果该文件已经存在,系统能提示是否覆盖原文件,接下来的操作同“学生成绩排行”操作。 点击“学生违规查询”子菜单项进入学生违规查询界面, 该界面可以实现按照学生编号的查询违规记录的功能。在学生编号的输入框内输入学生编号,点击“查询”按钮即可。下面的对应的结果显示栏内将显示该学生的第一条违规的详细记录,最低端的列表框内将显示此学生的所有违规记录。 3 “帮助”主菜单项 点击“帮助”主菜单项,进入其子菜单项, 包括两个子菜单项:“系统帮助”和“关于学生信息管理系统” 点击“帮助”打开系统帮助文件; 点击“关于学生信息管理系统”子菜单项,进入关于系统信息的子窗口, 该窗口显示本系统的名称和版本信息,版权信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值