C语言课程设计学生学籍管理系统_第1页
C语言课程设计学生学籍管理系统_第2页
C语言课程设计学生学籍管理系统_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2013XXXXX浮院课程设计任务书文档副标题XXXXX分析系统功能,绘制系统功能结构框架图1.1、分析系统功能1.2、结构框架图二、程序代码以及界面形式2.1程序代码如下2.2、界面形式三、使用说明四、日志五、心得体会六、参考文献1.1、分析系统功能(1)用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的应的选项就可进行相应的操作.其主要功能有:1、录入学生信息2、删除学生信息3、查询学生信息4、学生信息排序5、改学生信息6、保存退出系统(2)用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开始进行操作1.2、结构框架图2.1程序代码如下#include"

2、;stdio.h"#include"conio.h"#include"string.h"#include"stdlib.h"#definePFprintf#defineSFscanfstaticintn,i;structaddress_book(charname20;intnum;charsex;charclas40;longtelephone;charaddr40;stud200;voidadd()(charj;system("cls");/*活屏*/PF("n");PF("

3、;n请输入要添加的姓名:");SF("%s",);PF("n请输入要添加的学号(8位):");SF("%d'',&studn.num);PF("n请输入要添加的性别(F/M):");SF("n%c",&studn.sex);PF("n请输入要添加的班级:");SF("%s",&studn.clas);PF("n请输入要添加的电话号码:");SF("%ld",

4、&studn.telephone);PF("n请输入要添加的地址:");SF("%s",studn.addr);getchar();n+;PF("是否继续(Y/N)?:");j=getchar();getchar();再输入记录*/if(j='y'|j='Y')gotofrontl;/*voiddel()intk=0,m,i;charj;front2:system("cls");/*活屏*/PF("n请输入要删除的学号:");scanf("%d&

5、quot;,&m);getchar();for(i=0;i<n;i+)查找记录*/删除记录*/if(m=studi.num)k=1;break;/*if(k=1)/*for(k=i;k<n-1;k+)studk=studk+1;n-;PF("已删除nn");else(PF(-找不到要删除的记录!n");PF("按回车键返回:");getchar();PF("是否继续(Y/N)?:");j=getchar();getchar();if(j='y'|j='Y')gotofron

6、t2;voidfind()(inti,k,s=0;charj;s=0;system("cls");/*活屏*/PF("n请输入要查询的学号:");SF("%d",&k);for(i=0;i<n;i+)if(k=studi.num)PF("姓名学号性别班级电话地址n");PF("%-10s%-8d%c%-20s%-8ld%-6sn",,studi.num,studi.sex,studi.clas,studi.telephone,studi.addr);s=1;if

