c语言实习报告_第1页
c语言实习报告_第2页
c语言实习报告_第3页
c语言实习报告_第4页
c语言实习报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、西安邮电大学C语言课程设计报告题目:学生宿舍管理系统院系名称:计算机学院专业名称:软件工程班 级:1205班学生姓名:邵欢学号(8 位):04123157指导教师:王小银. 设计目的1. 掌握结构体的定义和使用。2理解链表工作原理,熟悉基本操作。3.熟悉C语言中文件操作。 4掌握文件的定义方法及文件指针的概念,掌握文件打开、关闭、读、写文件基本操作函数。5 掌握 C 语言数据类型,如何定义一个整型、字符型和实型的变量,以及 它们赋值的方法。6. 握函数的调用及嵌套 , 顺序结构、选择分支结构、循环结构及其嵌套的应用、结构体、指 针以及综合应用,会使用文件的一些函数。7. 会独自分析问题解决问题

2、,提高解决问题的能力。8. 提高分析问题和解决问题的能力,提高程序设计水平二 . 设计内容1. 运用结构体及链表等编辑一个简单的学生宿舍基本信息管理系统,使之能够完成学生基本信息的输入、保存、读取、查找、插入、删除、修改、排序、统计、输出、退出。2. 利用密码对系统信息进行管理。2. 执行编译操作,并根据提示调试此程序,排除所有的错误和警告,直到编译成功为止。3. 执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。4. 接受老师的检查并回答老师所提出的问题,知道令老师点头为止。5. 根据自己的源程序及运行情况截取相应的图片,完成实验报告。.概要设计1. 功能模块图2. 各个模块详

3、细的功能描述。登陆界面:需将在文件中设置好的密码与输入的密码进行比较,正确即可进入主界面, 可选择要输入的信息,否则退出1 .输入模块struct Node*creat_inf()进入输入信息模块,用 do-while循环对学生信息进行输入。2. 保存信息模块void savenf( struct Node *head)对信息进行保存,保存到 文件中。3. 读取信息模块struct Node *read_inf()从指定文件中读取出保存的信息。4. 查找信息模块struct Node* find( struct Node *p)在已保存的信息中按学 号查找对应学号。5 .插入信息模块int i

4、nsert (struct Node *p0),将想要插入的信息添加到已 有信息中,并保存。6.删除信息模块int del( struct Node*head),按学号找出要删除的学生信息,找到删除。7修改信息模块 void modify( struct Node *p),按学好着出要修改的学生信 息,在输入要修改的内容,并保存。8 .信息排序模块struct Node* sort( struct Node* head)按宿舍号对学生信息 进行排序。9. 统计信息模块int statis( struct Node *head),将保存的学生信息进行统 计,并输出。10. 输出信息模块,void

5、 print( struct Node*p)将之前做过修改、排序、插入 的所有信息输出。11. 退出。四.详细设计1. 功 能 函 数 的 调 用 关 系 图Switch(choice)choice=1choice=2 choice=3 choice=4Tchoic3=5choice=6choice=7choice=8choice=gChoice=0 choic息添加公寓学生信 自4自心保存公寓学生信息读取公寓学生信息查找公寓学生信修改公寓学生信息删除公寓学生信息插入公寓学生信息排序公寓学生信息统计公寓学生信退出出输出公寓学生信2 各功能函数的数据流程图2.输入信息模块:对学生公寓学生信息进行

6、输入否查找信4.开始是删除查找要删除的学号p_num=num删除失败!结束5.该数据不存在修改6.排序模块:7统计模块8.3 重点设计及编码程序的主要设计在各个模块的功能方面,其中密码部分及主界面各模块的调用是比较着重设计的环节printf( nnnnnttt欢迎登陆学生宿舍信息管理系统n);printf(nnnntttt请输入密码:);for(i=0;inum,p-name,p-sex,p-age,p-addr,p-room);elseprintf(未找到该学生! n);getchar();printf(请按任意键返回主菜单。);getchar();break;case 7: /从指定的磁盘

