基于C的宿舍管理系统.docx
《基于C的宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《基于C的宿舍管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
基于C的宿舍管理系统
江苏师范大学科文学院
本科生课程设计
课程名称:
计算机语言程序设计
题目:
基于C++的宿舍管理系统
专业班级:
11电信1班
学生姓名:
朱枫
学生学号:
2
日期:
2013年12月21日
指导教师:
姜芳艽
科文学院教务部印制
一、课程设计目的、任务和内容要求:
《计算机语言程序设计》是一门以编程实践为主的专业课,目的在于培养学生利用计算机语言进行软件开发所必需的基本思想和基本技能,进一步提高综合应用计算机语言的各种编程知识和技巧进行程序设计的能力,通过本次课程设计,学生应能达到具备设计功能较为复杂的应用程序的能力,同时培养学生自主学习和独立创新的精神。
任务如下:
1.进行需求分析和概要设计,给出流程图。
2.写出详细设计,熟悉其中采用的关键技术。
3.给出具体的编码实现并调试。
4.写课程设计报告提交源程序。
内容要求:
设计并完成软件系统。
要求:
1.应具有简洁友好的用户界面。
2.要求软件系统的功能完整。
3.要求程序具备正确性,可读性和运行的高效性。
二、进度安排:
第1~3天:
查找资料,进行需求分析和概要设计;
第4~6天:
各模块的详细设计;
第7~12天:
软件实现与调试;
第13~14天:
写课程设计报告并提交源程序。
三、主要参考文献:
1.郑莉、董渊、何江舟.C++语言程序设计(第4版).北京.清华大学出版社,
2.肖俊宇、吴为胜.由浅入深C++——基础、进阶与必做300题.北京.电子工业出版社,
3.徐兆元.C++从入门到精通.北京.化学工业出版社,
指导教师签字:
年月日
摘要………………………………………………………………………………………Ⅲ
Abstract…………………………………………………………………………………...Ⅲ
1绪论………………………………………………………………………………………1
总体目标与任务要求………………………………………………………………...1
题目选择与目的意义…………………………………..……………………………1
系统需求分析…………………………………..……………………………………...1
2设计方案简述………………………………………………...…………………………2
功能结构图……………………………………………..………………………….…2
程序流程说明………………...………………………..………………………….…2
基本思路…………....…………………………………..………………………….…3
3详细设计……………………………………………………………………………………4
主函数…………………………………………………..………………………….…4
登录模块………………....……………………………..………………………….…5
显示函数…………………………………………………..………………………….6
建立信息模块………………....……....………………..………………………….…7
查询信息模块………………....……....………………..………………………….…12
信息汇总模块………………....……....………………..………………………….…17
修改信息模块………………....……....………………..………………………….…20
注册信息模块………………....……....………………..………………………….…25
删除信息模块………………....……....………………..………………………….…30
宿舍评分模块………………....……....………………..………………………….…36
修改登录信息模块…………....……....………………..………………………….…41
4设计结果及分析………………………………………………………………………….43
登录界面………………………….…………….………………………………..….…43
主界面….………………………………………………..………………………….…43
建立信息界面…….……………………………………..………………………….…44查询信息界面…….……………………………………..………………………….…44
信息汇总界面…….……………………………………..………………………….…45
注册信息界面…….……………………………………..………………………….…45
修改信息界面…….……………………………………..………………………….…46
删除信息界面…….……………………………………..…………………………..…46
宿舍评分界面…….……………………………………..………………………….….47
修改登录信息界面…….……………...……………………..……………………......47
5总结……..…………………………………………………..…………………………....48
摘要
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,但对于学生信息量比较庞大,需要记录存档的数据的高校来说,人工记录是相当麻烦的。
当今社会是飞速进步的而世界,原始的记录方式已经被社会所淘汰,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
故随着宿舍需要管理的信息快速增长,建立一个宿舍管理系统可使宿舍管理人员的管理工作系统化、规范化、自动化,大大提高管理效率。
关键词:
管理系统;计算机化;管理效率
Abstract
Studenthostelmanagementsystemforaschoolisanintegralpart.Currentlymanyschoolsstillintheinitialstagesofthedormitorymanagementstafftomanuallyrecordthedata,buttherelativelylargeamountofinformationforstudents,collegesanduniversitiesneedtorecordforarchiveddata,manualrecordingisrathercumbersome.Today'ssocietyistherapidprogressandtheworld,theoriginalrecordinghasbeeneliminatedbythecommunity,computerizedmanagementistoadapttheproductofthetimes.Informationoftheworldwillneverbeapeacefulworld,whenatechnologycannotmeetthedemand,therewillbeanewtechnologywasbornandreplaceoldtechnology.21stcenturyinformationsocietyoccupiedthemainstream,computeruseinvariousindustrieshavegainedpopularity,automation,informationmanagementandmorewidelyusedinvariousfields.Therefore,theneedtomanageinformationasquartersofrapidgrowth,theestablishmentofahostelmanagementsystemwillenablethesystematicmanagementofdormitorymanagement,standardization,automation,greatlyimprovingmanagementefficiency.
Keywords:
managementsystems;computerization;managementefficiency
1绪论
总体目标与任务要求
本学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。
尽可能的为用户的录入、查询等功能操作提供方便。
在设计该系统时,应尽可能的贴近学生,便于用户操作。
系统在实现上应该具有如下功能:
1、系统要求用户必须输入正确的用户名和密码才能进入系统。
2、系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询。
3、系统还应具有添加、修改、删除、汇总、评分、修改登录密码的功能。
题目选择与目的意义
选择学生宿舍管理系统作为题目使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息,方便高校对学生宿舍的管理。
系统需求分析
该程序是由C++语言编写的一个宿舍管理软件,本程序在MicrosoftVisualC++下运行,其主要功能是实现对学生信息的录入、添加、删除、修改、查询、统计。
其中查询可以分别以学号、班级、宿舍号为关键字查询学生信息。
2设计方案简述
功能结构图
图2-1功能结构图
程序流程说明
(1)用户登录
用户只需要填写姓名和密码就可以完成登录操作,登录成功自动跳转到主菜单页面。
登录失败则会自动退出。
(2)建立信息
用户在此建立学生宿舍信息,建立完成后可以通过链接跳转到其他页面进行相关操作。
(3)信息查询
用户在此可以通过输入学号、班级、宿舍号进行分类查询,查看相对应的学生基本信息。
查询完后可以通过链接跳转到其他页面进行相关操作。
(4)信息汇总
用户在此可以查看学生宿舍信息的汇总。
(5)信息修改
用户在此可以通过输入学号、名字进行查询,修改香对应的学生基本信息。
查询完后可以通过链接跳转到其他页面进行相关操作。
(6)信息注册
用户在此可以对学生信息进行添加注册,注册完后可以通过链接跳转到其他页面进行相关操作。
(7)信息删除
用户在此可以通过输入学号、名字进行查询,删除相对应的学生基本信息。
操作完后可以通过链接跳转到其他页面进行相关操作。
(8)宿舍评分
用户在此可以对各宿舍进行打分,并显示最高得分的宿舍与未及格的宿舍,操作完后可以通过链接跳转到其他页面进行相关操作。
(9)登录信息修改
用户在此可以对登录账户信息进行修改,修改完成后悔自动跳转到主菜单页面。
基本思路
首先在VisualC++里建立student结构体,包含了学生的各种信息,然后将信息存放在.TXT文本里。
建立一个主控程序,调用建立信息模块、查询信息模块、信息汇总模块等8个子程序。
3详细设计
主函数
#include
#includext");
if(!
fin1)
{
cout<<"\n\n\t\terror!
"<exit(0);
}
fin1>>yonghu2
>>mima2;
();
if(strcmp(yonghu1,yonghu2)||strcmp(mima1,mima2))xt");
if(!
fout3)
{
cout<<"error"<exit(0);
}
();xt");
if(!
fout1)
{
cout<<"\t\terror!
"<exit(0);
}
fout1<p->next=NULL;
lou[p->sushehao%100].renshu++;
}
elseext;
for(intm=0;msushehao%100].renshu-1;m++)
{
q=q->next;
}
q->next=p;
p->next=NULL;
lou[p->sushehao%100].renshu++;
}
}
elsext",ios:
:
app);
if(!
fout2)
{
cout<<"\t\terror"<exit(0);
}
for(j=0;j{
if(lou[j].renshu!
=0)
{
p=lou[j].next;
for(ints=0;s{
fout2<name<fout2<number<fout2<banji<fout2<sushehao<p=p->next;
}
}
}
();
delete[]lou;
}
}
}
cout<<"已建立宿舍信息!
"<show();xt");
if(!
fin2)
{
cout<<"error!
"<exit(0);
}
while(!
())xt");
if(!
fin1)
{
cout<<"error!
"<exit(0);
}
for(intj=0;jif(!
fin1)
{
cout<<"error!
"<exit(0);
}
for(intj=0;j{
fin1>>>>>>>>;
if(!
strcmp,banji))
{
if(i==0)
{
cout<cout<i++;
}
else
{
cout<i++;
}
}
}
();
if(i==0)
{
cout<<"\t\t没有该班学生信息!
"<}
}
voidchasu(intrenshu)xt");
if(!
fin1)
{
cout<<"error!
"<exit(0);
}
for(intj=0;j{
fin1>>>>>>>>;
if==sushehao)
{
if(i==0)
{
cout<cout<i++;
}
else
{
cout<i++;
}
}
}
();
if(i==0)
{
cout<<"\t\t该宿舍无人入住!
"<}
}
信息汇总模块
voidhuizong()
{
charlouhao[20];intloucheng=0;intfangjian=0;introngliang=0;inti=0;intk=0;xt");
if(!
fin)
{
cout<<"\t\terror!
"<exit(0);
}
while(!
())ame>>array4[renshu].number>>array4[renshu].banji>>array4[renshu].sushehao;
renshu++;
}
renshu--;ushehao!
=array4[i-1].sushehao)
{
susheshu++;
}
}
}
ifstreamfin1("宿舍信息.txt");
if(!
fin1)
{
cout<<"\t\terror!
"<exit(0);
}
fin1>>louhao;xt");
if(!
fin2)
{
cout<<"error!
"<exit(0);
}
for(intj=0;j{
fin2>>>>>>>>;
if(k==0)
{
cout<cout<k++;
}
else
{
cout<k++;
}
}
();
show();xt");
if(!
fin)
{
cout<<"\t\terror!
"<exit(0);
}
while(!
())ame>>array2[renshu].number>>array2[renshu].banji>>array2[renshu].sushehao;
renshu++;
}
renshu--;
();
cout<<"1:
按名字修改\t\t\t2:
按学号修改:
\n";
cout<<"请选择(0返回):
";
cin>>choice;
while(choice!
=0)
{
switch(choice)
{
case1:
mingxiu(renshu);break;
case2:
xuexiu(renshu);break;
case0:
break;
default:
cout<<"您按错了!
"<}
cout<<"请选择(0返回):
";
cin>>choice;
}
system("cls");
show();
}
voidmingxiu(intrenshu)
{
charna[20];
intj=0;
cout<<"待修改信息的名字:
";ame,na))ame;
cout<<"学号:
";
cin>>array2[i].number;
cout<<"班级:
";
cin>>array2[i].banji;
cout<<"宿舍号:
";
cin>>array2[i].sushehao;
j++;
ofstreamfout3;
("学生信息.txt");
if(!
fout3)
{
cout<<"\t\terror"<exit(0);
}
();
();
ofstreamfout;
("学生信息.txt",ios:
:
app);
if(!
fout)
{
cout<<"\t\terror!
"<exit(0);
}
for(ints=0;sfout<fout<fout<}
();
cout<<"\t\t已修改,";
break;
}
}
if(j==0)umber,number))
{
cout<<"姓名:
";
cin>>array2[i].name;
cout<<"学号:
";
cin>>array2[i].number;
cout<<"班级:
";
cin>>array2[i].banji;
cout<<"宿舍号:
";
cin>>array2[i].sushehao;
j++;
ofstreamfout3;
("学生信息.txt");
if(!
fout3)
{
cout<<"\t\terror"<exit(0);
}
();
();
ofstreamfout;
("学生信息.txt",ios:
:
app);
if(!
fout)
{
cout<<"error!
"<exit(0);
}
for(ints=0;s{
fout<