7、(s=0)PF("查无此人!n");getchar();PF("是否继续查询(Y/N)?:");j=getchar();getchar();if(j='y'|j='Y')gotofront3;getchar();voidarrange()intk,i;structaddress_bookt;system("cls");/*活屏*/电话地址PF("姓名学号性别班级n");for(k=0;k<n-1;k+)for(i=0;i<n-k-1;i+)if(studi.num>

8、studi+1.num)t=studi;studi=studi+1;studi+1=t;elsecontinue;for(i=0;i<=n-1;i+)if(studk.num!=0)PF("%-10s%-8d%c%-20s%-8ld%-6sn",,studi.num,studi.sex,studi.clas,studi.telephone,studi.addr);PF("按回车键返回!");getchar();getchar();voidchange()intk=0,m;charj;front5:system("cls

9、");/*活屏*/PF("n请输入要修改记录的学号:");getchar();for(i=0;i<n;i+)if(m=studi.num)k=1;break;/*查找*/if(k=1)/*修改*/PF("n");PF("n请输入修改后的姓名:");SF("%s",);PF("n请输入修改后的学号:");SF("%d'',&studi.num);PF("n请输入修改后的性别(F/M):");SF("

10、n%c",&studi.sex);PF("n请输入修改后的班级:");SF("%s",&studi.clas);PF("n请输入修改后的电话号码:");SF("%ld",&studi.telephone);PF("n请输入修改后的地址:");SF("%s",studi.addr);PF(-修改成功n");getchar();if(k=0)PF("找不到要修改的记录!n");PF("按回车键返回:&quo

11、t;);getchar();getchar();PF("是否继续(Y/N)?:");j=getchar();getchar();if(j='y'|j='Y')gotofront5;voidmain()charj;PF("nnnnnnttt欢迎使用学生学籍管理系统");PF("nnntttt制作人:刘健");PF("nnntttt2008年6月");PF("nnnnnt按回车键进入主菜单:,getchar();loop:system("cls");PF(&

12、quot;n");PF("tttt*什);PF("tttt主菜单*n");PF("tttt*什);PF("tt1:录入学生信息2:删除学生信息nn");PF("tt3:查询学生信息4:学生信息排序nn");PF("tt5:修改学生信息6:保存退出系统nn");PF("t请选择1/2/3/4/5/6:");j=getchar();if(j='n')gotoloop;/*返回主菜单*/switch(j)case'1':add();goto

13、loop;/*返回主菜单*/case'2':del();gotoloop;case'3':find();gotoloop;case'4':arrange();gotoloop;case'5':change();gotoloop;case'6':FILE*fp;fp=fopen("student.dat","w");for(i=0;i<n;i+)fwrite(&studi,sizeof(structaddress_book),1,fp);fclose(fp);ex

14、it(0);default:gotoloop;2.2、界面形式学生学籍管理系统是针对学生信息的管理,主要功能是添加学生信息、删除学生信息查询学生信息、学生信息排序、修改学生信息、保存信息。用户打开程序,进入主界面(如图1)(1) 、按回车进入主菜单,列出各项功能、输入1进入录入界面,用户即可录入信息,当录入完即会提示“是否继续”,如果输入“丫”或者“y”,则会继续录入,若输入“M'或者“n”则会退出到主菜单。(2) 、在主菜单中,输入2,则会进入删除界面,输入要删除的学生的学号即可将该学生的信息删除。(3) 、在主菜单中,输入3,则会进入查询界面,输入要查的学生的学号即可查询到信息。(

15、4) 、在主菜单中,输入4,则会进入进入学生信息排序,在这里会显示按学号由小到大排列出的所有学生的信息。(5) 、在主菜单中,输入5,则会进入学生信息修改界面,输入想修改学生的学号后,就可在这里可以对该学生信息进行修改。(6) 、在主菜单中,输入6,则会退出系统,并且系统会自动对信息进行保存。6月23日星期一从今天起,正式开始做课程设计了。但坐到电脑前想开始做时,却不懂如何开始写起,都感到有点陌生了。因为前一阵一直在忙于各科的考试,好久没碰C语言了,都开始有生疏感了。但还是试着在电脑上编了下,光要写个主函数还很吃力,更头痈的吃力的结果还换来了很多错误,本想编译下,试试的,结果错误警告一大堆。鉴

16、于此,我还是决定先把书再好好看下,“工欲善其事,必先利其器”嘛!6月24日星期二昨天看了一天的书,乂加上今天看的,可却连一半还没看完。我是按部就班的顺序往下看的,但因为书的前半部分大多是基础知识,因此在晚上上课时依旧不知如何编写。折腾了一晚上,想编写要调用的函数的,试着编了好多,但都是些到处是错误的程序,根本没法用。而且编的时候还是发现自己好多东西都忘记了,因此觉得还是得接着去看书,没辙,还是先把书吃透,把基本程理论再实践吧!6月25日星期三今天乂是啃了一天的书,本还想去机房试试的呢,结果都没来得及去,刚够把书看完。今天重点把数组、函数和文件部分看了下。晚上上机的时候在机器上试了下,并为我的主

