您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > c语言课程设计报告(宿舍管理系统)
西安郵電大學C语言课程设计报告书学院名称计算机学院学生姓名吴戌睿专业名称网络工程班级1201班学号04122030指导教师陈皓时间2013年06月03日至2013年06月12日实验题目:学生宿舍管理系统一、实验目的通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法。通过这次实习练习,可以更进一步的熟悉所学的知识,还可以加强和巩固知识。长达两周的上机练习,为我们提供了很好的编程环境。更好的了解编程的意义,为将来参加实践活动以及以后的毕业设计打下坚实的基础。二、实验内容我设计的是“车辆管理系统”,主要是针对车辆信息的管理,适用对象主要是需要统一管理的车辆,例如租车公司。包括车辆的序号,车牌,品牌,车主信息。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的调用与使用)等。三、需求分析该程序是由C语言编写的一个车辆管理查询软件,本程序在MicrosoftVisualC++6.0下运行,其主要功能是实现对车辆信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以序号,车牌号为关键字查询车辆信息。四、概要设计1、方案设计2、数据结构说明程序中数据主要是学生信息,具体属于类型如下:structcar{intnum;/*序号*/主函数密码模块录入模块添加模块修改模块删除模块查询模块统计模块退出系统学号姓名宿舍性别年龄专业返回班级按姓名按学号按宿舍返回按性别按学号按宿舍返回按班级按专业charchepai[10];/*车牌号*/chartrademark[10];/*品牌*/charname[20];/*车主姓名*/charcall[20];/*联系方式*/structcar*next;};3、模块功能说明第一密码模块:调用mima(),进行初始登陆,管理者的注册与登录操作。第二录入模块:调用build(),对车辆信息进行录入。第三查看模块:调用output(),对已有车辆信息进行查看。第四查询模块:调用find(),对特定车辆信息进行查看。第五删除模块:调用shanchu(),对某一车辆信息进行删除操作。第六增加模块:调用charu(),增加车辆信息。第七排序模块:调用sort(),以车辆序号排序。第七修改模块:调用shaixuan(),对特定车辆信息进行修改。五、详细设计及运行结果1.函数之间调用关系图2.部分模块流程图及运行结果图示登陆界面主函数流程图主函数main()删除函数shanchu()录入函数build()统计函数census_message()添加函数Charu()charu()排序函数sort()密码函数mima()修改函数revise_message()查询函数find()主页界面输入密码功能选择选1选4选0选2选3选5录入模块添加模块修改模块删除模块查询模块结束退出系统是是是是是是否否否否否开始选6统计模块是否连续三次输入错误,退出系统录入模块录入界面修改模块输入姓名输入班级输入宿舍输入学号输入性别输入年龄输入专业是否继续录入结束NY修改界面输入要修改学生的姓名功能选择选1选7选4选8选2选3选5选6修改学号修改姓名修改班级修改宿舍修改性别修改年龄修改专业是否继续结束返回主页是是是是是是是是否否否否否否否统计模块输入统计方式功能选择选1选4选6选2选3选5按学号按宿舍按性别按班级按专业结束返回主页是是是是是是否否否否否统计界面六、调试情况,设计技巧及体会1、测试数据对功能1(密码系统测试)的测试:先注册账号密码分别为:1,1,然后退出程序进行登录测试。输入一组错误账号密码系统显示“对不起密码错误!按任意键退出!”。在输入正确密码,系统显示“密码正确!按任意键进入主菜单”并进入主界面。对功能2(录入车辆信息)的测试:按照先后顺序分别输入学生信息:序号车牌号品牌车主姓名联系方式001498566benzwu654861200254546toyotazhang46787对功能3(查看模块)的测试:系统显示已有车辆信息对功能3(添加车辆信息)的测试:按照先后顺序分别输入学生信息:序号车牌号品牌车主姓名联系方式00346334wwg46461对功能4(修改车辆信息)的测试:系统显示“请输入你要选择车辆的品牌请输入你要选择车辆的车主姓名”,输入“ase”系统显示“该车辆信息不存在!按任意键返回”,输入“toyotazhang”,系统显示“请输入修改后车辆的信息序号车牌号品牌车主姓名联系方式”对功能5(删除车辆信息)的测试:系统显示“请输入要删除的车辆信息”。输入要删除的车辆序号:001,系统显示出该车辆信息。选择删除该车辆信息。对功能6(查询学生信息)的测试:查询宿舍号为14#401的信息,系统显示为:学号姓名班级宿舍号性别年龄专业03091003李娜090214#401女20计算机03091004王红090114#401女20通信工程对功能7(统计学生信息)的测试:学生总人数3人,其中男生1人,女生2人。对功能8(退出系统)的测试:选择退出系统,程序关闭。2、对调试中主要问题进行总结调试过程中,经常会出现输入或显示为乱码的情况,这往往是上下定义的数据类型不同或定义数组长度不够所造成的。有时候程序中还会出现录入五个数据而只显示四个的情况,这也往往是由于定义的结构体数组长度过低所造成的。像这类问题只要把数据类型都定义成字符型,并且定义一个合理的数组长度往往都能解决。在调试过程中我遇到最大的问题出现在删除模块。在运用“rt+”打开文件并对某一数据进行删除后,往往显示会多显示一行数据。这是由于“rt+”写数据时只会覆盖数据而不会清除原文件数据,因此文件最后一行数据总会保留在原文件中。后来我先用“rt”打开文件并读取文件中的数据,然后再用“wt”打开原文件将删除后的数据重新写入文件,最终检测运行成功。3、对自己设计进行评价,指出合理和不足之处,提出改进的方案本程序拥有很多的优点:第一,它具有作为一个车辆管理系统的各个功能,包括录入信息、添加信息、修改信息、删除信息、查询信息等主要功能。可以方便的进行车辆信息的管理。第二,它的各个功能分块实现,对以后车辆信息系统做进一步的改进十分方便。第三,它也具有安全性,在进入学生信息管理系统之前要求输入账号和密码,所以比较安全,不会造成信息的外泄,并且可以对密码进行算法加密,这样更能确保信息的安全。4、在设计过程中的感受C语言是一门由浅入深的课程,最开始几天由于链表和文件部分掌握的不熟练,所以都去看书上的例子自己慢慢揣摩。之前也没有相关的学习机会,自己试着一点点做。由于没有经验,本应首先搭建起来的框架却是在各个功能模块都调试完毕的情况下思考如何把它们糅合在一个系统,浪费了不少时间。短短的一周实习时间我收获颇多,我相信经过这次实习必将为我以后的深入学习打下扎实的基础。参考文献:《C语言程序设计》(第二版)王曙燕科学出版社七、源程序清单#includestdio.h#includestdio.h#includestdlib.h#includeconio.h#includewindows.h#includemalloc.h#includestring.h#includeio.h#defineNsizeof(structcar)#defineLEN100/*欢迎界面*/voidwelcomehu(){system(cls);printf(\t\t#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓§〓#\n);printf(\t\t↓↓↓↓\n);printf(\t\t☆★☆☆★☆☆★☆☆★☆\n);printf(\t\t☆欢☆☆迎☆☆光☆☆临☆\n);printf(\t\t☆★☆☆★☆☆★☆☆★☆\n);printf(\t\t↓↓↓↓\n);printf(\t\t※※※※\n);printf(\t\t|----------------------------------------------|\n);printf(\t\t|********************|\n);printf(\t\t|***************智能车库管理系统***************|\n);printf(\t\t|********************|\n);printf(\t\t|**********************************************|\n);printf(\t\t|*作者:吴戌睿*|\n);printf(\t\t|**********************************************|\n);printf(\t\t|**********************************************|\n);printf(\t\t|**********************************************|\n);printf(\t\t|*请按回车键继续*|\n);printf(\t\t|**********************************************|\n);flushall();getch();system(cls);}/*车辆信息结构体类型*/structcar{intnum;/*序号*/charchepai[10];/*车牌号*/chartrademark[10];/*品牌*/charname[20];/*车主姓名*/charcall[20];/*联系方式*/structcar*next;};/*系统密码模块*/voidmimahu(){FILE*fp;inti=0;chara[6],aa;charb[6];fp=fopen(mima.txt,rt);if(fp==NULL){system(cls);printf(*******************************************\n);printf(*请您输入系统初始密码(六位)*\n);printf(*******************************************\n);fp=fopen(mima.txt,wt);for(i=0;i6;i++){aa=getch();printf(*);a[i]=aa;}fputs(a,fp);fclose(fp);}fgets(a,7,fp);system(cls);printf(|--------------------------|\n);printf(|请输入系统管理员密码:(6位)|\n);printf(|------------------=====---|\n);flushall();for(i=0;i6;i++){b[i]=getch();printf(*);}if(a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]){system(cls);printf(---------------------------------\n);printf(密码正确!\n);printf(---------------------------------\n);printf(\n\n*****按任意键进入主菜单*****\n);printf(---------------------------------\n);getch();}else{system(cls);printf(***************************************************\n);printf(**\n);printf(*对不起密码错误!按任意键退出!*\n);pr
本文标题:c语言课程设计报告(宿舍管理系统)
链接地址:https://www.777doc.com/doc-2908626 .html