ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:123.42KB ,
资源ID:4303868      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4303868.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩管理系统源代码.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩管理系统源代码.docx

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

2、rick ONeil,Elizabeth 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查询模块流程图图5班级与学生成绩流图(一)、系统的功能分析该学生成绩管理系统是基

7、于网络在线的学生成绩管理系统,在系统中分为大的两个方面:一是教师登录页面、二是学生登录页面。(1)教师进入学生成绩管理系统的主要功能是:实现添加用户、添加成绩、学籍信息修改、修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(2)学生进行学生成绩管量系统的主要功能是:实现修改密码、查询课程、选课、查询成绩、学籍信息查询、打印等基本功能。(二)、 系统功能模块图图6教师功能模块图教师在学生成绩管理系统中能够对所有学生的成绩查看,对学生按学号进行精确查询、按学生姓名进行模糊查询,可以修改自己的登录密码,添加用户,添加学生的成绩,打印学生的学籍信息。 图7学生功能模块学生在系统中的基

8、本功能是对自己所有成绩的查询,课程的查询,个人登录密码的修改,基本信息的查看,选课,打印自己的学籍信息。七代码 #include #include #include #include struct student /结构体定义 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

9、 student *Print_menu_main() /主菜单 printf( *n); printf( | 1.输入学生信息 | n); printf( | 2.输出学生信息 | n); printf( | 3.查找学生信息 | n); printf( | 4.修改学生信息 | n); printf( | 5.插入学生信息 | n); printf( | 6.删除学生信息 | n); printf( | 7.排序学生信息 | n); printf( | 0.退出系统 | n); printf( |_ _ _ _ _ _ _ _ _ _ _ _ _ | n); struct student

10、*print_table_head() printf(+-+-+-+-+-+n); printf(| 学号 | 姓名 | 出生日期 | c成绩 |数据结构成绩 |n); printf(+-+-+-+-+-+n); struct student *print_table_row(struct student *p) printf(|%10d|%10s|%10s|%10d|%10d|n,p-num,p-name,p-birthday,p-Cyuyan,p-shujujiegou); void print_table_bottom() printf(+-+-+-+-+-+n); struct stu

11、dent * 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_table_row(head); print_table_bottom(); else pnewstu=creat_by_input(); print_table_head(); print_table_row(

12、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(cls); Print_menu_main(); break; return head; struct student *creat_by_input() struct student *p

13、newstu=(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语言:);scanf(%d,&(pnewstu-Cyuyan); printf(数据结构:);scanf(%d,&(pnewstu-shujujiegou); pnewst

14、u-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_head(); if(head=NULL) printf(n No Recordsn); for(p=head;p;p=p-next) printf(

15、|%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(); else system(cls); Print_menu_main(); struct student *search_by_name(struct student *head)/按姓名查找 char name10; str

16、uct 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_bottom(); printf(是否继续查找?(Y 继续;N 返回主菜单)n); getc

17、har(); 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(请输入要查找的学号:); scanf(%d,&id); printf

18、(查找%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(); else search_by_id

19、(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(学号:);scanf(

20、%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=get

21、char(); 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

22、-name,name)=0) break; 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_ta

23、ble_head();print_table_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 *insert_record(struct student *head)/插入 struct student *pt

24、r1; struct student *ptr,*stud; struct student *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; else while(ptr2!=NULL) ptr1=ptr2; ptr2=ptr1-next;

25、 if(ptr2-num=id) ptr1-next=ptr; ptr-next=ptr2; break; print_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

26、 head; struct student *Delete_record_by_id( struct student *head)/按学号删除 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) ppre=h

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1