1、设计题目:学生信息管理系统设计学号:院校班级:姓名:指导老师:目 录一、设计题目-3二、概述系统-3三、设计纲领-4四、运行效果图-5五、设计步骤图-8六、调试过程-14七、设计总结-14八、参考文件-15九、源程序清单-15学生信息管理系统设计学生信息包含:学号,姓名,年纪,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功效:1、 系统以菜单方法工作。2、 学生信息录入功效输入。3、 学生信息浏览功效输出。4、 学生信息查询功效算法。按学号查询;按姓名查询。5、 学生信息删除和修改概述系统我关键设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它
2、在现实生活中利用方便、管理方便。它能输入学生学号、年纪、性别、出生年月、地址电话E-mail。系统以菜单方法进行工作,进入子菜单后,还能够返回主菜单。在子菜单中多种操作全部有汉字说明,操作简单、易懂。只要我们正确操作系统,系统就无异常现在,当然系统也能对部分基础错误做出提醒,并能让使用者重新进行操作。对各个操作成功,如:添加学生信息、修改学生信息、删除学生信息,系统全部输出“.成功”字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在学号和姓名系统能判定是否存在。对已存在学号,操作者不能添加和这个学号一样学生信息,同时系统还提醒已经有此学号。对于修改、删除和查询,系统碰到不存在学生
3、能提醒没有这个信息。设计纲领分析题目,想想程序所用到知识点,再进行分析程序总体构思。对于用到得悉识不太了解,先翻翻书,看一下这方面知识。为了不让程序看起来乱乱,把程序分成多个大函数,并有多个文字注释函数作用。这么程序各个功效就独自成为一个函数。这么有利于我们对程序错误检验,及对程序修改和优化。做出菜单栏:1.添加学生信息 2.全部学生信息 3.修改学生信息 4.删除学生信息 5.查看学生信息 6.退出系统由每一个子菜单做为一个函数。设计纲领:1:查看相关书籍2:建立函数结构体3:编程主函数4:编程各子菜单函数5:检验子函数和主函数之间联络6:运行程序,如有错误,仔细检验。7:错误操作捕捉。8:
4、查看运行效果,如有以下情况(修改代码):(1)发觉问题某功效未实现(2)死循环(3)运行无效(4)没有操作提醒信息(5)内存错误运行效果图 设计步骤图开始0主函数输入语句判定a值选择语句switch(a)退出系 统查看学生信 息删除学生信 息修改学生信 息全部学生信 息添加信息函 数154321添加信息函数0num100判定num值NYNYYN0判定num是否已存在判定num100提醒输入,输入num提醒重新输入num提醒输入,输入学生信息是否继续添加信息2输出部分文字for(i=0;i=100;i+)Y输出stui信息0N输出全部信息函数3修改信息函数提醒输入,输入学号YY修改信息YYN0N
5、N判定num是否存在输出修改信息,提问是否修改提醒num不存在,并提问是否继续修改提问是否继续修改删除信息函数4提醒输入,输入删除学号说明不存在此信息判定是否存在numN输出删除信息并提问是否删除YYN提问是否继续删除Ystunum-1.num=0N输出删除成功05提醒查询方法,并选择按学号按姓名输入学号num是否存在输出查询信息提问是否继续查询Y输入姓名姓名是否存在提醒,并重新输入numNY提醒,并重新输入姓名输出查询信息NY提问是否继续查询Y0NN查看信息函数调试过程 设计一个程序,错误是难免不了。但我们能够依据编辑系统给出部分提醒去查看程序错误。对不敢肯定正确,翻翻书,看一下这一知识。对
6、难度大就和同学们一起讨论,问一问老师。 开发一个系统,耐心是必需,认真也很关键,构思要明确。认为是哪里错误,有时用“/* */”注释起来进行,看看是否还有错误。常错有以下多个情况: 1.使用变量,但未有定义,则先定义。2.不该用分号,用到了,把它去掉。3.行最终若有分号则删除,中间若有分号则改成逗号 4.若错误行中有if、while、for则要尤其注意条件表示式错误。 5.若条件表示式中只有一个等于号,则改成两个等于号。6.for中要用分号分隔表示式,而不是用逗号 7.缺乏分号,若错误行中有语句没有用分号结束,则加上分号。 8.大小写不对,若错误行中有大写字母则通常全部改成小写字母。 9.若有
7、return语句则函数类型必需和return后变量类型一致。 设计总结经过此次C程序课程设计,我认为对自己提升很大:克服了偷懒毛病,这在我以后学习和工作中心理定位和调整有很大帮助。我感受到了编程是一项很烦琐周密活动,她不仅需要一个人周密思索问题能力,处理问题能力,还需要有足够耐心和严谨治学作风,来不得半点马虎。经过此次程序设计,我初步学会了程序设计基础方法,学会了怎样去借鉴她人方法和经验,知道怎样去查找资料和整合处理这些资料能力,我上网和上图书馆查找资料,编写C语言原程序,然后是进行编译,这个步骤是一个很痛苦和艰苦,常常会因为一小点错误而在编译失败和再次修改漫漫循环之路中,但失败越多,对人考验
8、就越多,在编译运行成功以后享受成功喜悦也就越多,另外在调试程序过程中不停思索和利用已经学到知识,这对于自己是有很大提升。 参考文件1谭浩强著. C语言程序设计(第三版). 清华大学出版社,2谭浩强编著. C程序设计题解和上机指导(第二版)清华大学出版社,1999 3C编写组编. 常见C语言使用方法速查手册. 北京:龙门书局,1995源程序清单#includestruct student /*结构体*/ int num; char name20; /学号 char sex5; /姓名 int age; /性别 char bro15; /年纪 char add30; /住址 char phone1
9、3; /手机号 char em20; /E-mail stu100; /结构体名 int looknum(int num) /*查看是否有这个学号函数*/ int i; for(i=0;i100) printf(n这个学号太大了!n请输入1-100 学号:); scanf(%d,&num); if(num100)goto V; printf(n); num2=looknum(num); if(num=num2) /*判定这个学号是否存在*/ printf(n这个学号已经存在,请重新输入另一个学号。); goto H; i=num-1; stui.num=num; printf(t请输入姓名:)
10、; scanf(%s,stui.name); printf(t请输入性别:); scanf(%s,stui.sex); printf(t请输入年纪:); scanf(%d,&stui.age); printf(t请输入出生日期:); scanf(%s,stui.bro); printf(t请输入住址:); scanf(%s,stui.add); printf(t请输入手机号:); scanf(%s,stui.phone); printf(t请输入E-maill:); scanf(%s,stui.em); printf(ntnn); printf(t1.继续添加n); printf(t2.退出添
11、加n); scanf(%d,&x); switch(x) case 1:goto G; default:break;quanbu()/*输出全部信息函数*/int i; printf(tt全部学生信息以下nn); printf(学号t姓名t性别t年纪t出生日期t住址t手机号ttE-mailn); for(i=0;i=100;i+) if(stui.num!=0)printf(%dt%st%st%dt%st%st%st%sn,stui.num,stui.name,stui.sex,stui.age,stui.bro,stui.add,stui.phone,stui.em); xiugai()/*
12、修改信息函数*/ int x,y,num,num2;K:printf(t请输入要修改学号:); scanf(%d,&num); num2=looknum(num); if(num=num2) /*判定这个学号是否存在*/ printf(nt这个学号信息以下nn); printf(学号t姓名t性别t年纪t出生日期t住址t手机号ttE-mailn); printf(%dt%st%st%dt%st%st%st%sn,stunum-1.num,stunum-1.name,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone
13、,stunum-1.em); printf(nt1.确定修改); printf(nt2.取消修改n); scanf(%d,&x); if(x=1) stunum-1.num=num; printf(t请输入姓名:); scanf(%s,stunum-1.name); printf(t请输入性别:); scanf(%s,stunum-1.sex); printf(t请输入年纪:); scanf(%d,&stunum-1.age);printf(t请输入出生日期:); scanf(%s,stunum-1.bro);printf(t请输入住址:); scanf(%s,stunum-1.add);pr
14、intf(t请输入手机号:); scanf(%s,stunum-1.phone);printf(t请输入E-maill:); scanf(%s,stunum-1.em); printf(ntn);goto P;else goto P; else printf(nt没有这个学号,你可能记错了!n); P:printf(nt1.继续修改n); printf(t2.退出修改n); scanf(%d,&y); switch(y) case 1:goto K;default:break; void shanchu()/*删除信息函数*/int x=2,y=2,num,num2;L:printf(t请输入
15、要删除学号:); scanf(%d,&num); num2=looknum(num); if(num=num2) /*判定这个学号是否存在*/ printf(nt这个学号信息以下nn); printf(学号t姓名t性别t年纪t出生日期t住址t手机号ttE-mailn); printf(%dt%st%st%dt%st%st%st%sn,stunum-1.num,stunum-1.name,stunum-1.sex,stunum-1.age,stunum-1.bro,stunum-1.add,stunum-1.phone,stunum-1.em); printf(nt1.确定删除); printf
16、(nt2.取消删除n); scanf(%d,&x); switch(x) case 1:stunum-1.num=0; printf(tn);default:break; goto D; else printf(nt没有这个学号,你可能记错了!n); D:printf(nt1.继续删除n); printf(t2.退出删除n); scanf(%d,&y); switch(y) case 1:goto L; default:break; void chakan()/*查看信息函数*/ int x=1,y=2,z=2,i,num,num2; char name,name2; printf(t1.按学
17、号查询nt2.按姓名查询n); scanf(%d,&x); /*输入查看方法*/ if(x=1) /*学号查询*/ M:printf(t请输入查看学号:); scanf(%d,&num); num2=looknum(num); if(num=num2) /*判定这个学号是否存在*/ printf(t这个学号信息以下nn); printf(学号t姓名t性别t年纪t出生日期t住址t手机号ttE-mailn); printf(%dt%st%st%dt%st%st%st%sn,stunum-1.num,stunum-1.name,stunum-1.sex,stunum-1.age,stunum-1.b
18、ro,stunum-1.add,stunum-1.phone,stunum-1.em); goto J; else printf(nt没有这个学号,你可能记错了!n); J: printf(nt1.继续查看n); printf(t2.退出查看n); scanf(%d,&y); switch(y)case 1:goto M; default:break; if(x=2) /*姓名查询*/ U:printf(t请输入查看姓名:); scanf(%s,&name); for(i=0;i=100;i+) if(strcmp(&stui.name,&name)=0)/*字符串比较*/ if(stui.n
19、um!=0) /*判定这个学号是否存在*/ printf(t这个姓名信息以下nn); printf(学号t姓名t性别t年纪t出生日期t住址t手机号ttE-mailn); printf(%dt%st%st%dt%st%st%st%sn,stui.num,stui.name,stui.sex,stui.age,stui.bro,stui.add,stui.phone,stui.em); goto Q; if(i=101) printf(nt没有这个姓名,你可能记错了!n);Q: printf(nt1.继续查看n); printf(t2.退出查看n); scanf(%d,&z); switch(z)
20、 case 1:goto U; default:break; main()/*主函数*/ int a; printf(nt*编辑系统-XXXX*nn); printf(t 未经许可,不得使用n); printf(tn);T:printf(nnt 1.添加学生信息nt 2.全部学生信息nt 3.修改学生信息nt 4.删除学生信息nt 5.查看学生信息nt 6.退出系统n); scanf(%d,&a); switch(a) case 1:tiaojia();goto T; case 2:quanbu();goto T; case 3:xiugai();goto T; case 4:shanchu();goto T; case 5:chakan();goto T; case 6:break; default: printf(t你输入不正确,请再次输入:n);goto T; printf(t谢谢您对本系统支持和使用nn); printf(t4月29日nnnnnnnnnnnnn);