下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 c语言课程设计报告(宿舍管理系统)

c语言课程设计报告(宿舍管理系统).doc

c语言课程设计报告(宿舍管理系统)

联迷
2013-06-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《c语言课程设计报告(宿舍管理系统)doc》,可适用于IT/计算机领域

西安郵電大學C语言课程设计报告书学院名称计算机学院学生姓名吴戌睿专业名称网络工程班级班学号指导教师陈皓时间年月日至年月日实验题目:学生宿舍管理系统一、实验目的通过本课程设计强化上机动手能力使学生在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容掌握工程软件设计的基本方法。通过这次实习练习可以更进一步的熟悉所学的知识还可以加强和巩固知识。长达两周的上机练习为我们提供了很好的编程环境。更好的了解编程的意义为将来参加实践活动以及以后的毕业设计打下坚实的基础。二、实验内容我设计的是“车辆管理系统”主要是针对车辆信息的管理适用对象主要是需要统一管理的车辆例如租车公司。包括车辆的序号车牌品牌车主信息。在编写过程中主要运用C语言的基本知识有:数据类型(整形、实型、字符型、指针、数组、结构等)运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等)程序结构(顺序结构、判断选择结构、循环结构)大程序的功能分解方法(即函数的调用与使用)等。三、需求分析该程序是由C语言编写的一个车辆管理查询软件本程序在MicrosoftVisualC下运行其主要功能是实现对车辆信息的录入、添加、删除、修改、查询、统计。其中查询可以分别以序号车牌号为关键字查询车辆信息。四、概要设计、方案设计、数据结构说明程序中数据主要是学生信息具体属于类型如下:structcar{intnum*序号*charchepai*车牌号*chartrademark*品牌*charname*车主姓名*charcall*联系方式*structcar*next}、模块功能说明第一密码模块:调用mima()进行初始登陆管理者的注册与登录操作。第二录入模块:调用build()对车辆信息进行录入。第三查看模块:调用output()对已有车辆信息进行查看。第四查询模块:调用find()对特定车辆信息进行查看。第五删除模块:调用shanchu()对某一车辆信息进行删除操作。第六增加模块:调用charu()增加车辆信息。第七排序模块:调用sort()以车辆序号排序。第七修改模块:调用shaixuan(),对特定车辆信息进行修改。五、详细设计及运行结果函数之间调用关系图部分模块流程图及运行结果图示登陆界面主函数流程图主页界面录入模块录入界面修改模块修改界面统计模块统计界面六、调试情况设计技巧及体会、测试数据对功能(密码系统测试)的测试:先注册账号密码分别为:,然后退出程序进行登录测试。输入一组错误账号密码系统显示“对不起密码错误!按任意键退出!”。在输入正确密码系统显示“密码正确!按任意键进入主菜单”并进入主界面。对功能(录入车辆信息)的测试:按照先后顺序分别输入学生信息:序号车牌号品牌车主姓名联系方式benzwutoyotazhang对功能(查看模块)的测试:系统显示已有车辆信息对功能(添加车辆信息)的测试:按照先后顺序分别输入学生信息:序号车牌号品牌车主姓名联系方式wwg对功能(修改车辆信息)的测试:系统显示“请输入你要选择车辆的品牌请输入你要选择车辆的车主姓名”输入“ase”系统显示“该车辆信息不存在!按任意键返回”输入“toyotazhang”系统显示“请输入修改后车辆的信息序号车牌号品牌车主姓名联系方式”对功能(删除车辆信息)的测试:系统显示“请输入要删除的车辆信息”。输入要删除的车辆序号:系统显示出该车辆信息。选择删除该车辆信息。对功能(查询学生信息)的测试:查询宿舍号为#的信息系统显示为:学号姓名班级宿舍号性别年龄专业李娜#女计算机王红#女通信工程对功能(统计学生信息)的测试:学生总人数人其中男生人女生人。对功能(退出系统)的测试:选择退出系统程序关闭。、对调试中主要问题进行总结调试过程中经常会出现输入或显示为乱码的情况这往往是上下定义的数据类型不同或定义数组长度不够所造成的。有时候程序中还会出现录入五个数据而只显示四个的情况这也往往是由于定义的结构体数组长度过低所造成的。像这类问题只要把数据类型都定义成字符型并且定义一个合理的数组长度往往都能解决。在调试过程中我遇到最大的问题出现在删除模块。在运用“rt”打开文件并对某一数据进行删除后往往显示会多显示一行数据。这是由于“rt”写数据时只会覆盖数据而不会清除原文件数据因此文件最后一行数据总会保留在原文件中。后来我先用“rt”打开文件并读取文件中的数据然后再用“wt”打开原文件将删除后的数据重新写入文件最终检测运行成功。、对自己设计进行评价指出合理和不足之处提出改进的方案本程序拥有很多的优点:第一它具有作为一个车辆管理系统的各个功能包括录入信息、添加信息、修改信息、删除信息、查询信息等主要功能。可以方便的进行车辆信息的管理。第二它的各个功能分块实现对以后车辆信息系统做进一步的改进十分方便。第三它也具有安全性在进入学生信息管理系统之前要求输入账号和密码所以比较安全不会造成信息的外泄并且可以对密码进行算法加密这样更能确保信息的安全。、在设计过程中的感受C语言是一门由浅入深的课程最开始几天由于链表和文件部分掌握的不熟练所以都去看书上的例子自己慢慢揣摩。之前也没有相关的学习机会自己试着一点点做。由于没有经验本应首先搭建起来的框架却是在各个功能模块都调试完毕的情况下思考如何把它们糅合在一个系统浪费了不少时间。短短的一周实习时间我收获颇多我相信经过这次实习必将为我以后的深入学习打下扎实的基础。参考文献:《C语言程序设计》(第二版)  王曙燕    科学出版社七、源程序清单#include<stdioh>#include<stdioh>#include<stdlibh>#include<conioh>#include<windowsh>#include<malloch>#include<stringh>#include<ioh>#defineNsizeof(structcar)#defineLEN*欢迎界面*voidwelcomehu(){system("cls")printf("tt#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓§〓#n")printf("tt  ↓     ↓      ↓     ↓n")printf("tt ☆★☆   ☆★☆    ☆★☆   ☆★☆n")printf("tt☆ 欢 ☆ ☆ 迎 ☆  ☆ 光 ☆ ☆ 临 ☆n")printf("tt ☆★☆   ☆★☆    ☆★☆   ☆★☆n")printf("tt  ↓     ↓      ↓     ↓n")printf("tt  ※     ※      ※     ※n")printf("tt||n")printf("tt|********************|n")printf("tt|***************智能车库管理系统***************|n")printf("tt|********************|n")printf("tt|**********************************************|n")printf("tt|*作者:吴戌睿*|n")printf("tt|**********************************************|n")printf("tt|**********************************************|n")printf("tt|**********************************************|n")printf("tt|*请按回车键继续*|n")printf("tt|**********************************************|n")flushall()getch()system("cls")}*车辆信息结构体类型*structcar{intnum*序号*charchepai*车牌号*chartrademark*品牌*charname*车主姓名*charcall*联系方式*structcar*next}*系统密码模块*voidmimahu(){FILE*fpinti=chara,aacharbfp=fopen("mimatxt","rt")if(fp==){system("cls")printf("*******************************************n")printf("*请您输入系统初始密码(六位)*n")printf("*******************************************n")fp=fopen("mimatxt","wt")for(i=i<i){aa=getch()printf("*")ai=aa}fputs(a,fp)fclose(fp)}fgets(a,,fp)system("cls")printf("||n")printf("|请输入系统管理员密码:(位)|n")printf("|=====|n")flushall()for(i=i<i){bi=getch()printf("*")}if(a==ba==ba==ba==ba==ba==b){system("cls")printf("n")printf("密码正确!n")printf("n")printf("nn*****按任意键进入主菜单*****n")printf("n")getch()}else{system("cls")printf("***************************************************n")printf("**n")printf("*对不起密码错误!按任意键退出!*n")printf("**n")printf("***************************************************n")flushall()getchar()exit()}}*输出模块*voidoutput(structcar*p){system("cls")printf("n")printf("n")printf("nn车辆信息表nn")printf("n")printf("n")printf("序号车牌号品牌车主姓名联系方式n")printf("n")p=p>nextwhile(p!=){printf("dssssn",p>num,p>chepai,p>trademark,p>name,p>call)printf("n")p=p>next}printf("按任意键退出!!n")getch()}*录入模块*structcar*build(){inti=charflagstructcar*p,*q,*headsystem("cls")head=q=(structcar*)malloc(N)p=(structcar*)malloc(N)printf("*******************************************n")printf("*录入车辆信息*n")printf("*******************************************n")printf("n第d辆车n",i)printf("*******************************************n")printf("n序号:")scanf("d",p>num)printf("n")printf("n车牌号:")scanf("s",p>chepai)getchar()printf("n")printf("n品牌:")scanf("s",p>trademark)printf("n")printf("n车主姓名:")flushall()scanf("s",p>name)printf("n")printf("n联系方式:")flushall()scanf("s",p>call)printf("n")q>next=pq=psystem("cls")for(i=i){q>next=pq=psystem("cls")printf("*******************************************n")printf("*是否继续录入?(YN)*n")printf("*******************************************n")getchar()scanf("s",flag)getchar()if(flag!='y'flag!='Y')breakq>next=pq=pp=(structcar*)malloc(N)system("cls")printf("**********************************n")printf("n第d辆车n",i)printf("**********************************n")printf("n序号:")scanf("d",p>num)printf("n")printf("n车牌号:")scanf("s",p>chepai)getchar()printf("n")printf("n品牌:")scanf("s",p>trademark)printf("n")printf("n车主姓名:")scanf("s",p>name)getchar()printf("n")printf("n联系方式:")scanf("s",p>call)printf("n")system("cls")q>next=pq=p}flushall()p>next=free(q)flushall()output(head)flushall()return(head)}*按车辆号排序*structcar*sort(structcar*h){structcar*temp,*p,*p,*min,*temptemp=(structcar*)malloc(N)if(h==)returnhfor(p=hp!=p=p>next){min=pfor(p=pp!=p=p>next)if(min>num>p>num)min=pif(min!=p){*temp=*min*min=*p*p=*temptemp=min>nextmin>next=p>nextp>next=temp}}printf("n")return(h)}*文件保存模块*voidsavefile(structcar*head){structcar*pFILE*fpcharfilenamesystem("cls")printf("n")printf("n请输入要保存的文件名:n")scanf("s",filename)flushall()printf("n")if((fp=fopen(filename,"wt"))==){printf("n")printf("n写文件错误!按任意键退出!!n")printf("n")getch()exit()}for(p=head>nextp!=p=p>next)fprintf(fp,"dssssn",p>num,p>chepai,p>trademark,p>name,p>call)printf("n")printf("n文件已保存成功!按任意键返回!n")printf("n")getch()fclose(fp)}*文件读取模块*structcar*readfile(charname){structcar*head,*r,*pFILE*fpsystem("cls")if((fp=fopen(name,"rt"))==){printf("n")printf("nn***您的信息文件为空n按任意键退出****n")printf("n")getch()exit()}r=head=(structcar*)malloc(N)head>next=r=headwhile(!feof(fp)){p=(structcar*)malloc(N)fscanf(fp,"dssssn",p>num,p>chepai,p>trademark,p>name,p>call)if(feof(fp))breakr>next=pr=p}r>next=free(p)fclose(fp)return(head)}*车辆查询模块*structcar*find(structcar*p){intnumcharnameintchoicesystem("cls")printf("##n")printf("#按车牌号查找#n")printf("##n")printf("#按车辆序号查找#n")printf("##n")printf("请选择(或)")scanf("d",choice)if(choice==){printf("n")printf("请输入你要查找(修改)的车辆序号:n")printf("n")scanf("d",num)while(p>next!=){p=p>nextif(p>num==num)returnp}return}if(choice==){printf("n")printf("请输入你要查找(修改)的车牌号:n")printf("n")scanf("s",name)while(p>next!=){p=p>nextif(!(strcmp(p>name,name)))returnp}return}return}*车辆删除模块*intshanchu(structcar*p){intnumstructcar*pp=p>nextif(p==)returnsystem("cls")printf("n")printf("请输入要删除车辆序号:n")printf("n")scanf("d",num)while(p!=){if(p>num==num){p>next=p>nextfree(p)return}p=pp=p>next}return}*车辆增加模块*intcharu(structcar*p){structcar*pp=(structcar*)malloc(N)system("cls")printf("n")flushall()printf("请输入你要增加的车辆信息:n")printf("n")printf("n")printf("n序号:")flushall()scanf("d",p>num)printf("n")printf("n车牌号:")flushall()scanf("s",p>chepai)getchar()printf("n")printf("n品牌:")flushall()scanf("s",p>trademark)printf("n")printf("n车主姓名:")flushall()scanf("s",p>name)printf("n")printf("n联系方式:")scanf("s",p>call)while(p>next!=)p=p>nextp>next=pp>next=return}*车辆筛选模块*voidshaixuan(structcar*p){structcar*t,*pintflag=t=(structcar*)malloc(N)system("cls")printf("请输入你要选择车辆的品牌n")scanf("s",t>trademark)printf("n")getchar()printf("请输入你要选择车辆的车主姓名n")scanf("s",t>name)printf("n")for(p=pp!=p=p>next){system("cls")if(p>trademark==t>trademark){flag=printf("n")printf("序号车牌号品牌车主姓名联系方式n")printf("n")printf("dssssn",p>num,p>chepai,p>trademark,p>name,p>call)printf("n")printf("n")printf("nn****按任意键继续****n")printf("n")getch()}}if(flag==){printf("n")printf("该车辆信息不存在!")printf("n")printf("nn****按任意键返回****n")printf("n")getch()}}*修改车辆信息模块*voidxiugai(structcar*p){system("cls")printf("*******************************************n")printf("n请输入修改后车辆的信息n")printf("*******************************************n")printf("n序号:")scanf("d",p>num)printf("n")printf("n车牌号")scanf("s",p>chepai)getchar()printf("n")printf("n品牌:")scanf("s",p>trademark)printf("n")printf("n车主姓名:")scanf("s",p>name)printf("n")printf("n联系方式:")scanf("s",p>call)printf("n")}*创建用户界面*charchuangjian(){charflagsystem("cls")printf("*******************************************n")printf("*您是否要注册新用户(yn)*n")printf("*******************************************n")scanf("c",flag)returnflag}*选择用户界面*voidxuanze(){system("cls")printf("*******************************************n")printf("*请选择您要登录的用户名*n")printf("*******************************************n")}*修改后保存模块*voidbaocun(chara,structcar*head){charflagstructcar*pFILE*fpsystem("cls")printf("*******************************************n")printf("*您是否要保存(yn)*n")printf("*******************************************n")getchar()scanf("c",flag)getchar()if(flag=='y'||flag=='Y'){if((fp=fopen(a,"wt"))==){printf("n")printf("n写文件错误!按任意键退出!!n")printf("n")getch()exit()}for(p=head>nextp!=p=p>next)fprintf(fp,"dssssn",p>num,p>chepai,p>trademark,p>name,p>call)system("cls")printf("*******************************************n")printf("*保存成功!*n")printf("*******************************************n")printf("n")printf("n")printf("nn****按任意键返回****n")printf("n")getch()fclose(fp)}}voidmain(){structcar*head,*pintchoicecharflagcharnamesystem("colorB")welcomehu()mimahu()flag=chuangjian()if(flag=='y'||flag=='Y'){head=build()savefile(head)xuanze()scanf("s",name)head=readfile(name)do{system("cls")printf("#!!!!!!!!!!#n")printf("#!!!!!!!!!!!!!!#n")printf("#*****!!!!智能车库系统!!!!*****#n")printf("#!!!!!!!!!!!!!!!!!!!!#n")printf("#!!!!!!!!!!#n")printf("##n")printf("#读取车辆信息#n")printf("##n")printf("#查询车辆信息#n")printf("##n")printf("#删除车辆信息#n")printf("##n")printf("#增加车辆信息#n")printf("##n")printf("#排序车辆信息#n")printf("##n")printf("#修改车辆信息#n")printf("##n")printf("#查找车辆信息#n")printf("##n")printf("#退出程序#n")printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!n")printf("n")printf("请选择()")scanf("d",choice)switch(choice){case:output(head)breakcase:p=find(head)if(p){printf("n")printf("序号车牌号品牌车主姓名联系方式n")printf("n")printf("dssssn",p>num,p>chepai,p>trademark,p>name,p>call)printf("n")printf("nn****按任意键返回****n")printf("n")getch()}else{printf("n")printf("该车辆信息不存在!")printf("n")printf("nn****按任意键返回****n")printf("n")getch()}breakcase:if(shanchu(head)){printf("n")printf("车辆删除成功!n")

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/25

c语言课程设计报告(宿舍管理系统)

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利