7、文件中读取信息并存入单链表中head=read_i nf();prin t(head);printf(请按任意键返回主菜单。);getchar();break;case 8: / 打印head=read_i nf();prin t(head); printf(请按任意键返回主菜单。); getchar();break;case 9: / 统计printf(已存 个学生信息!n ,statis(head); getchar();printf(请按任意键返回主菜单。); getchar();break;case 10:sort(head);save_i nf(head); getchar();pr

8、intf(请按任意键返回主菜单。); getchar();break;default :printf( nnnnnnnntttt感谢您的使用。”);printf( nnnttt确定退出? ( y/n ):);fflush(stdi n);getchar(); ch=getchar();printf( nntt);if (ch=y |ch= Y)exit(0);break;/system(pause); while (1); /end doelseprintf( nnnnnttt对不起,您的密码输入有误!nn);printf( nntttt请按任意键退出。);getchar();四.测试数据及运

9、行结果1 正常测试数据和运行结果要求提供3组正常测试数据和运行结果c:用刼魁卿HWH!廖12 3llW =#名性别年龄宿舍楼号宿舍号4 maliu u 20 6 234 插人成功? 字号曲姓名=shangsan性另収 44:2 :lisi 性勒N 年 . 学号詔:xiaodi性别E年龄爵 44 = 4姓名:nallu性别曲年龄:酗 宿舍;将学号为3的学生宿舍号修改为 135:1 姓名 hangsan J=2 :iisi 性别.:3 g:xiaodi性别冷 年龄:17宿总学号:4 :naliu性别士年fi:2B宿舍:删除学号为2的学生U7_M|_;1Wh V = 3宿舍号活阳 宀亠号:4即 诗汚

10、钥 号沱34r:502 :43? 号江35 r:234我的课程设计Mb帼I学生宿请输入要删際的学号:3 己正确删除丨呼号:1 姓名:Ehansisan | 44:2 姓:lisi 性另lj: #4:4 =maliu 性别年龄;鸥宿舍篠号謠宿舍号吃附:zhangsan性馳m年龄=19宿書楼号:M宿舍号吞:鵲脇帥需羈牒? -C:Documents and Settin?sAdi查找学号为1的学生信息 XSK2T1j:W年龄心 宿舍楼号=4宿舍号:伽按年龄大小排序(从大到小) Sig 甘Iitw怦Jhrafinrii网niomj!咛计hr沧北血斜4*5晶1跆由躍醒S:4姓茗:mal过:逢鑒:誠请输入

11、要打开的文件名* x-txt文己学1 2駢严極入,按任意键返回?篦 性别年龄宿舍楼号宿舍号zhangsan n 1? 4398?2 5Q2lisi w IS 4398876 437学号詔.姓名:站liu性别沖 年龄:加 宿舍棧号活 宿舍号唸昶 年龄江9宿舍穂号=3宿舍号汚02 龄,宿舍楼导注 宿舍号:4即人数统计 MMMiMMilaMI己存3个学生信息F从指定文件中读取数据tn i.h1 zhangsan n 19 3 S922 lisi 祈 18 U 4*373 xiaodi m 17 5 5却33 xiaodi m 17 4398780 5432异常测试数据及运行结果要求提供2组异常测试数

12、据和运行结果7 53 45 3 口喜舍舍宿宿5 3 1 口專S舍舍肓宿9 01 3_ 1另另W性的学生信息囂燔删除学号为2GeE? 53 45 3_ w W肯万舍舍宿宿5 3_ 肯冇1舍舍宿宿9 01 3 -龄龄年年性性的存ssdd?名名 墓姓姓 入除:1=2六调试情况,设计技巧及体会1用 Switch() 语句时发现当用整型作为判断依据时,用户如果输入的为字符 就会出现卡屏的现象,而用字符型时有可能出现死循环。2语法错误容易发现,逻辑错误不易发现而且比较隐蔽,而且很难修改。 3程序设计应分模块设计,在编写过程中不要一大块的区编译,当你完成整 个程序的一小部分时, 就进行编译查错, 程序首先要

13、保证没有语法错误, 这 样以便以后调试, 函数名及变量名尽量要做到见名知意, 方便自己调试, 也 方便他人阅读。4对于程序中的注释是我们一直不够重视的,很多人编程时不写注释,或者 注释很少,这样也不利于自己修改程序,更不利于他人阅读程序。1改进方案利用switch-case.制作主界面,供选择,利用两个链表来实现对信息的排序,使得在编写 过程中的难度降低,再利用 do-while 循环,使得程序的可读性也变好。2体会在设计过程中的体会: 在开始的设计中我确实感到自己知识运用十分不灵活, 有些概念理解不到 位,有些子函数不会编, 只是照着课本套, 我也感觉到把这门课学好是十分 有用的,还有这门课的逻辑思维是非常严密的, 学好它能够很好的训练人的 逻辑思维的。C 语言软件设计既然作为一门利用 C 语言理论课程的另一门学科必定有 它的重要性, C 程序设计需要我们总结理论课所学知识,并熟练应用。它是 学生的一种强化训练和智力的开发。 我想其目的并不是要求我们能编写出高 水平的程序,而是要求我们能独立进行实践, 完成自己的工作, 并培养我们 大学生在动手方面的技能。 C 程序设计对有些同学来说比较枯燥乏味, 这就

温馨提示

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

评论

0/150

提交评论