17、函数编了个结构体数组,用来存录入的信息。同时今晚在调试主函数时发现我的主函数没有活屏的功能,所有工作都在同一屏幕上。问了同学,为里面加了个活屏的语句,但要加这语句得另加个头文件,问为什么要加这头文件,他也不懂,只知道就是这样规定的,并且这些规定都是得记住的。还是学得不够多,得慢慢充实自己!6月26日星期四下午C语言考试,复习了一上午,丁点课程设计也没碰。等下午考完试直奔机房,编写了两小时,只给我的程序加了个添加了个“录入学生信息”的函数。在做时候碰到了不少的问题。主要是我的程序一次只能录入一个学生信息,好不容易加了个可以继续录入的语句,可乂碰到了新的问题。当我录入学生信息的前三项后,就直接进入

18、“是否继续录入”,我怀疑是有肯能在定义数组长度时定义太大了,当我把它缩小后再编译、连接、运行时居然成功了,可我现在还没确定到底时什么原因。6月27日星期五乂碰到新问题了。我把其他要调用的函数也加进去了,但是在用的时候发现加进去的那些函数都不能用,就一添加函数在运行时是正常的,而其他的进入是可以,但在执行的时候,它就会出来警告,说不能被读。自己找,也请同学帮忙找了,但都没找出毛病。碰这问题实在是难办,因为不能执行,我也就不知道这些函数在这里运行是否会正常,也就不知道是否需要改动。6月30日星期一关于“警告”的问题到现在还没解决,有点心烦意乱了,改了下程序,可问题乂多了。在“查找”项里也出现了问题

19、,在查找时候即使是查找一个人,它却也会每次都会把所查找的人给找出后,接着乂会把其他人的信息以“查无此人”显示出来。反复检查下发现好像是算法的问题。是在循环里的时候出了错,它自己不停了,非得把所有的运行一遍在停。在我加了停止条件后问题总算是得到解决了。可“警告的问题今天还是没解决掉。月1号星期二“警告”的问题困扰好久了,真是头痈,都快被它给崩溃了。今天上课时,我乂检查和调试了下,可还是没找到问题在哪儿。自己是搞不定了,只能是请教老师了。虽然向老很去请教的人很多,但还是被我逮到机会了,让老师帮我看了下,检查发现原来是在调用函数和主函数中所定义的类型产生了差异。将被掉函数里的改过来后问题久解决了。7

20、月2号星期三程序差不多搞定了,就等答辩了!准备答辩至于还是在调试程序,检查下是否会有遗漏的毛病。但目前为止还没有找到。去答辩的人已经有很多了,顺利通过的也不少。有点安奈不住了,想去答辩,可还是有点担心。为了一次通过也不急着去答辩,反正人多,轮到我还不知道要等多久,还是静下心来再把程序检查下吧。7月3号星期四昨天想答辩来着,可是答辩的人实在是太多,把老师围得严严实实的,想必他们都急着回家,而我乂不着急,就不和他们去抢着去答辩了,大家都在那儿挤一块儿,天乂这么热,虽然开可空调在那儿也不好受,还是接着检查我的程序。今天检查时候还真检查出了个警告,虽然每次编译之后都是0个错误0个警告,但在编译之后实际

21、是会显示一个警告的只是没仔细去看。但问题也不大,对程序也没影响的,只是我重复对文件进行了定义,其实是不必要的,删除那个定义就解决了。7月4号星期五现在是万事俱备,只欠答辩了。下午一上课,我就在那儿等着答辩了。老师一来我就去答辩了,坐那儿也没紧张的感觉了,因为对程序已经太熟悉了,胸有成竹了。结果与意料一样顺利通过答辩,虽然谈不上什么很了不起的事,但心里还是有点小喜悦的,为这课程设计都做了两星期了,光是程序就不知改了多少回,其中的困难也只有自己知道了。现在都搞定了,呵呵!两周的课程过起来其实也是很快的。这是我第一次做课程设计,起初还没做的时候觉得很快自己就将得编一个较大的程序,将会很有意思。带着最初的好奇心,新鲜感就这样开始了第一天的编程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论