学生宿舍管理系统-c语言.doc
《学生宿舍管理系统-c语言.doc》由会员分享,可在线阅读,更多相关《学生宿舍管理系统-c语言.doc(12页珍藏版)》请在咨信网上搜索。
学号 2015-2016学年 第二学期 1508010106 《高级语言程序设计》 课程设计报告 题目: 学生宿舍管理系统 专业: 计算机科学与技术 班级: 15计科(1)班 姓名: 高梅锦 指导教师: 陈广宏 成绩: 计算机学院 2016 年 4月25日 目录 1设计内容及要求1 1。1课程设计内容1 1。2课程设计要求1 2概要设计2 2。1 设计思路2 2。2 程序基本结构框架图3 3设计过程或程序代码4 3。1主要程序代码及解释4 4设计结果与分析11 4。1程序运行结果11 5 参考文献16 6总结16 学生宿舍设计报告 1 课程设计内容及要求 1.1 课程设计内容 ⑴通过本次课程设计,强化上级动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程的学习内容。掌握软件设计的基本方法。 v⑵熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C语言的基本编写及运行. ⑶了解程序的分模块编写并对程序的每个模块进行详细的设计并且能理解一般C语言编写的程序。 ⑷掌握书写程序设计说明文档的能力。 v⑸熟悉C程序设计的开发环境及C程序的调试过程。 1.2 设计要求 ①分析课程设计题目的要求。 ②写出详细设计说明。 ③编写程序代码,调试程序使其能正确运行. ④设计完成的软件要便于操作和使用。 ⑤设计完成后提交课程设计报告。 2 设计概要 2.1 设计思路 我设计的是“学生宿舍管理系统”,主要是针对住宿学生个人信息的管理,适用对象主要是学校,以方便学校对住宿学生的管理。包括学生的姓名、学号、等等。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、数组、结构等);运算类型(算数运算、逻辑运算、自增自减运算、赋值运算等等);程序结构(顺序结构、分支结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。 2.2 程序基本结构框架图 开始 输出界面 选择操作 选择4 选择1 选择2 选择0 选择6 选择5 选择 退出程序 浏览学生信息 修改宿舍详细信息 录入宿舍详细信息 注销学生信息 修改学生信息 录入学生信息 学生宿舍管理程序基本结构框架图 3 设计过程或程序代码 3.1 主要程序代码及解释 #include 〈stdio。h〉 #include <stdlib。h> #include 〈conio。h> int INDEX[32]; struct STUDENT { int id,age,classroom,bednum,f; char name[21]; }students[32]; void page_title(char *menu_item) { system("cls”); printf(”*********** 学 生 管 理 系 统 *********\n\n%s\n\n”,menu_item); } void return_confirm(void) { printf("\n**********按任意键返回*********\n”); getch(); } void student_new(void) { int n; page_title(”录入学生宿舍基本信息”); for(n=0;n〈32;n++) if(students[n].id==0) break; printf("学号:”); scanf(”%d”,&students[n].id); printf("姓名:”); scanf(”%s”,&students[n].name); printf("年龄:”); scanf("%d",&students[n]。age); printf(”寝室号:”); scanf("%d”,&students[n].classroom); return_confirm(); } int search_id(void) { int n,i; printf(”请输入学生学号:"); scanf("%d”,&i); for(n=0;n<32;n++) { if(students[n]。id==i&&students[n].id!=0) { printf(”学号:%d\n",students[n]。id); printf(”姓名:%s\n”,students[n]。name); printf("年龄:%d\n”,students[n].age); printf("寝室号:%d\n”,students[n].classroom); return n; } } printf(”\n输入错误或学号不存在。\n”); return -1; } void student_del(void) { int n; page_title(”注销学生宿舍基本信息"); if((n=search_id())!=—1) students[n]。id=0; printf(”\n!该学生宿舍信息已注销。\n"); return_confirm(); } void student_edit(void) { int n; page_title(”编辑学生宿舍基本信息”); if((n=search_id())!=—1) { printf(”\n请重新输入新信息:\n学号:"); scanf(”%d”,&students[n]。id); printf("姓名:"); scanf(”%s”,&students[n].name); printf("年龄:”); scanf("%d",&students[n]。age); printf("寝室号:"); scanf(”%d”,&students[n]。classroom); printf(”床位号:"); scanf("&d”,&students[n]。bednum); } return_confirm(); } void score_input(void) { int s,n,t; page_title(”录入学生宿舍详细信息”); printf("\n请用数字键选择输入信息项目〉>>〉\n(1) 身份证号 (2) 寝室号 (3)床位号\n”); scanf(”%d”,&s); for(n=0;n〈32;n++) { if(students[n]。id!=0) { printf(”学号:%d 姓名:%s 宿舍详细信息:”,students[n]。id,students[n]。name); scanf("%d”,&t); switch(s) { case 1 : students[n]。f=t;break; case 2 : students[n].classroom=t;break; case 3 : students[n]。bednum=t;break; } } } return_confirm(); } void score_edit(void) { int n; page_title(”修改学生宿舍详细信息>〉〉>>”); if((n=search_id())!=—1) { printf(”学号:%d 寝室号:%d 床位号:%d\n”,students[n]。id,students[n]。classroom,students[n].bednum); printf(”\n请重新输入成绩:\n\n身份证号:”); scanf("%d”,&students[n].f); printf("寝室号:"); scanf("%s”,&students[n].classroom); printf("床位号:”); scanf(”%d”,&students[n].bednum); } return_confirm(); } void sort_it(char nn) { int n,m,p,x,t[32]; for(n=0;n<32;n++) { switch(nn) { case '1' : t[n]=students[n].id;break; case ’2’ : t[n]=students[n].f;break; case ’3' : t[n]=students[n]。classroom;break; case ’4' : t[n]=students[n].bednum;break; case ’5’ : t[n]=students[n].f+students[n].classroom+students[n]。bednum;break; } } for(n=0;n〈32;n++) { x=0; p=—1; for(m=0;m〈32;m++) { if(t[m]>x) { x=t[m]; p=m; } } t[p]=—1; INDEX[n]=p; } } void browser(void) { int n,x; char k; sort_it('1’); while(1) { page_title(”浏览学生宿舍信息>>〉>〉\n"); printf(”按数字键选择排序方式或按 (0) 返回\n\n”); printf("学号*************姓名*******年龄****身份证号*****寝室号***床位号\t\n”); for(n=0;n<32;n++) { if(INDEX[n]!=-1) { x=INDEX[n]; printf("%d\t%s\t”,students[x]。id,students[x]。name); printf("%d\t%d\t”,students[x]。age,students[x]。f); printf(”%d\t%d\t”,students[x]。classroom,students[x]。bednum); printf("%d\n”,students[x].f+students[x].classroom+students[x].bednum); } } k=getch(); if(k<’6'&&k〉'0’) sort_it(k); else if(k==’0') break; else continue; } } void main(void) { char h; menu: page_title("************ 操作选单 **************”); printf(”请用数字键选择操作:\n\n”); printf(”***************************************\n”); printf(”\t1、录入学生宿舍基本信息\n\t2、修改学生宿舍基本信息\n"); printf(”\t3、注销学生宿舍基本信息\n\t4、录入学生宿舍详细信息\n\t5、修改学生宿舍信息\n"); printf("\t6、浏览学生宿舍信息\n\t0、退出学生宿舍系统\n”); printf("***************************************\n”); printf(”请输入你要进行操作的数字(0—9):%c”); scanf(”%c",&h); switch(h) { case ’1’ : student_new();break; case ’2’ : student_edit();break; case '3’ : student_del();break; case '4’ : score_input();break; case ’5' : score_edit();break; case ’6’ : browser();break; case ’0’ : exit(0);} goto menu; } 4 设计结果与分析 4.1 程序运行结果 ⑴程序主页 (图1) ⑵录入学生宿舍基本信息测试结果 (图2) ⑶a修改学生宿舍基本信息测试结果 (图3) b 修改后浏览效果 (图4) ⑷ 注销学生宿舍基本信息 a 注销失败 (图5) b 成功注销 (图6) ⑸ 录入学生宿舍详细 (图7) ⑹ 退出程序 (图8) 5 参考文献 1.严蔚敏,吴伟民.《数据结构题集(C语言版)》。清华大学出版社。 2.谭浩强.《c语言程序设计》。 清华大学出版社。 6 总结 每个程序可解决一个或一类问题,要想编好程序,要知道每个特定的语句段所针对的问题,由于有的问题比较复杂,要分成不同的函数,再用main函数或其它函数组合起来,形成一个完整的程序。简单游明白的程序在检查的时候会省去额外的时间,但是,编出程序之前必须看很多的程序,所以,我们应该多看程序。 在实验过程中,由于输入的代码有误,经常出错,有可能是标点符号的问题,有可能是单词拼写错误。对于长且复杂的程序段,最好模块化处理,一般都分为好几个函数,提高效率,如果都写在一起,一旦出错,很难找出来,程序出错了,我们应该找到合适的方法调试,可以分别在每个函数中写上输出语句,如果该语句执行了且执行结果和预想的结果一致,则说明该函数及函数以上部分没问题,则可以查找下面的语句是否有问题,一个字母不同也可以使结果不同,所以敲代码的时候,要做到尽量的细心,只有这样,才能使后面的调试变得不复杂。 11- 配套讲稿:
如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。
关于本文