


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.1. HUBEIUNIVERSITYOFAUTOMOTIVETECHNOLOGYC语言实训报告班级:k1223-5姓名:荷学号:20129230518课程实训目的2.2. 需求分析2.2.1要求2.2.2任务描述.3.2.3运行环境.3.2.4开发工具.3.3. 总体设计3.3.1系统流设计3.3.2系统模块设计5.4. 详细设计5.4.1数据结构设计5.4.2模块接口设计7.4.3以下是几个主要模块的流程图:8.5. 运行结果主菜单界面:.05.2信息录入界面:错误!未定义书签。5.3信息浏览界面:1.25.4信息查询界面:1.36. 5.5信息修改界面:1.3程序调试与测
2、试146.1程序调试与分析1.47. 6.2程序测试结果.6问题与不足.6建议1.7.8. 编程体会.7.程序源代码:1.7参考文献38用户使用手册38课程实训目的1)通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。2)通过课程实训,进一步掌握C语言中重要的数据结构。掌握并熟练运用指针、链表、结构体、文件等数据结构。3)通过课程实训,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。4)通过课程实训,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。5)通过课程实训,加强了
3、自己的程序分析能力。需求分析2.1要求1)遵循软件开发过程的基本规;能灵活应用,初步具备运用C程序解决实际问题的能力。2)运用结构化程序设计方法,按照课程实训题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。3)学会利用数组、结构体、链表进行相关信息表示。4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。6)所设计的C程序较好的可读性和可靠性;程序书写风格规,注释清晰。7)界面友好(良好的人机互交),凡需要输入信息时,都有较详尽的提示信息,
4、并对输入信息有较完善的值域分析。8)程序经上机调试通过,不应出现语法型、功能型错误,并获得满意的结果。9)学会通过各功能性测试用例测试程序的能力,尽可能避免原则性错误的出现。10)掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。11)C语言课程实训报告的容反应实际设计过程,且符合格式要求,无抄袭现象。2.2任务描述此系统以计算机系的学生为背景,提供对学生个人住宿信息的录入、编辑、查找、统计等功能。具体功能实现如下:1)信息录入:实现学生住宿信息的录入功能,并能将其以文件形式加以保存。2)编辑功能:实现对学生住宿信息的添加,并对指定学生的住宿信息进行删除或修改等功能。
5、3)信息浏览功能:实现对指定学生的学生住宿信息浏览。4)查询功能:实现按学生入住时间、按收费标准查询学生住宿信息的功能。5)系统以菜单方式工作,界面清晰,易于操作。2.3运行环境1)WindowsXP/7系统2)VC+6.0编译环境2.4开发工具C语言总体设计3.1系统流程设计本系统的功能模块如图1所示,主要有以下模块:1) 图1系统功能模块图3.2系统模块设计课程名称界面:运用printf函数,实现课程实训名称以及作者的显示。2) 系统欢迎界面:运用printf函数,实现欢迎使用学生简历管理系统的显示。3) 主菜单界面:构造函数menu_select();,实现系统主菜单的显示。4) 学生住
6、宿信息录入:构造函数voidcreate(),实现学生简历信息的录入。5) 学生住宿信息浏览:构造函数voidxianshi();,实现对学生整体住宿情况的浏览。6) 学生住宿信息保存:构造函数voidbaocun();,实现对学生整体住宿情况的保存。7) 学生住宿信息查询:intfindByIndex(intindex)函数,实现按入住时间查询,调用intfindBybiaozhun(intbiaozhun);函数,实现按收费标准查询。学生住宿信息修改:构造函数intreplace(charname,intp,intq);,实现对指定学生的学号对其入住时间、收费标准。8) 学牛住宿信息删除:
7、构造函数intfindBybiaozhun(intbiaozhun);,实现对学生整体住宿情况的删除。详细设计4.1数据结构设计根据系统要求,系统中需要保存的数据信息,其结构如下:数据项名称数据项系统表示数据类数据长度(字备注型节)学生字符串50学生住宿层号stui.cenghao整型4学生住宿房号stui.fanghao整型4学生住宿床位号stui.chuanghao整型4学生学号stui.xuehao整型4住宿收费标准stui.shoefei整型4缴费状态stui.zhuangtai字符串20学生入住时间stui.shijian整型4根据系统要求,系统中需要保存的类别信息
8、,其结构如下:类别代号当类别名称a.txt先声明一个类型为typedefstructstudent的结构体,其成员为学生的住宿信息。然后通过对结构体成员、文件等数据结构的操作,实现对学生住宿信息的录入,浏览,查询,存盘,修改,删除等一系列操作。其中,结构体定义如下:typedefstructstudent(charname50;intcenghao;intfanghao;intchuanghao;intxuehao;intshoufei;charzhuangtai20;intshijian;STUDENT;4.2模块接口设计1) 所有函数模块声明如下:menu_select();/*主菜单函数
9、*/voidcreate();/*录入学生简历信息*/voidxianshi();/*显示浏览界面*/intfindByIndex(intindex);*实现按学号查询*/intfindBybiaozhun(intbiaozhun);/*实现按入住时间查询*/voidbaocun();/*向磁盘写入学生信息加以保存*/intremovebyxuehao(intsxh);/*实现指定学生的信息删除*/intreplace(charname,intp,intq);/*实现学生信息的修改*/2) 并定义需要使用的全局变最:3) #defineNUM30intflag=0;STUDENTstuNUMc
10、harname20;inti,n,m,b,c,d,e,f,j,g,p,q,y,x,a1,a2;charA612;主要模块的实现系统以主函数intmain()为入口,首先通过system("color1e");将汉字界面置为黄色。然后调用menu_select();函数,进入主菜单界面。系统接收用户输入的选择,调用相应的函数,进入到下一级菜单进行相关工作。4.3以下是几个主要模块的流程图:1)主菜单函数:2)信息浏览函数:图3信息浏览图4信息修运行结果5.1主菜单界面:图5主菜单界面输入功能选择,系统自动进入相应功能界面,'C:IJsersAdnnini?tra:cr
11、De&ktop?fT2;|ibDebug生宿舍管耍系藐启农=己任居压牛k工学,有日.日1FC法注统系m二=7#.生淫老蕾导JrE*二.二二二二二二二盛.二二.二二二二二二二二二M二B息览-5二63?旬旬m慕查查一WE准"生息时蓄m学gs攻一一OK收改董*1234567二.M二M二二二二二二二二二二二.二.*欢迎使用!请输入你的选择1图6信息录入界面5.2息浏览界面:M"C:UsersXAdminirtratorADesldoaW用'奇弯文件夹Debu9V学生与舍笆理家蜿露食薛蓬住一询询E查查雷字隹学食a功入全FA收改除出欢迎使用!学号1收费标准爆冒状态入住时
12、间120H是2Q12RHH皇2H12层层层一B1FSF.ftF人F辑Fti234S6图7全部信息浏览5.3信息查询界面:从键盘中输入选择,可以按学号和进行查询,并显示结果。导割欢迎使用晴按任意入协的选ft;3信息查询版入住时间查询,改功鸵注褂,T,代表该房间有学生居任房间号床位号学号收费标准缴冒状态入住时间ill120B#2012舍管理系统图8按查询的结果5.4修改界面:从键盘中输入需要修改的信息代码,自动提示输入新的信息图9按查询的结果程序调试与测试6.1程序调试与分析(1)各模块分别调试过程、出现的错误原因,纠正错误的方法及结果:主菜单显示界面:刚开始主菜单显示的时候参差不齐,视觉效果混乱
13、。通过插入“n,t,空格等来使主菜单显示清爽,合理。宿舍整体情况浏览:开始试图用“空闲,居住”来表示某房间的空闲状态。但由于能力有限,无法用汉字表示,就分别用了“T”和“F”表示某房间的空闲状态。可以表示出每个房间的空闲状态。按入住时间查询:最初对“for”循环的用法不熟悉,造成查询功能无法实现,通过上网查询相关资料解决了这一问题,使按入住时间查询这一功能实现。按入住时间查询:由于在输入入住时间时,限制了只能输入800/年或1200元/年,在测试查询功能时,老是出现程序错误,后来通过一步步的检查找出这一问题,按入住时间查询功能得以实现。修改功能:最初无用了“for”循环,造成数据无法修改。通过
14、请教同学解决了这一问题。删除功能:最初无用了“for”循环,造成数据无法删除。通过请教同学解决了这一问题。6.2程序测试及结果(1)各模块测试用例数据的确定测试数据层号房间号床位号学号收费标准缴费状态入住时间飞11111200是20112222800否2012测试结果数据正确。(2)测试中出现的问题的原因和分析在保存文件时,由于未及时关闭文件,造成下面的数据乱码,及时关闭文件的操作。1. 问题与不足(1)需求分析中存在的问题和分析:因为不能很好的掌握主菜单的循环,无法实现再次录入学生信息。(2概要设计中存在的问题和分析没能很好的结合实际情况,使程序的某些功能未能符合实际情况。(3详细设计中存在
15、的问题和分析查询的功能太少,只有按入住时间和缴费状态查询。代码编制中存在的问题和分析在定义结构体时,和缴费状态的数组定义过大,造成存浪费。(4) 调试和测试中存在的问题和分析在输入层号、房间号、床位号、学号、入住时间时未加以保护,输入不是数字时,程序也可运行,存在漏洞。建议课设容的容应更加符合实际,时间给的太过充裕,老师辅导最好在详细一点。建议老师能从根本上教会学生一些简单的编程。编程体会经过二周的课程设计,我学到了很多东西: 巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。 培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。 过实
16、际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。 够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。 通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。课程设计是把我们所学的理论知识进行系统的总结并应用于实践的良好机会,有利于加强我们用知识理论来分析实际问题的能力,进而加强了我们对知识认识的实践度,巩固了我们的理论知识,深化了对知识的认识,并为走向社会打下一个良好的基础。在这次课程设计中我遇到许多问题和麻烦,得到了老师的帮助和指导,才能够使得这次课程设计顺利的进行下去,另外,在程序调试过程中,也得到很多同学的
17、帮助,给我及时指出错误,提出许多宝贵意见。在此对老师和同学们表示感!2. 程序源代码:#include<stdio.h>#defineNUM30intflag=0;typedefstructstudentcharname50;intcenghao;intfanghao;intchuanghao;intxuehao;intshoufei;charzhuangtai20;intshijian;STUDENT;STUDENTstuNUM;voidcreate();voidxianshi();voidbaocun();intfindByIndex(intindex);intremoveby
18、xuehao(intsxh);intfindBybiaozhun(intbiaozhun);intreplace(charname,intp,intq);charname20;inti,n,m,b,c,d,e,f,j,g,p,q,y,x,a1,a2;charA612;intmain()intmenuchoice;system("color1e");domenu_select();printf("请输入你的选择:");scanf("%d”,&menuchoice);switch(menuchoice)case1:if(flag=0)(pr
19、intf("请输入要录入的学生个数");scanf("%d",&n);rewind(stdin);while(n>30|n<1)printf("您的输入有误请重新输入:n");scanf("%d",&n);rewind(stdin);create();printf("n学生信息录入成功.n");flag=1;system("pause");system("cls");break;else(printf("学生信息已录入
20、,不需录入.n");system("pause");system("cls");break;case2:if(flag=1)(printf("您输入的学生信息为n");xianshi();system("pause");system("cls");break;else(printf("请先录入学生信息再浏览!.n");system("pause");system("cls");break;case3:if(flag=1)(pr
21、intf("学生信息查询(按入住时间查询)n");scanf("%d",&y);findByIndex(y);system("pause");system("cls");break;else(printf("请先录入学生信息再查询!.n");system("pause");system("cls");break;case4:if(flag=1)(printf("学生信息查询(按收费标准查询)n");scanf("%d&
22、quot;,&x);findBybiaozhun(x);system("pause");system("cls");break;else(printf("请先录入学生信息再查询!.n");system("pause");system("cls");break;case5:if(flag=1)printf("学生信息修改n");printf("请输入要被修改的和新的入住时间,收费标准n");scanf("%s%d%d",name,
23、&a1,&a2);replace(name,a1,a2);system("pause");system("cls");break;else(printf("请先录入学生信息再修改!.n");system("pause");system("cls");break;case6:if(flag=1)printf("学生信息删除");printf("请输入您要删除的学生的学号");scanf("%d",&g);remov
24、ebyxuehao(g);system("pause");system("cls");break;else(printf("请先录入学生信息再删除.n");system("pause");system("cls");break;case7:printf("程序退出,欢迎再次使用!n");exit(0);system("pause");system("cls");default:printf("您的输入有误请重新输入n"
25、;);rewind(stdin);system("pause");system("cls");break;while(1);intmenu_select()printf("tttttt注释:'F'代表该房间为空闲n”);printf("tttttt注释:'T'代表该房间有学生居住n");printf("ttt学生宿舍管理系统n");printf("ttt作者:荷n");printf("ttt指导老师:胡宁亚n");*printf(&q
26、uot;ttttt1.录入学生住宿信息n");printf("ttt2.宿舍信息整体浏览n");printf("ttt3.按入住时间查询n");printf("ttt4.按收费标准查询n");printf("ttt5.修改功能n");printf("ttt6.删除n");printf("ttt7.退出n");printf("tt*永永永永永nnn");*printf("tt欢迎使用!nnn");voidcreate()(for
27、(i=0;i<6;i+)for(j=0;j<12;j+)Aij='F'printf(-请输入%d个学生的信息(,层号,房间号,床位号,学号,收费标准,缴费状态,入住时间)n”,n);for(i=0;i<n;i+)(do(scanf("%s%d%d%d%d%d%s%d”,,&stui.cenghao,&stui.fanghao,&stui.chuanghao,&stui.xuehao,&stui.shoufei,stui.zhuangtai,&stui.shijian);if(stui.
28、shoufei!=800)&&(stui.shoufei!=1200)printf("输入错误,请重新输入");while(stui.shoufei!=800&&stui.shoufei!=1200);Astui.cenghao-1stui.fanghao-1='T'flag=1;voidxianshi()(printf(-层号房间号床位号学号收费标准缴费状态入住时间n");for(i=0;i<n;i+)(printf("%s%d%d%d%d%d%s%dn”,,stui.cengha
29、o,stui.fanghao,stui.chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);printf("nnnn");printf("");for(j=0;j<12;j+)printf("%d",j+1);printf("n");for(i=0;i<6;i+)(printf("第%d层”,i+1);for(j=0;j<10;j+)printf("%3c",Aij);for(j=10;j&l
30、t;12;j+)printf("%4c",Aij);printf("n");printf("保存文件");baocun();printf("nn");voidbaocun()(chara100;FILE*fp;printf("请输入文件名:n");rewind(stdin);gets(a);if(fp=fopen(a,"w")=NULL)(printf("文件不能打开n");exit(0);fp=fopen(a,"w");for(i=0
31、;i<n;i+)(fprintf(fp,"%s%d%d%d%d%d%s%d”,,stui.cenghao,stui.fanghao,stui.chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);printf("保存成功n");fclose(fp);intfindByIndex(index)inti;for(i=0;i<n;i+)(if(stui.shijian=y)(printf(-层号房间号床位号学号收费标准缴费状态入住时间n");printf(&
32、quot;%s%d%d%d%d%d%s%dn”,,stui.cenghao,stui.fanghao,stui.chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);elseprintf("无此信息.n");return0;intfindBybiaozhun(intbiaozhun)(for(i=0;i<n;i+)(if(stui.shoufei=biaozhun)(printf("层号房间号床位号学号收费标准缴费状态入住时间n");printf("
33、;%s%d%d%d%d%d%s%dn”,,stui.cenghao,stui.fanghao,stui.chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);elseprintf("无此.n");return0;intreplace(charname,intp,intq)(inti;printf("该学生的原数据为:n");for(i=0;i<n;i+)(if(strcmp(name,)=0)(printf(-层号房间号床位号学号收费标准缴
34、费状态入住时间n");printf("%s%d%d%d%d%d%s%dn”,,stui.cenghao,stui.fanghao,stui.chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);stui.shijian=p;stui.shoufei=q;printf(-层号房间号床位号学号收费标准缴费状态入住时间n");printf("%s%d%d%d%d%d%s%dn",,stui.cenghao,stui.fanghao,stui.
35、chuanghao,stui.xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);printf("修改后的信息为:n");return0;intremovebyxuehao(intsxh)printf(-原数据为:n");for(i=0;i<n;i+)(printf(-层号房间号床位号学号收费标准缴费状态入住时间n");printf("%s%d%d%d%d%d%s%dn",,stui.cenghao,stui.fanghao,stui.chuanghao,stui.
36、xuehao,stui.shoufei,stui.zhuangtai,stui.shijian);printf("n");sxh-;for(b=sxh;b<n;b+)(stub=stub+1;n-;printf("n");for(i=0;i<6;i+)for(j=0;j<12;j+)Aij='F'printf("删除后为:n");for(i=0;i<n;i+)(printf("层号房间号床位号学号收费标准缴费状态入住时间n");printf("%s%d%d%d%d%d%s%dn",,stui.ceng
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit4 My favorite subject Section A 2a-2f 教学设计2024-2025学年人教版英语七年级上册
- 23纸船和风筝 教学设计-2024-2025学年语文二年级上册统编版
- 名校联盟浙江省温州市瓯海区实验中学八年级社会下册教学设计(42份)
- 2024年一年级品生下册《我和小树交朋友》教学设计 山东版
- 2024年五年级英语下册 Unit 1 Were going to read stories第3课时教学设计 湘少版
- 2023七年级数学下册 第八章 二元一次方程组8.3 实际问题与二元一次方程组第1课时 实际问题与二元一次方程组(1)教学设计 (新版)新人教版
- 2024秋八年级英语上册 Unit 2 How often do you exercise Section B (2a-2e)教学设计(新版)人教新目标版
- 2024秋四年级英语上册 Module 9 Unit 1 Are you going to run on sports day教学设计 外研版(三起)
- 移动客户经理年终工作总结
- 《我的立体名片》(教学设计)-2024-2025学年沪教版(2024)美术一年级上册
- 小学生理性消费课件
- 内蒙古科技馆新馆展陈创新方案
- 村级公墓规划设计方案
- 山东省济南市(2024年-2025年小学六年级语文)统编版小升初真题(下学期)试卷及答案
- 大模型原理与技术-课件 chap6 大模型微调
- 单层轻钢结构施工方案
- 深度学习及自动驾驶应用 课件 第9、10章 生成对抗网络及自动驾驶应用、强化学习理论及自动驾驶应用实践
- 拼多多在线测评98道题
- 中国国新基金管理有限公司招聘笔试题库2024
- 环境监测站运行管理与质量控制标准
- 20以内的加法口算练习题4000题 284
评论
0/150
提交评论