版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、课程设计(论文)题目学生成绩管理系统二、本次课程设计(论文)应达到的目的通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)系统功能基本要求 :1学生信息维护; 2教师信息维护; 3。 课程信息维护; 4学生选课信息; 5. 任课教师操作课程成绩; 6。 学生查询课程成绩。四、应收集的资料及主要参考文献: 1. 数据库:原理编程与性能(影印版)(第2版),高等教育出版社, Parick ONeil,Eli
2、zabeth ONeil编著,2005.7;2。 数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,2006。05; 五、审核批准意见教研室主任(签字)·这次课设我做的是学生成绩管理系统,本系统依据开发要求主要针对于教育系统,完成对日常的教育工作对学生成绩档案及其他信息的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化.现在在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的
3、安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。目前,学校工作繁杂、资料重多,目前还没有一套完整的、统一的系统.因此,开发一套适和大众的、兼容性好的系统是很有必要的,但由于知识积累及时间关系,这次课设我所设计的系统不是很完善,有些地方没有考虑到,所以实用性大打折扣,后面有时间将会将系统设计的全面些,更具有实用性。 在这次课设的开发过程中,我注意使其符合软件工程的设计的要求,在之前准备了许多时间来设计表结构,并将各个模块的流程画出来,使系统的各个模块功能完善,并力求系统应具有实用性、可靠性和适用性方便用户的操作,尽量减少用户的操作,并且能够对查询结果进行分类汇总,该系
4、统还有许多不尽如人意的地方,比如用户界面不够美观,对于出错处理不够等多方面问题,这些都有待进一步改善。 目录设计目的 1需求分析6概要设计7配置数据源11详细设计13设计总结22参考文献2326C语言程序课程设计-学生成绩管理系统一设计目的通过数据库大作业课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力.二问题描述系统功能基本要求 : 1学生信息维护; 2教师信息维护; 3。 课程信息维护; 4学生选课信息; 5。 任课教师操作课程成绩;6. 学生查询课程成绩.三. 需求分析“学生成绩管理信息系统”包括
5、四个模块:成绩录入、班级统计、年级统计、系统功能。这四个模块既相互联系又相互独立,班级统计、年级统计模块必须以成绩录入为基础。(1)成绩录入模块:主要功能用来对学生的成绩进行收集和修改。具体包括学生成绩录入、修改、增加、删除、查询等功能,成绩录入需要分班级、分年级以及某个时间考试的各门功课的成绩。修改要与成绩录入相对应.增加、删除是对基本表的操作。查询条件设置应该齐全,可以班级查询,年级查询,也可以姓名查询,学号查询等等。(2)班级统计模块:主要功能用来对学生的成绩以班级为单位进行处理。具体包括各班学生总成绩、平均成绩、班级排名及统计班级某分数段内的学生人数;各个学生该科成绩、班级排名及统计班
6、级某分数段内的学生人数。各项统计仅对于某学期某次考试而言.(3)年级统计模块:主要功能用来对学生的成绩以年级为单位进行处理。具体包括各年级学生总成绩、年级排名统计年级某分数段内的学生人数;各个学生该科成绩、年级排名及统计、年级某分数段内的学生人数。各项统计仅对于某学期某次考试而言,在统计时,还应注意各年级考试科目不同。(4)系统功能模块:关于系统及退出系统.四概要设计在概要设计里,根据系统需求设计系统EI图,程序流图,系统功能模块图等信息,并配置了数据源。课程号成绩编号学生学号学号班号科目图1系统EI图图2学生信息图3功能模块图:查询条件满足条件数据库显示结果退出不符合条件图4查询模块流程图学
7、生成绩学号姓名考试日期操作系统数据库组成原理计算机网络数据结构班级班级号年级号班级人数总人数图5班级与学生成绩流图(一)、系统的功能分析该学生成绩管理系统是基于网络在线的学生成绩管理系统,在系统中分为大的两个方面:一是教师登录页面、二是学生登录页面。(1)教师进入学生成绩管理系统的主要功能是:实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能.(2)学生进行学生成绩管量系统的主要功能是:实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(二)、 系统功能模块图登录添加用户添加成绩信息修改修改密码查询课程查询成绩信息查询退出
8、系统系统首页教师功能界面图6教师功能模块图教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。 退出系统信息查询修改密码选课课程查询成绩查询登录系统首页学生功能界面图7学生功能模块学生在系统中的基本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。七代码include <stdio。h#include string。hinclude stdlib。hinclude windows。h>struct student
9、/结构体定义int num; char name10;char birthday10;int Cyuyan; 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(
10、” 3.。.。.。查找学生信息 n”); printf(" | 4.。.修改学生信息 n”); printf(” 5.。.。.插入学生信息 n”); printf(" 6.。.。删除学生信息 n"); printf(” 7。.。排序学生信息 n”); printf(" 0。.。.。.。退出系统 n"); printf(" _ _ _ _ _ _ _ _ _ _ _ _ _ n”);struct student *print_table_head() printf(”+-+-+-+-+-+n”); printf(” 学号 | 姓名 出生
11、日期 c成绩 |数据结构成绩 n”); printf("+-+-+-+-+-+n");struct student *print_table_row(struct student p)printf(”|10d|10s10s10d10dn",p-num,pname,pbirthday,pCyuyan,p>shujujiegou);void print_table_bottom()printf("+-+-+-+-+-+n”);struct student Creat_stu_record() /建立链表struct student plaststu=N
12、ULL,pnewstu;char continue_input=N'; struct student head=NULL;while(1)if(head=NULL)head=creat_by_input();print_table_head();print_table_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);pla
13、ststunext=pnewstu;printf("是否继续输入学生信息?(Y 继续,N 返回菜单)n”);getchar();continue_input=getchar();if(continue_input=n|continue_input=N) system(”cls”);Print_menu_main();break;return head;struct student *creat_by_input() struct student pnewstu=(struct student )malloc(sizeof(struct student));printf(”请输入学生信
14、息n”); printf(”学号:”);scanf(”%d”,&pnewstu>num); printf("姓名:”);scanf(”s”,pnewstuname); printf(”出生年月:”);scanf(”%s”,pnewstu>birthday);printf("请输入学生成绩n”);printf("C语言:”);scanf(”%d”,(pnewstuCyuyan));printf(”数据结构:”);scanf(”d",(pnewstushujujiegou); pnewstu-next=NULL; return pnews
15、tu;struct student get_last_student(struct student *p ) if(p-next=NULL)return p;else return get_last_student(pnext);void Print_Stu_Doc(struct student head)struct student *p;char r;print_table_head();if(head=NULL)printf("n No Recordsn”);for(p=head;p;p=pnext)printf(”|%10d10s10s|%10d10dn",p-nu
16、m,p->name,p>birthday,pCyuyan,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 search_by_name(struct student head)/按姓名查找char name
17、10;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=pnext;/*isfound=1; /break;p=pnext;print_table_bottom();printf("是否继续查找?(Y 继续;N 返回主菜单)
18、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(”请输入要查找的学号:”)
19、;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”);Pri
20、nt_menu_main();else search_by_id(head);return head; struct studentmodify_record_by_id(struct studenthead)/按学号修改struct student p=head;int id;char continue_input;printf("请输入要修改的学生的学号:n”);scanf("%d”,&id);while(p!=NULL)if(p>num=id)break;p=pnext;if(p=NULL) printf("抱歉,没有学号为d的学生n”,id)
21、;else printf(”请输入学生信息:n"); printf(”学号:");scanf(”%d”,(pnum)); printf(”姓名:”);scanf("%s”,(pname)); printf(”出生年月:”);scanf(”s”,(p-birthday));printf(”请输入学生成绩:n”);printf("C语言:”);scanf(”d",(p->Cyuyan);printf("数据结构:”);scanf(”d",(p-shujujiegou));print_table_head();print_t
22、able_row(p);print_table_bottom();printf(”继续修改学生信息吗?Y 继续;N 返回主菜单n");getchar();continue_input=getchar();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 studenthead)/按姓名修改struct studen
23、tp=head;char name10;char continue_input;printf("请输入要修改的学生的姓名:n");scanf("%s”,name);while(p!=NULL)if(strcmp(pname,name)=0) break;p=pnext;if(p=NULL) printf(”抱歉,没有姓名为s的学生n",name);else printf(”请输入学生信息:n”); printf(”学号:");scanf(”d”,&(pnum)); printf("姓名:");scanf(”s”,&a
24、mp;(p>name); printf(”出生年月:”);scanf(”s",(pbirthday));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_inpu
25、t=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 student *ptr2=head; char continue_input=N';int id;printf(”请输入一个学号,在此之前插入学生
26、信息:”);scanf(”d”,&id); stud=creat_by_input();ptr=stud;if(head=NULL)head=ptr;headnext=NULL;else if(head>num=id)ptr>next=head;head=ptr;elsewhile(ptr2!=NULL) ptr1=ptr2;ptr2=ptr1>next;if(ptr2-num=id)ptr1next=ptr;ptrnext=ptr2;break; print_table_head();print_table_row(ptr);print_table_bottom()
27、;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)/按学号删除struct student p=head,ppre=NUL
28、L;int id;char continue_input;printf(”请输入要删除的学号:”);scanf("d”,id);while(p!=NULL)if(pnum=id) break;p=pnext;if(p=NULL) printf(”抱歉,没有该学号的学生信息!n”); else printf("确定要删除学号为d的学生的信息吗?(Y 确定;N 返回主菜单)n”,p-num);getchar(); continue_input=getchar(); if(continue_input=ycontinue_input='Y) ppre=head;if(pp
29、re=p)head=p>next;printf(" n”); free(p);elsewhile(ppre!=NULL)if(pprenext=p)ppre->next=p>next;free(p);break;ppre=pprenext; printf("删除成功!”); / Print_menu_main();printf(”继续删除学生信息吗?(Y 继续;N 返回主菜单)");getchar();continue_input=getchar(); if(continue_input=y'continue_input=Y) Delet
30、e_record_by_id(head); 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(pname,name)
31、=0) break;p=p->next; if(p=NULL) printf(”抱歉,没有该姓名的学生信息!n");goto end;elseprintf(”确定要删除姓名为%s的学生的信息吗?(Y 确定;N 返回主菜单)”,pname);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
32、=p) ppre>next=p>next; free(p); break; ppre=pprenext; printf(”删除成功!”); /else Print_menu_main();end: printf(”继续删除学生信息吗?(Y 继续;N 返回主菜单)”); printf("n”); getchar(); continue_input=getchar(); if(continue_input=Ycontinue_input='y) Delete_record_by_name(head); else system(”cls"); Print_me
33、nu_main();return head; return 0; struct student * Sorting_record_by_id(struct student head)/按学号排序int i=0,j,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”);Pr
34、int_menu_main();elsept1=head;pt2=head-next;for(pt=head;pt;pt=pt>next)i+;for(j=1;ji;j+)pt1=head; pt2=head-next;for(k=1;k<ij+1;k+)if(pt1->numpt2->num)m=pt1; *pt1=pt2;*pt2=m;pt2next=pt1->next;pt1-next=pt2;pt1=pt2;pt2=pt1->next;print_table_head();for(pt=head;pt;pt=pt-next)printf("
35、10d|10s|%10s|10d%10dn",pt->num,ptname,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;char r;system(”color e”);printf(” n");printf(” n”);printf(” 欢迎使用学生成绩管理系统! n”);printf(” n”);p
36、rintf(”n”);printf(" n”);printf(”。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。n"); printf(”请按照提示信息完成操作n”);Print_menu_main();printf(” n");printf(”:::::::::::::::::::::::::::::::n”);printf(” n”);printf("* * * * * * * * * * * * * *n”);while(choice!=0)printf(”请选择所要执行的操作:n”);start:if(sca
37、nf(”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”);printf(
38、"请选择查找方式: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 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);brea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- NB/T 11821-2025煤层气资源勘查设计规范
- 2026届辽宁省盘锦市双台子区一中学初三(数学试题理)4月第一次综合练习试卷含解析
- 护理课件制作软件的数据分析优化
- 2026年大学大一(机械电子工程)液压与气压传动阶段测试题及答案
- 遂宁职业规划教学方案
- 英语专业就业方向解析
- 2025年前台防疫接待礼仪练习题
- 护理学导论急救护理技能
- 放飞想象 赏析习作-六上“变形记”习作教学
- 物资出入库、盘点管理制度
- 职业素养感恩教育
- 酒店代理返佣合同范本
- TCAOE 76-2024 海藻场生态修复与效果评估技术指南
- SYB第八步创业制定利润计划
- 农村祖坟修补方案(3篇)
- 部编版四年级下册道德与法治教学工作计划及进度表
- 美术四年级上人美版:第7课飞天(二)课件
- 鱼类营养需求精准调控-洞察及研究
- 中行员工管理办法
- 律所分所管理办法
- 舞台使用管理办法
评论
0/150
提交评论