C语言程序的设计与报告_学生信息管理系统设计说明.doc
《C语言程序的设计与报告_学生信息管理系统设计说明.doc》由会员分享,可在线阅读,更多相关《C语言程序的设计与报告_学生信息管理系统设计说明.doc(27页珍藏版)》请在咨信网上搜索。
设计题目:学生信息管理系统设计 学号: 院校班级: : 指导老师: 目 录 一、设计题目----------------------------------------------------------3 二、概述系统----------------------------------------------------------3 三、设计大纲----------------------------------------------------------4 四、运行效果图-------------------------------------------------------5 五、设计流程图-------------------------------------------------------8 六、调试过程--------------------------------------------------------14 七、设计总结--------------------------------------------------------14 八、参考文献--------------------------------------------------------15 九、源程序清单-----------------------------------------------------15 学生信息管理系统设计 学生信息包括:学号,,年龄,性别,出生年月,地址,,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: 1、 系统以菜单方式工作。 2、 学生信息录入功能——输入。 3、 学生信息浏览功能——输出。 4、 学生信息查询功能——算法。 按学号查询; 按查询。 5、 学生信息的删除与修改 概述系统 我主要设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中运用方便的、管理方便。它能输入学生学号、年龄、性别、出生年月、地址E-mail。系统以菜单的方式进行工作,进入子菜单后,还可以返回主菜单。在子菜单中的各种操作都有中文说明,操作简单、易懂。只要我们正确的操作系统,系统就无异常现在,当然系统也能对一些基本的错误做出提示,并能让使用者重新进行操作。 对各个操作的成功,如:添加学生信息、修改学生信息、删除学 生信息,系统都输出“…….的成功”的字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在的学号和系统能判断是否存在。对已存在的学号,操作者不能添加和这个学号一样的学生信息,同时系统还提示已有此学号。对于修改、删除和查询,系统遇到不存在的学生能提示没有这个信息。 设计大纲 分析题目,想想程序所用到的知识点,再进行分析程序的总体构思。对于用到得知识不太了解,先翻翻书,看一下这方面的知识。为了不让程序看起来乱乱的,把程序分成几个大函数,并有几个文字注释函数的作用。这样程序的各个功能就独自成为一个函数。这样有利于我们对程序错误的检查,与对程序的修改和优化。 做出菜单栏:1.添加学生信息 2.全部学生信息 3.修改学生信息 4.删除学生信息 5.查看学生信息 6.退出系统 由每一个子菜单做为一个函数。 设计大纲: 1:查看有关书籍 2:建立函数结构体 3:编程主函数 4:编程各子菜单函数 5:检查子函数与主函数之间的联系 6:运行程序,如有错误,仔细检查。 7:错误操作的捕获。 8:查看运行效果,如有以下情况(修改代码): (1)发现问题某功能未实现 (2)死循环 (3)运行无效 (4)没有操作提示信息 (5)存错误 运行效果图 设计流程图 开始 0 主函数 输入语句 判断a值 选择语句switch(a) 退出系 统 查看学生信 息 删除学生信 息 修改学生信 息 全部学生信 息 添加信息函 数 1 5 4 3 2 1 添加信息函数 0<num<100 输出提示, 输入学号 num>100 判断num值 N Y N Y Y N 0 判断num是否已存在 判断num<100 提示输入,输入num 提示重新输入num 提示输入,输入学生信息 是否继续添加信息 2 输出一些文字 for(i=0;i<=100;i++) Y 输出stu[i]的信息 0 N 输出全部信息函数 3 修改信息函数 提示输入,输入学号 Y Y 修改信息 Y Y N 0 N N 判断num是否存在 输出修改信息,提问是否修改 提示num不存在,并提问是否继续修改 提问是否 继续修改 删除信息函数 4 提示输入,输入删除学号 说明不存在此信息 判断是否存在num N 输出删除的信息 并提问是否删除 Y Y N 提问是否继续删除 Y stu[num-1].num=0 N 输出删除成功 0 5 提示查询方式,并选择 按学号 按XX 输入学号 num是否存在 输出查询信息 提问是否继续查询 Y 输入XX XX是否存在 提示,并重新输入num N Y 提示,并重新输入XX 输出查询信息 N Y 提问是否继续查询 Y 0 N N 查看信息函数 调试过程 设计一个程序,错误是难免不了的。但我们可以根据编辑系统给出的一些提示去查看程序错误。对不敢肯定正确的,翻翻书,看一下这一知识。对难度大的就和同学们一起讨论,问一问老师。 开发一个系统,耐心是必要的,认真也很重要,构思要明确。 认为是哪里错误的,有时用“/* */”注释起来进行,看看是否还有错误。 常错有以下几种情况: 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> struct student /*结构体*/ {int num; char name[20]; //学号 char sex[5]; // int age; //性别 char bro[15]; //年龄 char add[30]; //住址 char phone[13]; //手机号 char em[20]; //E-mail }stu[100]; //结构体名 int looknum(int num) /*查看是否有这个学号的函数*/ { int i; for(i=0;i<=100;i++) if(stu[i].num==num) return(num); } tiaojia() /*添加信息函数*/ { int num,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)goto V; printf("\n"); } num2=looknum(num); if(num==num2) /*判断这个学号是否存在*/ {printf("\n这个学号已经存在,请重新输入另一个学号。"); goto H; } 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) {case 1:goto G; default:break;} } quanbu()/*输出全部信息函数*/ {int i; 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()/*修改信息函数*/ { int x,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"); goto P; } else goto P; } else {printf("\n\t没有这个学号,你可能记错了!\n"); P:printf("\n\t1.继续修改\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请输入要删除的学号:"); 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) {case 1:{stu[num-1].num=0; printf("\t<*删除信息成功*>\n");} default:break; } goto D; } else {printf("\n\t没有这个学号,你可能记错了!\n"); D:printf("\n\t1.继续删除\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.按学号查询\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); goto J; } else {printf("\n\t没有这个学号,你可能记错了!\n"); J: printf("\n\t1.继续查看\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(&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].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em); goto Q; } } if(i==101) {printf("\n\t没有这个,你可能记错了!\n"); Q: printf("\n\t1.继续查看\n"); printf("\t2.退出查看\n"); scanf("%d",&z); switch(z) {case 1:goto U; default:break;} } } } main()/*主函数*/ { int a; printf("\n\t*编辑系统--XXXX*\n\n"); printf("\t 未经允许,不得使用\n"); printf("\t\n"); T:printf("\n\n\t 1.添加学生信息\n\t 2.全部学生信息\n\t 3.修改学生信息\n\t 4.删除学生信息\n\t 5.查看学生信息\n\t 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您对本系统的支持和使用\n\n"); printf("\t2012年4月29日\n\n\n\n\n\n\n\n\n\n\n\n\n"); } - 27 - / 27- 配套讲稿:
如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。
关于本文