学生学籍管理系统C课程设计报告-正文.doc
《学生学籍管理系统C课程设计报告-正文.doc》由会员分享,可在线阅读,更多相关《学生学籍管理系统C课程设计报告-正文.doc(20页珍藏版)》请在咨信网上搜索。
学生学籍管理系统C课程设计报告-正文 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 经济学院(国际经济与贸易)专业 MIS课程设计 (2011 —2012学年) 设计名称: 学籍管理系统 ───────────── 班 级:国贸21003班 --——--—-——-—-—-- 姓 名:廉鹏、宁二龙、俞鸿辉、曾光明 —————-------——-—--—---—-—-----— 指导教师:信管教研室 ——---——---—--——-— 成 绩: --—-----—--———-- 序 号: 二0一二年5月31日 目 录 1 前言 2 2 需求分析 2 2。1 课程设计目的 2 2.2 课程设计任务 2 2.3 设计环境 3 2。4 开发语言 3 2。5 系统可行性分析 3 3 分析和设计 4 3。1 功能分析 4 3。2 系统流程图 4 3。3 主要模块的流程图 5 4 E-R图………………….。.…………………………………………………。7。 5。数据字典……………………………………………………………………9 6 具体代码实现 10 7 课程设计体会 17 参考文献 17 1 前言 现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该努力学习科学文化知识,以适应社会的发展要求。以现代化的科学知识为祖国做贡献。计算机C语言课程设计是一门实践性很强的课程,因此,我们可以从这里出发,将实践教学与理论教学达到密切结合。。 根据实际题目,要求我小组编写一个程序来,用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 通过一个结构体数组来存放输入的每一位同学的信息(包括学号,姓名,性别,年龄,籍贯,系别,专业,班级),然后将其信息存入文件中。输入一个学号查询该同学的信息,并显示在屏幕上。 2 需求分析 本系统为了实现学校在校学生、离校学生各项信息资源的查询、统计、添加、删除、维护与管理,方便用户的管理与需求。学籍管理系统的系统分析的重点是对学籍管理信息系统的业务流程进行描述,通过采用流程图中的部分图形来对学生信息质量的管理活动进行规范化说明. 2。1 课程设计目的 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 2。2 课程设计任务 (1) 系统以菜单方式工作。 (2) 登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3) 删除已知学号的学生信息; (4) 查找已知学号的学生信息; (5) 显示同一系学生信息和统计人数; (6) 显示所有学生信息和统计人数人数; 2.3 设计环境 (1)WINDOWS 2000/2003/XP/7/Vista系统 (2)Visual C++或TC集成开发环境 2.4 开发语言 C++语言 2.5系统的可行性分析 2.5.1 管理上的可行性 把教师事务、信息延伸到Internet,建立了评分系统,对于老师来讲,是信息统一化,管理透明化,学生成绩公开化的一个良好的系统,因此,对于学校教务领导来说不会对此有很大的抵触情绪,班主任及辅导员也能够相应的支持. 2。5.2 技术上的可行性 a、数据涉及的计算比较简单,适合采用数据库; b、学校的微机在存储和运转方面能够满足数据库的需求; c、该系统功能网上有很多文献,可以参考程序功能,帮助实现系统。 2.5.3 经济上的可行性 学生的成绩繁多增加了老师的负担,造成了管理人的信息费、大量的纸质费用,还用了大量的时间来核对,受一定的时间与物理空间的局限及学生数量,成本较高。而本系统可以帮助老师正确认识评分系统技术在学校中的重要地位,以少量的时间和资金建立评分系统。 3 分析和设计 3.1功能分析 将学生学管理系统分为:用户管理、学生信息管理、学生成绩管理和学生学籍档案管理四个功能模块,。各个管理模块现用表的方式加以说明如下: 学生学籍管理信息系统 管理员 学生成绩表 学生信息表 学生学籍管理信息表 信息的查、增、删、改 学生档案表 — 1、学生信息管理模块主要对学生信息 (学号、姓名、性别、班级、家庭住址)进行管理,本模块又分为三个子模块。 学生信息录入 学生信息查询 学生信息修改删除 2、学生成绩管理模块主要是对学生成绩进行管理,四个子模块。 学生成绩录入 学生成绩查询 学生成绩修改/删除 学生成绩统计 3、学生学籍档案管理模块主要对学校在校生的档案进行管理。 学生、奖惩情况的查询 学生报名注册登记表录入 在校生档案的查询 4、用户管理主要对用户权限设置进行管理。 用户名:密码设置(管理人员和普通用户) 3.2 系统流程图 学生学籍管理信息系统数据流程图 S01 档案单 成绩单 P03 P02 P01 D3 D2 D1 信息单 学生学籍信息管理员 学生信息录入 成绩信息录入 档案信息录入 信息数据表 成绩数据表 档案数据表 数据库 S01 档案单 成绩单 P03 P02 P01 D3 D2 D1 信息单 学生学籍信息管理员 学生信息录入 成绩信息录入 档案信息录入 信息数据表 成绩数据表 档案数据表 数据库 F05 F04 F03 F02 F01 按班级 按学号 按姓名 P01 D1 S01 信息录入 学生信息管理员 学生信息查询 信息数据表 F06 学生学籍管理员通过学生信息单,学生成绩单,学生档案单分别录入,生成信息数据表,成绩数据表,档案数据表从而成立一个总的数据库 3。3 主要模块的流程图 1、学生信息管理数据流图 学籍信息管理员通过信息单录入学生的信息,建立信息数据表。用户可根据,学号,姓名,班级来查询自己所需的信息,方便而简单。 2、学生成绩管理数据流图 学籍成绩管理人员通过成绩单录入学生的成绩,建立成绩数据表。则用户可根据,学号,姓名,班级查看自己所需的信息。 F07 F05 D P1 P2 按姓名 按班级 按学号 F04 F03 F02 F06 成绩统计 成绩单 F01 S01 学籍成绩管理员 成绩录入 成绩查询 成绩数据表 3、档案管理数据流图 学籍档案管理员通过档案单录入学生的档案,建立档案数据表.用户可根据,学号,姓名,班级查询学生的基本档案 F07 F06 D P2 P1 按姓名 按班级 F05 F04 F03 按学号 F02 档案单 F01 S01 学生档案管理人员 档案信息录入 档案查询 档案数据表 4、系统管理据流图 系统管理员根据用户需要设置用户及权限,建立系统数据表。使整个系统的维护 更具有安全性,保密性 F07 F05 D P1 P2 验证 密码 用户名号 F04 F03 F02 F06 验证 登陆 F01 S01 系统管理员 建立报表 学籍系统 系统数据库 4。E-R图 系统逻辑设计的主要工作就是将E—R图转换成一张张的二维表,以及各表的属性.E-R图是系统的概念设计,对系统前期分析相当重要,它可以正确直观的反映出一个业务系统过程。本系统的E-R图如下: 班级 姓名 1 1 N 1 N 1 1 1 N N 用户名 密码 登录 管理员/普通用户 学生学籍 从属 学生信息 联系电话 学号 专业 家庭住址 出生年月 从属 学生成绩 专业 学号 课程名称 姓名 班级 从属 学生档案 专业 姓名 学号 班级 政治面貌 奖惩 是否留级 包含 注册表 专业 班级 姓名 学号 出生年月 家庭住址 联系电话 学生学籍管理信息系统E—R图 5.数据字典 l 数据项 学生表(XS) 名称 数据类型 大小 约束 Xh(主键) char 10 not null Xm char 10 not null Xb char 10 null Cssj char 10 null Zy char 10 null Zxf char 10 null Bz char 10 null Kch char 10 Not null 课程表(XS_KC) 名称 数据类型 大小 约束 Xh(主键) char 10 Not null Xch char 100 null Cj char 10 null 性别表(XBM) 名称 数据类型 大小 约束 Xb Char 10 Not null Xbm Char 10 Not null l 数据约束 (1)实体完整性约束:基本关系的所有主键的属性都不能取空值且主键作为唯一性标识。需要满足该约束的主键:学生表(XS).学号(xh)、课程表(KCB)。课程编号(kch)。 (2)参照完整性约束:外键的值只能取空值或等于关联主键的值.需要满足该约束的外键:学生表(XS)。学号与课程表(KCB) 课程号外键关联. (3)用户定义完整性约束:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。需要满足该约束的属性:学生表(XS)。学号,课程表(KCB)。课程编号,.都不能为空,学生表(XS).性别只能为男或女。 l 数据流图 学生 课程 录入 查询 学生信息 课程成绩 l 数据存储信息 XS表:Xh(主键)、Xb、Xb、Cssj、Zy、Zxf、Bz、Kch(外键)。 KC表:Kch(主键)、kCM、Cj。 XBM表:Xb、Xbm。 6 具体代码实现 #include <stdio.h> #include 〈string.h〉 #include 〈conio.h> #include <malloc。h〉 #include <stdlib.h> #define N 100 struct student {char XUEHAO[20]; char XINGMING[10]; char XINGBIE[4]; char NIANLING[10]; char JIGUAN[10]; char ZHUANYE[10]; char BANJI[6]; char XIBIE[20]; }student; void CAIDAN(); void ZHUCE(); void XIUGAI(); void SHANCHU(); void del_XUEHAO(FILE *fp); void del_XINGMING(FILE *fp); void CHAZHAO(); void sch_XUEHAO(FILE *fp); void sch_XINGMING(FILE *fp); void TONGJI(); void XIANSHI(); void TIANJIA(); void save( struct student student[]); main() { char choose,yes_no; do { CAIDAN(); printf(”\n 请输入序号: (1~8) "); choose=getch(); system(”cls”); switch(choose) { case'1’: printf(" %c”,choose);ZHUCE();break; case'2’: printf(" %c”,choose);XIUGAI();break; case'3': printf(” %c",choose);SHANCHU();break; case'4’: printf(” %c",choose);TIANJIA();break; case'5’: printf(” %c”,choose);CHAZHAO();break; case'6’: printf(” %c",choose);TONGJI();break; case'7': printf(” %c",choose);XIANSHI();break; case’8': break; default:printf("\n %c 序号不对!\n",choose); } if(choose=='8’)break; printf("\n 要继续选择吗 ? (Y/N) \n”); do { yes_no=getch(); printf(" %c",yes_no);} while(yes_no!='Y'&&yes_no!='y'&&yes_no!='N'&&yes_no!=’n'); }while(yes_no==’Y’||yes_no==’y'); } void CAIDAN() { system("cls”); printf(" **************************************** \n "); printf(" * -—请选择相应的功能-- * \n "); printf(" * 1—-———注册 * \n "); printf(” * 2-——--修改学生信息 * \n "); printf(" * 3-———-删除学生信息 * \n "); printf(" * 4——--—添加学生信息 * \n ”); printf(” * 5-——--查找学生信息 * \n "); printf(” * 6—--——统计学生信息 * \n "); printf(" * 7-—-——显示学生信息 * \n ”); printf(" * 8-————退出系统 * \n ”); printf(" **************************************** \n "); } /*定义学生信息注册的函数*/ void ZHUCE() { int i=1; struct student temp; FILE *fp; fp=fopen("F://123。txt",”w"); if(fp==NULL){ printf("\n 打开文件失败! \n");return; } printf(”\n 请输入第1个学生信息:\n”); printf(” 学号(用#结束输入): "); do { gets(temp.XUEHAO);} while(strcmp(temp.XUEHAO,” ")==0); printf(” 姓名(用#结束输入): ”);gets(temp。XINGMING); printf(" 性别(用#结束输入): ”);gets(temp.XINGBIE); printf(” 年龄(用#结束输入): ”);gets(temp。NIANLING); printf(" 籍贯(用#结束输入): ");gets(temp.JIGUAN); printf(" 专业(用#结束输入): ”);gets(temp。ZHUANYE); printf(" 班级(用#结束输入): ");gets(temp。BANJI); printf(" 系别(用#结束输入): ”);gets(temp。XIBIE); while(temp.XUEHAO[0]!='#'&&temp.XINGMING[0]!=’#'&&temp。XINGBIE[0]!=’#'&&temp。NIANLING[0]!='#'&&temp.JIGUAN[0]!=’#'&&temp。ZHUANYE[0]!=’#'&&temp。BANJI[0]!='#'&&temp.XIBIE[0]!='#'&&temp.XIBIE) { fprintf(fp,”%5s%10s%10s%10s%10s%10s%10s%10s\n”,temp。XUEHAO,temp。XINGMING,temp.XINGBIE,temp.NIANLING,temp。JIGUAN,temp。ZHUANYE,temp.BANJI,temp。XIBIE,temp); i++; printf(”\n 请输入第 %d 个学生信息:\n ”,i); printf(" 学号(用#结束输入): "); do { gets(temp.XUEHAO);} while(strcmp(temp.XUEHAO," ")==0); printf(” 姓名(用#结束输入): ");gets(temp.XINGMING); printf(" 性别(用#结束输入): ");gets(temp。XINGBIE); printf(" 年龄(用#结束输入): ”);gets(temp。NIANLING); printf(" 籍贯(用#结束输入): ”);gets(temp。JIGUAN); printf(” 专业(用#结束输入): ”);gets(temp。ZHUANYE); printf(" 班级(用#结束输入): ");gets(temp。BANJI); printf(" 系别(用#结束输入): ");gets(temp.XIBIE); } student=temp; save(&temp); fclose(fp); } /*定义保存函数*/ void save( struct student student[]) { FILE *fp=NULL; fp=fopen("F://123。txt”,"ab+"); fwrite(student,sizeof(struct student),1,fp); fclose(fp); } /*定义查找学生信息的函数*/ void CHAZHAO() { char c; FILE *fp; fp=fopen("F://123.txt”,”r"); if(fp==NULL) { printf("\n 打开文件失败! \n");return; } printf("\n 按学号查找( 1 ),还是按姓名查找( 2 )? ”); c=getch(); putch(c); if(c=='1') sch_XUEHAO(fp); else if(c=='2’) sch_XINGMING(fp); else printf(”\n 非法字符!\n”); fclose(fp); } /*定义按学号查找学生信息的函数*/ void sch_XUEHAO(FILE *fp) { int flag=0,n=0; char tempXUEHAO[20]; struct student temp; printf(”\n 请输入要查找学生信息的学号: ”); gets(tempXUEHAO); while(feof(fp)==0) { fscanf(fp,”%5s%10s%10s%10s%10s%10s%10s%10s\n”,&temp。XUEHAO,&temp。XINGMING,&temp.XINGBIE,&temp。NIANLING,&temp。JIGUAN,&temp。ZHUANYE,&temp。BANJI,&temp。XIBIE); if(strcmp(tempXUEHAO,temp。XUEHAO)==0) { if(flag==0) printf(” 学号 姓名 姓别 年龄 籍贯 专业 班级 系别\n"); printf(”%5s%10s%10s%10s%10s%10s%10s%10s\n",temp。XUEHAO,temp.XINGMING,temp。XINGBIE,temp.NIANLING,temp.JIGUAN,temp。ZHUANYE,temp.BANJI,temp。XIBIE); flag=1; } n++; } if(n==0) printf(”\n 文件中无此信息!\n”); else if(flag==0) printf("\n 文件中无此人!\n”); } /*定义按姓名查找学生信息的函数*/ void sch_XINGMING(FILE *fp) { int flag=0,n=0; char tempXINGMING[10]; struct student temp; printf(”\n 请输入要查找学生信息的姓名: ”); gets(tempXINGMING); while(feof(fp)==0) 7课程设计体会 通过这次的C语言课程设计,我获益匪浅。首先最深的是课本知识学的再好,也需要实际的检验.我从这次的课程中我认识到了自己的许多不足,满以为自己学的很好,可是到实际运用时,才发现自己这也不行,那里不足.让我深刻认识到自己所学知识必须运用于实际,让实际来检验自己的水平。同时这次课程设计也给了我们一个真正展示自我的机会,我通过自己的努力和老师、朋友的帮助顺利完成了这次课程设计 参考文献 [1] 张福祥. C语言程序设计[M]。 沈阳:辽宁大学出版社,2010.1 [2] 张福祥,王萌.C语言程序设计习题解答与实验实训[M].沈阳:辽宁大学出版社,2010.1 [3] 牛莉,刘远军等.计算机等级考试辅导教程[M].北京:中国铁道出版社,2008 17- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 课程设计 报告 正文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文