C语言程序设计和报告-学生信息管理系统设计_第1页
C语言程序设计和报告-学生信息管理系统设计_第2页
C语言程序设计和报告-学生信息管理系统设计_第3页
C语言程序设计和报告-学生信息管理系统设计_第4页
C语言程序设计和报告-学生信息管理系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

./技术资料设计题目:学生信息管理系统设计学号:院校班级:姓名:指导老师:目录HYPERLINK一、设计题目3HYPERLINK二、概述系统3HYPERLINK三、设计大纲4HYPERLINK四、运行效果图5HYPERLINK五、设计流程图8HYPERLINK六、调试过程14HYPERLINK七、设计总结14HYPERLINK八、参考文献15HYPERLINK九、源程序清单15学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作。学生信息录入功能——输入。学生信息浏览功能——输出。学生信息查询功能——算法。按学号查询;按姓名查询。5、学生信息的删除与修改概述系统我主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中运用方便的、管理方便。它能输入学生学号、年龄、性别、出生年月、地址电话E-mail。系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。在子菜单中的各种操作都有中文说明,操作简单、易懂。只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。对各个操作的成功,如:添加学生信息、修改学生信息、删除学生信息,系统都输出"…….的成功"的字样。系统对删除和修改前,还进行"确定"和"取消"。系统对不存在的学号和姓名系统能判断是否存在。对已存在的学号,操作者不能添加和这个学号一样的学生信息,同时系统还提示已有此学号。对于修改、删除和查询,系统遇到不存在的学生能提示没有这个信息。设计大纲分析题目,想想程序所用到的知识点,再进行分析程序的总体构思。对于用到得知识不太了解,先翻翻书,看一下这方面的知识。为了不让程序看起来乱乱的,把程序分成几个大函数,并有几个文字注释函数的作用。这样程序的各个功能就独自成为一个函数。这样有利于我们对程序错误的检查,及对程序的修改和优化。做出菜单栏:1.添加学生信息2.全部学生信息3.修改学生信息4.删除学生信息5.查看学生信息6.退出系统由每一个子菜单做为一个函数。设计大纲:1:查看有关书籍2:建立函数结构体3:编程主函数4:编程各子菜单函数5:检查子函数与主函数之间的联系6:运行程序,如有错误,仔细检查。7:错误操作的捕获。8:查看运行效果,如有以下情况〔修改代码:〔1发现问题某功能未实现〔2死循环〔3运行无效〔4没有操作提示信息〔5内存错误运行效果图设计流程图开始0主函数开始0主函数输入语句输入语句判断a值判断a值选择语句switch<选择语句switch<a>退出系统查看学生信息删除学生信息修改学生信息全部学生信息添加信息函数退出系统查看学生信息删除学生信息修改学生信息全部学生信息添加信息函加信息函1添加信息函数0<num<0<num<100输出提示,输出提示,输入学号num>100判断num值num>100判断num值NYNYYN0判断num是否已存在判断num<100提示输入,输入num提示重新输入num提示输入,输入学生信息是否继续添加信息22输出一些文字for<i=0;i<=100;i++>Y输出stu[i]的信息0N输出全部信息函数33修改信息函数提示输入,输入学号YY修改信息YYN0NN判断num是否存在输出修改信息,提问是否修改提示num不存在,并提问是否继续修改提问是否继续修改删除信息函数删除信息函数44提示输入,输入删除学号提示输入,输入删除学号说明不存在此信息判断是否存在numN说明不存在此信息判断是否存在numN输出删除的信息并提问是否删除YYN输出删除的信息并提问是否删除YYN提问是否继续删除提问是否继续删除YYstu[num-1].num=0stu[num-1].num=0NN输出删除成功输出删除成功0055提示查询方式,并选择按学号按姓名输入学号num是否存在输出查询信息提问是否继续查询Y输入姓名姓名是否存在提示,并重新输入numNY提示,并重新输入姓名输出查询信息NY提问是否继续查询Y0NN查看信息函数调试过程设计一个程序,错误是难免不了的。但我们可以根据编辑系统给出的一些提示去查看程序错误。对不敢肯定正确的,翻翻书,看一下这一知识。对难度大的就和同学们一起讨论,问一问老师。开发一个系统,耐心是必要的,认真也很重要,构思要明确。认为是哪里错误的,有时用"/**/"注释起来进行,看看是否还有错误。常错有以下几种情况:1.使用变量,但未有定义,则先定义。2.不该用分号的,用到了,把它去掉。3.行最后若有分号则删除,中间若有分号则改成逗号4.若错误行中有if、while、for则要特别注意条件表达式的错误。5.若条件表达式中只有一个等于号,则改成两个等于号。6.for中要用分号分隔表达式,而不是用逗号7.缺少分号,若错误行中有语句没有用分号结束,则加上分号。8.大小写不对,若错误行中有大写字母则一般都改成小写字母。9.若有return语句则函数的类型必须与return后变量的类型一致。设计总结通过本次C程序课程设计,我觉得对自己提高很大:克服了的偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常烦琐周密的活动,他不但需要一个人周密的思考问题的能力,处理问题的能力,还需要有足够的耐心和严谨治学的作风,来不得半点马虎。通过本次程序设计,我初步学会了程序设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,我上网和上图书馆查找资料,编写C语言原程序,然后是进行编译,这个环节是一个非常痛苦和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这对于自己是有很大的提高的。参考文献[1]谭浩强著.C语言程序设计<第三版>.清华大学出版社,2005[2]谭浩强编著.C程序设计题解与上机指导〔第二版清华大学出版社,1999[3]C编写组编.常用C语言用法速查手册.北京:龙门书局,1995源程序清单#include<stdio.h>structstudent/*结构体*/{intnum;charname[20];//学号charsex[5];//姓名intage;//性别charbro[15];//年龄charadd[30];//住址charphone[13];//手机号charem[20];//E-mail}stu[100];//结构体名intlooknum<intnum>/*查看是否有这个学号的函数*/{inti;for<i=0;i<=100;i++>if<stu[i].num==num>return<num>;}tiaojia<>/*添加信息函数*/{intnum,num2,i,x;G:printf<"\t请输入学号:">;H:scanf<"%d",&num>;V:if<num>100>{printf<"\n这个学号太大了!\n请输入1--100的学号:">;scanf<"%d",&num>;if<num>100>gotoV;printf<"\n">;}num2=looknum<num>;if<num==num2>/*判断这个学号是否存在*/{printf<"\n这个学号已经存在,请重新输入另一个学号。">;gotoH;}i=num-1;stu[i].num=num;printf<"\t请输入姓名:">;scanf<"%s",stu[i].name>;printf<"\t请输入性别:">;scanf<"%s",stu[i].sex>;printf<"\t请输入年龄:">;scanf<"%d",&stu[i].age>;printf<"\t请输入出生日期:">;scanf<"%s",stu[i].bro>;printf<"\t请输入住址:">;scanf<"%s",stu[i].add>;printf<"\t请输入手机号:">;scanf<"%s",stu[i].phone>;printf<"\t请输入E-maill:">;scanf<"%s",stu[i].em>;printf<"\n\t<*添加信息成功*>\n\n">;printf<"\t1.继续添加\n">;printf<"\t2.退出添加\n">;scanf<"%d",&x>;switch<x>{case1:gotoG;default:break;}}quanbu<>/*输出全部信息函数*/{inti;printf<"\t\t全部学生信息如下\n\n">;printf<"学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-mail\n">;for<i=0;i<=100;i++>if<stu[i].num!=0>printf<"%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em>;}xiugai<>/*修改信息函数*/{intx,y,num,num2;K:printf<"\t请输入要修改的学号:">;scanf<"%d",&num>;num2=looknum<num>;if<num==num2> /*判断这个学号是否存在*/{printf<"\n\t这个学号信息如下\n\n">;printf<"学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-mail\n">;printf<"%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em>;printf<"\n\t1.确认修改">;printf<"\n\t2.取消修改\n">;scanf<"%d",&x>;if<x==1>{stu[num-1].num=num;printf<"\t请输入姓名:">;scanf<"%s",stu[num-1].name>;printf<"\t请输入性别:">;scanf<"%s",stu[num-1].sex>; printf<"\t请输入年龄:">;scanf<"%d",&stu[num-1].age>; printf<"\t请输入出生日期:">;scanf<"%s",stu[num-1].bro>; printf<"\t请输入住址:">;scanf<"%s",stu[num-1].add>; printf<"\t请输入手机号:">;scanf<"%s",stu[num-1].phone>; printf<"\t请输入E-maill:">;scanf<"%s",stu[num-1].em>;printf<"\n\t<*修改信息成功*>\n">; gotoP; } elsegotoP;}else{printf<"\n\t没有这个学号,你可能记错了!\n">;P:printf<"\n\t1.继续修改\n">;printf<"\t2.退出修改\n">;scanf<"%d",&y>;switch<y>{case1:gotoK; default:break;}}}voidshanchu<>/*删除信息函数*/{intx=2,y=2,num,num2;L:printf<"\t请输入要删除的学号:">;scanf<"%d",&num>;num2=looknum<num>;if<num==num2>/*判断这个学号是否存在*/{printf<"\n\t这个学号信息如下\n\n">;printf<"学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-mail\n">;printf<"%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em>;printf<"\n\t1.确认删除">;printf<"\n\t2.取消删除\n">;scanf<"%d",&x>;switch<x>{case1:{stu[num-1].num=0; printf<"\t<*删除信息成功*>\n">;} default:break;}gotoD;}else{printf<"\n\t没有这个学号,你可能记错了!\n">;D:printf<"\n\t1.继续删除\n">;printf<"\t2.退出删除\n">;scanf<"%d",&y>;switch<y>{case1:gotoL;default:break;}}}voidchakan<>/*查看信息函数*/{intx=1,y=2,z=2,i,num,num2;charname,name2;printf<"\t1.按学号查询\n\t2.按姓名查询\n">;scanf<"%d",&x>;/*输入查看方式*/if<x==1>/*学号查询*/{M:printf<"\t请输入查看的学号:">;scanf<"%d",&num>;num2=looknum<num>;if<num==num2>/*判断这个学号是否存在*/{printf<"\t这个学号信息如下\n\n">;printf<"学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-mail\n">;printf<"%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em>;gotoJ;}else{printf<"\n\t没有这个学号,你可能记错了!\n">;J:printf<"\n\t1.继续查看\n">;printf<"\t2.退出查看\n">;scanf<"%d",&y>;switch<y> {case1:gotoM;default:break; }}}if<x==2>/*姓名查询*/{U:printf<"\t请输入查看的姓名:">;scanf<"%s",&name>;for<i=0;i<=100;i++>{if<strcmp<&stu[i].name,&name>==0>/*字符串比较*/if<stu[i].num!=0>/*判断这个学号是否存在*/{printf<"\t这个姓名信息如下\n\n">;printf<"学号\t姓名\t性别\t年龄\t出生日期\t住址\t手机号\t\tE-mail\n">;printf<"%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[i]

温馨提示

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

评论

0/150

提交评论