C语言课程设计报告--学生学籍管理系统.doc
《C语言课程设计报告--学生学籍管理系统.doc》由会员分享,可在线阅读,更多相关《C语言课程设计报告--学生学籍管理系统.doc(18页珍藏版)》请在咨信网上搜索。
- . XXXXXX学院课程设计任务书 [文档副标题] XXXXX 2013 一、分析系统功能,绘制系统功能构造框架图2 1.1、分析系统功能2 1.2、构造框架图2 二、程序代码以及界面形式3 2.1程序代码如下3 2.2、界面形式3 三、使用说明3 四、日志3 五、心得体会3 六、参考文献3 1.1、分析系统功能 〔1〕用户进入主菜单后,就会在看到,菜单项选择项中添加有系统的各项功能,进入的 应的选项就可进展相应的操作.其主要功能有: 1、录入学生信息 2、删除学生信息 3、查询学生信息 4、学生信息排序 5、改学生信息 6、保存退出系统 〔2〕用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开场进展操作。 1.2、构造框架图 录入学 生信息 主 菜 单 保存退 出系统 修改学 生信息 学生信 息排序 查询学 生信息 删除学 生信息 2.1程序代码如下 #include "stdio.h" #include "conio.h" #include "string.h" #include "stdlib.h" #define PF printf #define SF scanf static int n,i; struct address_book { char name[20]; int num; char sex; char clas[40]; long telephone; char addr[40]; }stud[200]; void add() { char j; front1: system("cls"); /*清屏*/ PF("\n"); PF("\n请输入要添加的XX:"); SF("%s",stud[n].name); PF("\n请输入要添加的学号(8位):"); SF("%d",&stud[n].num); PF("\n请输入要添加的性别(F/M):"); SF("\n%c",&stud[n].sex); PF("\n请输入要添加的班级:"); SF("%s",&stud[n].clas); PF("\n请输入要添加的:"); SF("%ld",&stud[n].telephone); PF("\n请输入要添加的地址:"); SF("%s",stud[n].addr); getchar(); n++; PF("是否继续(Y/N)?:"); j=getchar(); getchar(); if(j=='y'||j=='Y') goto front1; /*再输入记录*/ } void del() {int k=0,m,i;char j; front2: system("cls"); /*清屏*/ PF("\n请输入要删除的学号:"); scanf("%d",&m); getchar(); for(i=0;i<n;i++) if(m==stud[i].num){ k=1;break;} /*查找记录*/ if(k==1) /*删除记录*/ { for(k=i;k<n-1;k++) { stud[k]=stud[k+1]; } n--;PF("已删除\n\n"); } else { PF("找不到要删除的记录!\n"); PF("按回车键返回:"); getchar(); } PF("是否继续(Y/N)?:"); j=getchar(); getchar(); if(j=='y'||j=='Y') goto front2; } void find() {int i,k,s=0; char j; front3: s=0; system("cls"); /*清屏*/ PF("\n请输入要查询的学号: "); SF("%d",&k); for(i=0;i<n;i++) if(k==stud[i].num) { PF(" XX学号性别班级地址 \n"); PF(" %-10s%-8d %c %-20s%-8ld %-6s\n",stud[i].name, stud[i].num,stud[i].sex,stud[i].clas,stud[i].telephone, stud[i].addr); s=1; } if(s==0) PF("查无此人!\n"); getchar(); PF("是否继续查询(Y/N)?:"); j=getchar();getchar(); if(j=='y'||j=='Y') goto front3; getchar(); } void arrange() {int k,i; struct address_book t; system("cls"); /*清屏*/ PF(" XX学号性别班级地址 \n"); for(k=0;k<n-1;k++) for(i=0;i<n-k-1;i++) if(stud[i].num>stud[i+1].num) {t=stud[i]; stud[i]=stud[i+1]; stud[i+1]=t;} else continue; for(i=0;i<=n-1;i++) if(stud[k].num!=0) PF(" %-10s%-8d %c %-20s%-8ld %-6s\n",stud[i].name, stud[i].num,stud[i].sex,stud[i].clas,stud[i].telephone, stud[i].addr); PF("按回车键返回!");getchar(); getchar(); } void change() {int k=0,m;char j; front5: system("cls"); /*清屏*/ PF("\n请输入要修改记录的学号:"); SF("%d",&m); getchar(); for(i=0;i<n;i++) if(m==stud[i].num) { k=1;break; } /*查找*/ if(k==1) /*修改*/ { PF("\n"); PF("\n请输入修改后的XX:"); SF("%s",stud[i].name); PF("\n请输入修改后的学号:"); SF("%d",&stud[i].num); PF("\n请输入修改后的性别(F/M):"); SF("\n%c",&stud[i].sex); PF("\n请输入修改后的班级:"); SF("%s",&stud[i].clas); PF("\n请输入修改后的:"); SF("%ld",&stud[i].telephone); PF("\n请输入修改后的地址:"); SF("%s",stud[i].addr); PF("修改成功\n"); getchar(); } if(k==0) { PF("找不到要修改的记录!\n"); PF("按回车键返回:"); getchar(); } getchar(); PF("是否继续(Y/N)?:"); j=getchar(); getchar(); if(j=='y'||j=='Y') goto front5; } void main() { char j; PF("\n\n\n\n\n\n\t\t\t 欢送使用学生学籍管理系统"); PF("\n\n\n\t\t\t\t 制作人:健"); PF("\n\n\n\t\t\t\t 2008年6月"); PF("\n\n\n\n\n\t按回车键进入主菜单:"); getchar(); loop: system("cls"); PF("\n"); PF("\t\t\t\t ************\n"); PF("\t\t\t\t * 主菜单 *\n"); PF("\t\t\t\t ************\n"); PF("\t\t 1:录入学生信息 2:删除学生信息\n\n"); PF("\t\t 3:查询学生信息 4:学生信息排序\n\n"); PF("\t\t 5:修改学生信息 6:保存退出系统\n\n"); PF("\t 请选择[1/2/3/4/5/6]: "); j=getchar(); if(j=='\n') goto loop; /*返回主菜单*/ switch(j) { case '1': add(); goto loop; /*返回主菜单*/ case '2': del(); goto loop; case '3': find(); goto loop; case '4': arrange(); goto loop; case '5': change(); goto loop; case '6': { FILE *fp; fp=fopen("student.dat","w"); for(i=0;i<n;i++) {fwrite(&stud[i],sizeof(struct address_book),1,fp);} fclose(fp);exit(0); } default: goto loop; } } 2.2、界面形式 学生学籍管理系统是针对学生信息的管理,主要功能是添加学生信息、删除学生信息、查询学生信息、学生信息排序、修改学生信息、保存信息。 用户翻开程序,进入主界面〔如图1〕 (1)、按回车进入主菜单,列出各项功能 (2)、输入1进入录入界面,用户即可录入信息,当录入完即会提示“是否继续〞,如果输入“Y〞或者“y〞,那么会继续录入,假设输入“N〞或者“n〞那么会退出到主菜单。 〔2〕、在主菜单中,输入2,那么会进入删除界面,输入要删除的学生的学号即可将该学生的信息删除。 〔3〕、在主菜单中,输入3,那么会进入查询界面,输入要查的学生的学号即可查询到信息。 〔4〕、在主菜单中,输入4,那么会进入进入学生信息排序,在这里会显示按学号由小到大排列出的所有学生的信息。 〔5〕、在主菜单中,输入5,那么会进入学生信息修改界面,输入想修改学生的学号后,就可在这里可以对该学生信息进展修改。 〔6〕、在主菜单中,输入6,那么会退出系统,并且系统会自动对信息进展保存。 6月23日星期一 从今天起,正式开场做课程设计了。但坐到电脑前想开场做时,却不懂如何开场写起,都感到有点陌生了。因为前一阵一直在忙于各科的考试,好久没碰C语言了,都开场有生疏感了。但还是试着在电脑上编了下,光要写个主函数还很吃力,更头痛的吃力的结果还换来了很多错误,本想编译下,试试的,结果错误警告一大堆。鉴于此,我还是决定先把书再好好看下,“工欲善其事,必先利其器〞嘛! 6月24日星期二 昨天看了一天的书,又加上今天看的,可却连一半还没看完。我是按部就班的顺序往下看的,但因为书的前半局部大多是根底知识,因此在晚上上课时依旧不知如何编写。折腾了一晚上,想编写要调用的函数的,试着编了好多,但都是些到处是错误的程序,根本没法用。而且编的时候还是发现自己好多东西都忘记了,因此觉得还是得接着去看书,没辙,还是先把书吃透,把根本程理论再实践吧! 6月25日星期三 今天又是啃了一天的书,本还想去机房试试的呢,结果都没来得及去,刚够把书看完。今天重点把数组、函数和文件局部看了下。晚上上机的时候在机器上试了下,并为我的主函数编了个构造体数组,用来存录入的信息。同时今晚在调试主函数时发现我的主函数没有清屏的功能,所有工作都在同一屏幕上。问了同学,为里面加了个清屏的语句,但要加这语句得另加个头文件,问为什么要加这头文件,他也不懂,只知道就是这样规定的,并且这些规定都是得记住的。还是学得不够多,得慢慢充实自己! 6月26日星期四 下午C语言考试,复习了一上午,丁点课程设计也没碰。等下午考完试直奔机房,编写了两小时,只给我的程序加了个添加了个“录入学生信息〞的函数。在做时候碰到了不少的问题。主要是我的程序一次只能录入一个学生信息,好不容易加了个可以继续录入的语句,可又碰到了新的问题。当我录入学生信息的前三项后,就直接进入“是否继续录入〞。我疑心是有肯能在定义数组长度时定义太大了,当我把它缩小后再编译、连接、运行时居然成功了,可我现在还没确定到底时什么原因。 6月27日星期五 又碰到新问题了。我把其他要调用的函数也加进去了,但是在用的时候发现加进去的那些函数都不能用,就一添加函数在运行时是正常的,而其他的进入是可以,但在执行的时候,它就会出来警告,说不能被读。自己找,也请同学帮助找了,但都没找出毛病。碰这问题实在是难办,因为不能执行,我也就不知道这些函数在这里运行是否会正常,也就不知道是否需要改动。 6月30日星期一 关于“警告〞的问题到现在还没解决,有点心烦意乱了,改了下程序,可问题又多了。在“查找〞项里也出现了问题,在查找时候即使是查找一个人,它却也会每次都会把所查找的人给找出后,接着又会把其他人的信息以“查无此人〞显示出来。反复检查下发现好似是算法的问题。是在循环里的时候出了错,它自己不停了,非得把所有的运行一遍在停。在我加了停顿条件后问题总算是得到解决了。可“警告的问题今天还是没解决掉。 7月1号星期二 “警告〞的问题困扰好久了,真是头痛,都快被它给崩溃了。今天上课时,我又检查和调试了下,可还是没找到问题在哪儿。自己是搞不定了,只能是请教教师了。虽然向教师去请教的人很多,但还是被我逮到时机了,让教师帮我看了下,检查发现原来是在调用函数和主函数中所定义的类型产生了差异。将被掉函数里的改正来后问题久解决了。 7月2号星期三 程序差不多搞定了,就等辩论了!准备辩论至于还是在调试程序,检查下是否会有遗漏的毛病。但目前为止还没有找到。去辩论的人已经有很多了,顺利通过的也不少。有点安奈不住了,想去辩论,可还是有点担忧。为了一次通过也不急着去辩论,反正人多,轮到我还不知道要等多久,还是静下心来再把程序检查下吧。 7月3号星期四 昨天想辩论来着,可是辩论的人实在是太多,把教师围得严严实实的,想必他们都急着回家,而我又不着急,就不和他们去抢着去辩论了,大家都在那儿挤一块儿,天又这么热,虽然开可空调在那儿也不好受,还是接着检查我的程序。今天检查时候还真检查出了个警告,虽然每次编译之后都是0个错误0个警告,但在编译之后实际是会显示一个警告的只是没仔细去看。但问题也不大,对程序也没影响的,只是我重复对文件进展了定义,其实是不必要的,删除那个定义就解决了。 7月4号星期五 现在是万事俱备,只欠辩论了。下午一上课,我就在那儿等着辩论了。教师一来我就去辩论了,坐那儿也没紧的感觉了,因为对程序已经太熟悉了,胸有成竹了。结果与意料一样顺利通过辩论,虽然谈不上什么很了不起的事,但心里还是有点小喜悦的,为这课程设计都做了两星期了,光是程序就不知改了多少回,其中的困难也只有自己知道了。现在都搞定了,呵呵! 两周的课程过起来其实也是很快的。这是我第一次做课程设计,起初还没做的时候觉得很快自己就将得编一个较大的程序,将会很有意思。带着最初的好奇心,新鲜感就这样开场了第一天的编程,结果是大失所望。做课程设计并不是自己想象中的那样有意思,而是很枯燥,很乏味的。也没想象中的那样简单,并不是像我们平时上C语言课时,每次编的那些小程序,没那么简单。我们现在要做的就是将我们平时学的,做的那些小程序都合理的凑到一块儿来。而把这些小程序都加到一块儿来,并不是随意的将它们放到一个程序中就完事的,而是必须得合理,且得顾及到各个方面。 正是由于编程的纷繁复杂,且构造的严谨,因此编程的过程中到处是困难和问题。它考验的不仅是我们的平时用功程度,以及我们对所学知识的熟练掌握程度、应用的灵活程度,它还考验我们的毅力。在刚开场的几天时,由于前一阵忙于各科的考试,C语言已经好久没碰了,所学的知识都有点遗忘了,在编写时处处碰壁,一直会停顿翻书,编得自己都开场心烦意乱了,实在是编不下去了,于是索性就停了三天去看书,先把书给吃透。并在后期的程序调试中也碰到不少的问题,好多问题自己反复检查了几遍都没查出,但在教师的帮助下还是一下就查出了。并不是这些问题多难,而是不够心细。因此做课程设计、编程时,它还考验并锻炼我们的心细程度。 经过这次的课程设计的实践,我受益颇多,不仅是对我掌握知识、灵活运用知识的一次考验和锻炼,也是对我生活态度的一次锻炼,让我学会心细和拥有毅力,更具信心和恒心,碰到困难不再退缩,而是坚强面对。 [1]谭浩强.编著.C程序设计.:清华大学,1991 [2]谭浩强.编著.C程序设计题解与上机指导.:清华大学,1992 [3]潭浩.田淑清编著.PASCAL语言程序设计〔第二版〕.:高等教育,1998 [4]Herbert Schildt.著戴健鹏译.C语言大全〔第二版〕.:电子工业,1994 - . 可修编.- 配套讲稿:
如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。
关于本文