![点击分享此内容可以赚币 分享](/master/images/share_but.png)
学生证管理系统(C语言课程设计).doc
《学生证管理系统(C语言课程设计).doc》由会员分享,可在线阅读,更多相关《学生证管理系统(C语言课程设计).doc(23页珍藏版)》请在咨信网上搜索。
1、C语言课程设计报告学 院:计算机学院专 业:网络工程题 目:学生证管理系统班序号 :19313126学 号:20131004080姓 名: 赵清华2013年12月31日报告目录一、 实习内容要求-3二、需求分析 -3三、总体设计-3四、设计简介-44。0头文件 -44.1主函数-54.2子函数菜单-54。3子函数添加-54.4子函数修改-104。5子函数浏览-134.6子函数查询-144.7子函数统计-184.8 子函数删除-23五、上机操作-255.1系统说明-255。2 系统测试-25六、总结 _31一、实习内容要求1、用C语言编写一个学生证管理系统,该系统具有以下功能:(1)录入某位学生
2、的学生证信息;(2)给定学号,显示某位学生的学生证信息;(3)给定某个班级的班号,显示该班所有学生的学生证信息;(4)给定某位学生的学号,修改该学生的学生证信息;(5)给定某位学生的学号,删除该学生的学生证信息;(6)提供一些统计各类信息的功能;(7)提供浏览所有学生的学生证信息的功能。2、输入要求应用程序运行后,在屏幕上显示一个菜单;用户可以根据要求,选定相应的操作项目;进入某个操作后,根据应用程序的提示,从键盘输入相应的信息.3、输出要求(1)应用程序运行后,要在屏幕上显示一个菜单;(2)要求用户输入数据时,给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等.二、需求分析学生证
3、信息采用文件存储,因而要提供问价的输入/输出操作;要根据给定的学号或班号进行相应操作,要提供查找操作;实现一些统计给雷信息的功能要提供统计操作;另外,还要提供键盘式选择菜单以实现功能选择。三、总体设计这个程序被设计成数据输入模块、数据查找模块、数据子函数删除和数据子函数统计。即:添加,修改、查询,浏览、删除,统计等,如下图所示:四、设计简介4。0头文件includestdio。h#includestdlib。h#includestring.hdefine N 100struct Class char Cname20;/班名 char Cno20;/班号;struct Student/学生 ch
4、ar Sname20;/姓名 char Sex10;/性别 char Sno20;/学号 int Age;/年龄 struct Class CInfo;/嵌套结构体,表示班级信息StuInfoN; /结构体数组,用作读取和存放临时数据4。1 主函数void main() menu(); getchar();4.2子函数菜单void menu() int chose; int right; do printf(ntttt学生证管理系统n); printf(*n”); printf(”tttt1.添加学生信息);printf(”ntttt2.修改学生信息);printf(”ntttt3.全部学生信
5、息);printf(”ntttt4。查询学生信息”); printf(ntttt5。统计学生信息”); printf(ntttt6。删除学生信息”);printf(ntttt7。退出系统n”); printf(”*”); printf(”请输入数字选择:”); scanf(%d,&chose); if(chose1|chose8) right=1;printf(”输入错误,请重新输入!n); getchar(); else right=0;while(right=1);switch(chose)case 1:add(); break; /子函数添加case 2:modify(); break;
6、 /子函数修改case 3:browse(); break; /子函数浏览case 4:quiry(); break; /子函数查询case 5:stastic(); break; /子函数统计case 6:Delete(); break; /子函数删除case 7:exit(0); /退出 4.3子函数添加首先要判断文件StuInfo.txt是否存在,如果存在就以读写(r+)的方式打开,如果不存在,就以写(w)的方式创建文件StuInfo.txt。输入格式要求:性别为男或女,学号为11位且不能重复,年龄在0100之间,班级号为6位,程序提供了完善的验证机制,输入错误时将提示重新输入直到正确为
7、止。此外,如果以读写的方式打开,还要判断记录数num100) printf(年龄应在0100之间,请重新输入年龄!n”);right=1;getchar(); else right=0; while(right=1); StuInfo0。Age=age; do printf(n班号(6位):); scanf(”s”,cno); if(strlen(cno)!=6) printf(”输入错误,班号长度应为6位数!n);right=1;getchar(); else right=0; while(right=1); strcpy(StuInfo0。CInfo.Cno,cno); printf(”n
8、班名:); scanf(s,StuInfo0.CInfo.Cname); fprintf(fp,”nststst%dtst%s,StuInfo0。Sname,StuInfo0。Sex,StuInfo0。Sno,StuInfo0.Age,StuInfo0。CInfo。Cno,StuInfo0.CInfo。Cname); fclose(fp); printf(n保存成功!n”); printf(”n请按enter键返回主菜单!n”); getchar(); getchar(); menu(); /以上的输入是以写的方式输入,下面是以读写的方式输入数据 for(i=0;!feof(fp);i+) f
9、scanf(fp,”s%ssds%s,StuInfoi.Sname,StuInfoi.Sex,&StuInfoi。Sno,&StuInfoi.Age,StuInfoi。CInfo。Cno,StuInfoi。CInfo。Cname); num=i; /记录数 if(num=N) printf(”n保存记录数超出结构体数组数的大小,请先修改N的值!n”);printf(n请按enter键返回主菜单!n”); getchar();getchar();menu(); printf(n请按照提示输入学生信息:nn”); printf(”姓名:”); scanf(”s”,&StuInfonum。Sname
10、); do printf(n性别(男或女):); scanf(”s”,sex); if((strcmp(sex,”男”)!=0)&(strcmp(sex,”女”)!=0) printf(输入错误,请输入男或女!n”);right=1;getchar(); else right=0; while(right=1); strcpy(StuInfonum。Sex,sex); do printf(n学号(11位):”); scanf(”%s,sno); if(strlen(sno)!=11) printf(”输入错误,学号长度应为11位数!n);right=1;getchar(); else righ
11、t=0; for(i=0;inum;i+) if(strcmp(sno,StuInfoi。Sno)=0) printf(该学号已经存在,请重新输入!n”); right=1; getchar(); while(right=1); strcpy(StuInfonum.Sno,sno); do printf(”n年龄:”); scanf(d,&age); if(age100) printf(年龄应在0-100之间,请重新输入年龄!n”);right=1;getchar(); else right=0; while(right=1); StuInfonum。Age=age; do printf(”n
12、班号(6位):); scanf(”%s”,cno); if(strlen(cno)!=6) printf(”输入错误,班号长度应为6位数!n”);right=1;getchar(); else right=0; while(right=1); strcpy(StuInfonum.CInfo。Cno,cno); printf(”n班名:”); scanf(s”,StuInfonum。CInfo。Cname); /把该记录写到文件末尾fprintf(fp,”n%stststdtsts”,StuInfonum。Sname,StuInfonum。Sex,StuInfonum。Sno,StuInfonu
13、m。Age,StuInfonum。CInfo。Cno,StuInfonum。CInfo。Cname); fclose(fp); printf(”n保存成功!n”); printf(”n请按enter键返回主菜单!n); getchar(); getchar(); menu();4。4子函数修改先判断文件StuInfo.txt以读(r)的方式能否打开,不能就返回,可以就读入记录;然后输入学号查找记录,没找到就返回,找到就按照提示修改该记录,与输入模块一样,输入的格式要求:性别为男或女,学号为11位且不能与除当前修改的记录的学号外的记录的学号重复,年龄在0-100之间,班级号为6位,程序提供了完善
14、的验证机制,输入错误时将提示重新输入直到正确为止。输入完成后,再以写(w)的方式创建文件,不能创建就返回,可以就将结构体数组中的所有记录保存到文件中,这与添加稍有差别,最后返回主菜单。void modify() int num; int i; int right; int age; char sex20; char cno20; char sno20; int found=1; char StuNO20; FILE*fpr,fpw; if(fpr=fopen(”StuInfo.txt”,r)=NULL) printf(”文件打不开!n”); menu(); for(i=0;!feof(fpr)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生证 管理 系统 语言 课程设计
![提示](https://www.zixin.com.cn/images/bang_tan.gif)
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。