收藏 分销(赏)

基于C++的宿舍管理系统样本.doc

上传人:二*** 文档编号:4571096 上传时间:2024-09-30 格式:DOC 页数:63 大小:585.53KB 下载积分:5 金币
下载 相关 举报
基于C++的宿舍管理系统样本.doc_第1页
第1页 / 共63页
本文档共63页,全文阅读请下载到手机保存,查看更方便
资源描述
江 苏 师 范 大 学 科 文 学 院 本 科 生 课 程 设 计 课 程 名 称: 计算机语言程序设计 题 目: 基于 C++宿舍管理系统 专 业 班 级: 11电信1班 学 生 姓 名: 朱 枫 学 生 学 号: 日 期: 12月21日 指 导 教 师: 姜芳艽 科文学院教务部印制 一、课程设计目、任务和内容规定: 《计算机语言程序设计》是一门以编程实践为主专业课,目在于培养学生运用计算机语言进行软件开发所必须基本思想和基本技能,进一步提高综合应用计算机语言各种编程知识和技巧进行程序设计能力,通过本次课程设计,学生应能达到具备设计功能较为复杂应用程序能力,同步培养学生自主学习和独立创新精神。 任务如下: 1.进行需求分析和概要设计,给出流程图。 2.写出详细设计,熟悉其中采用核心技术。 3.给出详细编码实现并调试。 4.写课程设计报告提交源程序。 内容规定: 设计并完毕软件系统。规定: 1.应具备简洁和谐顾客界面。 2.规定软件系统功能完整。 3.规定程序具备对的性,可读性和运营高效性。 二、进度安排: 第1~3天: 查找资料,进行需求分析和概要设计; 第4~6天: 各模块详细设计; 第7~12天: 软件实现与调试; 第13~14天:写课程设计报告并提交源程序。 三、重要参照文献: 1.郑莉、董渊、何江舟. C++语言程序设计(第4版) .北京.清华大学出版社,.7 2.肖俊宇、吴为胜.由浅入深C++——基本、进阶与必做300题.北京.电子工业出版社,.7 3.徐兆元.C++从入门到精通.北京.化学工业出版社,.9 指引教师签字: 年 月 日 目 录 摘 要 ………………………………………………………………………………………Ⅲ Abstract …………………………………………………………………………………...Ⅲ 1 绪论……………………………………………………………………………………… 1 1.1 总体目的与任务规定 ………………………………………………………………...1 1.2 题目选取与目意义 …………………………………..…………………………… 1 1.3 系统需求分析 …………………………………..……………………………………...1 2 设计方案简述 ………………………………………………...………………………… 2 2.1 功能构造图 ……………………………………………..………………………….…2 2.2 程序流程阐明 ………………...………………………..………………………….…2 2.3 基本思路 …………....…………………………………..………………………….…3 3 详细设计……………………………………………………………………………………4 3.1 主函数 …………………………………………………..………………………….…4 3.2 登录模块 ………………....……………………………..………………………….…5 3.3 显示函数 …………………………………………………..………………………….6 3.4 建立信息模块 ………………....……....………………..………………………….…7 3.5 查询信息模块 ………………....……....………………..………………………….…12 3.6 信息汇总模块 ………………....……....………………..………………………….…17 3.7 修改信息模块 ………………....……....………………..………………………….…20 3.8 注册信息模块 ………………....……....………………..………………………….…25 3.9 删除信息模块 ………………....……....………………..………………………….…30 3.10 宿舍评分模块 ………………....……....………………..………………………….…36 3.11 修改登录信息模块 …………....……....………………..………………………….…41 4 设计成果及分析………………………………………………………………………….43 4.1登录界面 ………………………….…………….………………………………..….…43 4.2 主界面 ….………………………………………………..………………………….…43 4.3 建立信息界面 …….……………………………………..………………………….…44 4.4 查询信息界面 …….……………………………………..………………………….…44 4.5 信息汇总界面 …….……………………………………..………………………….…45 4.6 注册信息界面 …….……………………………………..………………………….…45 4.7 修改信息界面 …….……………………………………..………………………….…46 4.8 删除信息界面 …….……………………………………..…………………………..…46 4.9 宿舍评分界面 …….……………………………………..………………………….….47 4.10修改登录信息界面 …….……………...……………………..……………………......47 5总 结 ……..…………………………………………………..…………………………....48 摘 要   学生宿舍管理系统对于一种学校来说是必不可少构成某些。当前好多学校还停留在宿舍管理人员手工记录数据最初阶段,但对于学生信息量比较庞大,需要记录存档数据高校来说,人工记录是相称麻烦。当今社会是飞速进步而世界,原始记录方式已经被社会所裁减,计算机化管理正是适应时代产物。信息世界永远不会是一种安静世界,当一种技术不能满足需求时,就会有新技术诞生并取代旧技术。21世纪今天,信息社会占着主流地位,计算机在各行各业中运用已经得到普及,自动化、信息化管理越来越广泛应用于各个领域。故随着宿舍需要管理信息迅速增长,建立一种宿舍管理系统可使宿舍管理人员管理工作系统化、规范化、自动化,大大提高管理效率。    核心词:管理系统;计算机化;管理效率 Abstract Student hostel management system for a school is an integral part. Currently many schools still in the initial stages of the dormitory management staff to manually record the data,but the relatively large amount of information for students,colleges and universities need to record for archived data,manual recording is rather cumbersome. Today's society is the rapid progress and the world,the original recording has been eliminated by the community,computerized management is to adapt the product of the times. Information of the world will never be a peaceful world,when a technology can not meet the demand,there will be a new technology was born and replace old technology. 21st century information society occupied the mainstream,computer use in various industries have gained popularity,automation,information management and more widely used in various fields. Therefore,the need to manage information as quarters of rapid growth,the establishment of a hostel management system will enable the systematic management of dormitory management,standardization,automation,greatly improving management efficiency. Keywords:management systems;computerization;management efficiency 1 绪论 1.1 总体目的与任务规定 本学生宿舍管理系统应提供简朴、层次关系明了、清晰操作界面,使顾客一目了然。尽量为顾客录入、查询等功能操作提供以便。在设计该系统时,应尽量贴近学生,便于顾客操作。系统在实现上应当具备如下功能: 1、系统规定顾客必要输入对的顾客名和密码才干进入系统。 2、系统应提供查询功能,以以便顾客对学生基本信息查询(要实现按各种条件查询)及楼房信息查询。 3、系统还应具备添加、修改、删除、汇总、评分、修改登录密码功能。 1.2 题目选取与目意义 选取学生宿舍管理系统作为题目使用者会感到操作非常以便,管理人员需要做就是将数据输入到系统数据库中去。由于数据库存储容量相称大,并且比较稳定,适合较长时间保存,也不容易丢失。这无疑是为信息存储量比较大学校提供了一种以便、快捷操作方式。本系统具备运营速度快、安全性高、稳定性好长处,并且具备完善报表生成、修改功能,可以迅速查询学校所需住宿信息,以便高校对学生宿舍管理。 1.3 系统需求分析 该程序是由C++语言编写一种宿舍管理软件,本程序在Microsoft Visual C++ 6.0下运营,其重要功能是实现对学生信息录入、添加、删除、修改、查询、记录。其中查询可以分别以学号、班级、宿舍号为核心字查询学生信息。 2 设计方案简述 2.1功能构造图 宿舍管理系统 顾客登录模块 显示模块 宿舍 评分 模块 修改登录信息 模块 删除信息 模块 注册信息 模块 修改信息 模块 信息 汇总 模块 查询 信息 模块 建立 信息 模块 图2-1 功能构造图 2.2 程序流程阐明 (1)顾客登录 顾客只需要填写姓名和密码就可以完毕登录操作,登录成功自动跳转到主菜单页面。登录失败则会自动退出。 (2)建立信息 顾客在此建立学生宿舍信息,建立完毕后可以通过链接跳转到其她页面进行有关操作。 (3)信息查询 顾客在此可以通过输入学号、班级、宿舍号进行分类查询,查看相相应学生基本信息。查询完后可以通过链接跳转到其她页面进行有关操作。 (4)信息汇总 顾客在此可以查看学生宿舍信息汇总。 (5)信息修改 顾客在此可以通过输入学号、名字进行查询,修改香相应学生基本信息。查询完后可以通过链接跳转到其她页面进行有关操作。 (6)信息注册 顾客在此可以对学生信息进行添加注册,注册完后可以通过链接跳转到其她页面进行有关操作。 (7)信息删除 顾客在此可以通过输入学号、名字进行查询,删除相相应学生基本信息。操作完后可以通过链接跳转到其她页面进行有关操作。 (8)宿舍评分 顾客在此可以对各宿舍进行打分,并显示最高得分宿舍与未及格宿舍,操作完后可以通过链接跳转到其她页面进行有关操作。 (9)登录信息修改 顾客在此可以对登录账户信息进行修改,修改完毕后悔自动跳转到主菜单页面。 2.3 基本思路 一方面在Visual C++6.0里建立student构造体,包括了学生各种信息,然后将信息存储在.TXT文本里。建立一种主控程序,调用建立信息模块、查询信息模块、信息汇总模块等8个子程序。 3 详细设计 3.1 主函数 #include<iostream> #include<ctime>// #include<fstream>// #include<iomanip> using namespace std;// #include"show.h"//文献包括语句 #include"denglu.h"// #include"jianlixinxi.h"// #include"chaxun.h"// #include"xiugai.h"// #include"shanchu.h"// #include"huizong.h"// #include"xiumima.h"// #include"zhuce.h"// #include"weisheng.h"// void main() { int choice=0;//记录选取 denglu();//输入登录信息 system("cls"); show();//显示菜单 cin>>choice; while(choice!=0)//循环输入选取 { switch(choice) { case 1:jianli();break;//建立宿舍信息 case 2:chaxun();break;//查询学生信息 case 3:huizong();break;//宿舍信息汇总 case 4:xiugai();break;//修改学生信息 case 5:zhuce();break;//添加学生信息 case 6:shanchu();break;//删除学生信息 case 7:weisheng();break;//宿舍卫生评比 case 8:xiumima();break;//修改登录信息 case 0:break; default:cout<<"\t\t您按错了!"<<endl; } cin>>choice; } }3.2 登录模块 void denglu() { char yonghu1[20];//存储顾客输入登录信息 char mima1[10];// char yonghu2[20];//存储当前系统设定登录信息 char mima2[10];// time_t t;time(&t); cout<<"-------------------------------------------------------------------------------\n"; cout<<"\t\t\1 欢迎进入江苏师范大学科文学院宿舍管理系统\n\n"; cout<<"\t\t 班级:11电信1班 制作人:朱枫 学号:\n\n"; cout<< "\t\t\t 时间:" << ctime(&t); cout<<"-------------------------------------------------------------------------------\n"; cout<<"\t\t请输入顾客名(初始值:111111):"; cin>>yonghu1; cout<<"\t\t请输入密码(初始值:000000):"; cin>>mima1; ifstream fin1("登录信息.txt"); if(!fin1) { cout<<"\n\n\t\terror!"<<endl; exit(0); } fin1>>yonghu2 >>mima2; fin1.close(); if(strcmp(yonghu1,yonghu2)||strcmp(mima1,mima2))//判断与否为合法顾客 { cout<<"\n\n\t\t顾客名或密码错误!"<<endl; exit(0); } } 3.3 显示模块 void show()//主界面显示信息 { time_t t;time(&t); cout<<"----------------------江苏师范大学科文学院学生宿舍管理系统---------------------\n\n"; cout<<"\t\t 班级:11电信1班 制作人:朱枫 学号:\n\n"; cout<< "\t\t\t 时间:" << ctime(&t); cout<<"-------------------------------------------------------------------------------\n"; cout<<"1:建立宿舍信息"; cout<<"\t\t\t\t\t\t\t 2:查询学生信息\n"; cout<<"3:宿舍信息汇总"; cout<<"\t\t\t\t\t\t\t 4:修改学生信息\n"; cout<<"5:注册学生信息"; cout<<"\t\t\t\t\t\t\t 6:删除学生信息\n"; cout<<"7:宿舍卫生评比"; cout<<"\t\t\t\t\t\t\t 8:修改登录信息\n"; cout<<"--------------------------------------------------------------------------------\n"; cout<<"请选取(0退出):"; } 3.4 建立信息模块 struct student//存储学生信息单链表结点存储构造 { char name[20]; char number[20]; char banji[20]; int sushehao; student*next; }; struct sushe//存储各房间信息单链表头结点 { int renshu; student*next; }; void jianli() { int choice; cout<<"该操作将格式化之前记录,1确认,0返回:";//防止失误操作 cin>>choice;// if(choice) { ofstream fout3; fout3.open("学生信息.txt"); if(!fout3) { cout<<"error"<<endl; exit(0); } fout3.eof();//格式化当前记录学生信息 fout3.close(); char louhao[20];int loucheng;int fangjian;int rongliang;//存储宿舍楼基本信息 cout<<"宿舍楼编号:";// cin>>louhao;// cout<<"楼层数(不大于11):";// cin>>loucheng;// cout<<"每层房间数(不大于101):";// cin>>fangjian;// cout<<"房间容量(不大于20):";// cin>>rongliang;// ofstream fout1("宿舍信息.txt"); if(!fout1) { cout<<"\t\terror!"<<endl; exit(0); } fout1<<louhao<<endl;//输入到文献 fout1<<loucheng<<endl;// fout1<<fangjian<<endl;// fout1<<rongliang<<endl;// fout1.close(); for(int i=0;i<loucheng;i++)//按楼层数逐个建立每层信息 { sushe*lou=new sushe[fangjian];//定义存储每层信息线性构造 for(int j=0;j<fangjian;j++)//对该线性构造进行初始化 { lou[j].renshu=0;// lou[j].next=NULL;// } student*p=NULL;//辅助结点变量 p=new student; cout<<"第"<<i+1<<"层信息(宿舍号-1进入下一层):"<<endl; cout<<"宿舍号("<<(i+1)*100<<"~"<<(i+1)*100+fangjian-1<<"):"; cin>>p->sushehao;//输入宿舍号以进行下面操作 while(p->sushehao!=-1) { sushe*q=NULL; cout<<"姓名:"; cin>>p->name; cout<<"学号:"; cin>>p->number; cout<<"班级:"; cin>>p->banji; if(lou[p->sushehao%100].renshu<rongliang)//判断相应房间与否已满 { student*q=NULL; if(lou[p->sushehao%100].renshu==0)//空房间直接插入 { lou[p->sushehao%100].next=p; p->next=NULL; lou[p->sushehao%100].renshu++; } else//非空房间先找到链表尾结点再进行插入 { q=lou[p->sushehao%100].next; for(int m=0;m<lou[p->sushehao%100].renshu-1;m++) { q=q->next; } q->next=p; p->next=NULL; lou[p->sushehao%100].renshu++; } } else//房间已满输入无效 { cout<<"\t\t该宿舍已满,本次输入无效!"<<endl; } p=new student; cout<<"宿舍号:"; cin>>p->sushehao; } if(p->sushehao==-1)//退出本层信息输入后输入本层信息至文献 { ofstream fout2; fout2.open("学生信息.txt",ios::app); if(!fout2) { cout<<"\t\terror"<<endl; exit(0); } for(j=0;j<fangjian;j++) { if(lou[j].renshu!=0) { p=lou[j].next; for(int s=0;s<lou[j].renshu;s++) { fout2<<p->name<<endl; fout2<<p->number<<endl; fout2<<p->banji<<endl; fout2<<p->sushehao<<endl; p=p->next; } } } fout2.close(); delete[]lou; } } } cout<<"已建立宿舍信息!"<<endl; show();//显示主菜单 } 3.5 查询信息模块 void chaxue(int renshu);//按学号查询 void chaban(int renshu);//按班级查询 void chasu(int renshu);//按宿舍查询 struct student2//定义存储信息结点构造 { char name[20]; char number[20]; char banji[20]; int sushehao; }; student2 array1[100];//定义存储信息线性构造数组 void chaxun() { student2 p;//辅助结点变量 int choice=0; int renshu=0; ifstream fin2("学生信息.txt"); if(!fin2) { cout<<"error!"<<endl; exit(0); } while(!fin2.eof())//从文献输入当前所有学生信息 { fin2>>p.name>>p.number>>p.banji>>p.sushehao; renshu++; } renshu--; fin2.close(); cout<<"1:按学号查询\t\t\t2:按班级查询\t\t\t3:按宿舍查询\n"; cout<<"请选取(0返回):"; cin>>choice; while(choice<0 || choice>0)//循环操作 { switch(choice) { case 1:chaxue(renshu);break; case 2:chaban(renshu);break; case 3:chasu(renshu);break; case 0:break; default:cout<<"您输错了!"<<endl;break; } cout<<"请选取(0返回):"; cin>>choice; } system("cls"); show();//显示主菜单 } void chaxue(int renshu) { student2 p; int i=0; char xuehao[20]; cout<<"\t\t查询学号:";// cin>>xuehao;//输入查询学号 ifstream fin1("学生信息.txt"); if(!fin1) { cout<<"error!"<<endl; exit(0); } for(int j=0;j<renshu;j++)//对构造数组中元素进行循环判断 { fin1>>p.name>>p.number>>p.banji>>p.sushehao; if(!strcmp(p.number,xuehao))//找到有关信息后进行输出 { cout<<setw(5)<<"姓 名"<<setw(8)<<"班 级"<<setw(9)<<"学 号"<<setw(9)<<"宿舍号"<<endl; cout<<setw(6)<<p.name<<setw(8)<<p.banji<<setw(10)<<p.number<<setw(5)<<p.sushehao<<endl; i++; break; } } fin1.close(); if(i==0) { cout<<"\t\t没有该生信息!"<<endl; } } void chaban(int renshu)//实现细节类似上个函数 { student2 p; int i=0; char banji[20]; cout<<"\t\t查询班级:"; cin>>banji; ifstream fin1("学生信息.txt"); if(!fin1) { cout<<"error!"<<endl; exit(0); } for(int j=0;j<renshu;j++) { fin1>>p.name>>p.number>>p.banji>>p.sushehao; if(!strcmp(p.banji,banji)) { if(i==0) { cout<<setw(5)<<"姓 名"<<setw(8)<<"班 级"<<setw(9)<<"学 号"<<setw(9)<<"宿舍号"<<endl; cout<<setw(6)<<p.name<<setw(8)<<p.banji<<setw(10)<<p.number<<setw(5)<<p.sushehao<<endl; i++; } else { cout<<setw(6)<<p.name<<setw(8)<<p.banji<<setw(10)<<p.number<<setw(5)<<p.sushehao<<endl; i++; } } } fin1.close(); if(i==0) { cout<<"\t\t没有该班学生信息!"<<endl; } } void chasu(int renshu)//实现细节类似上个函数 { student2 p; int i=0; int sushehao; cout<<"\t\t查询宿舍号:"; cin>>sushehao; ifstream fin1("学生信息.txt"); if(!fin1) { cout<<"error!"<<endl; exit(0); } for(int j=0;j<renshu;j++) { fin1>>p.name>>p.number>>p.banji>>p.sushehao; if(p.sushehao==sushehao) { if(i==0) { cout<<setw(5)<<"姓 名"<<setw(8)<<"班 级"<<setw(9)<<"学 号"<<setw(9)<<"宿舍号"<<endl; cout<<setw(6)<<p.name<<setw(8)<<p.banji<<setw(10)<<p.number<<setw(5)<<p.sushehao<<endl; i++; } else { cout<<setw(6)<<p.name<<setw(8)<<p.banji<<setw(10)<<p.number<<setw(5)<<p.sushehao<<endl; i++; } } } fin1.close(); if(i==0) { cout<<"\t\t该宿舍无人入住!"<<endl; } } 3.6 信息汇总模块 void huizong() { char louhao[20];int loucheng=0;int fangjian=0;int rongliang=0;int i=0;int k=0;//记录宿舍楼基本信息 student2 array4[100];//存储宿舍楼所有学生信息 student2 p; int susheshu=0;int renshu=0;//记录宿舍楼已入住宿舍数及总入住人数 ifstream fin("学生信息.txt"); if(!fin) { cout<<"\t\terror!"<<endl; exit(0); } while(!fin.eof())//输入所有学生信息 { fin>>array4[renshu].name>>array4[renshu].number>>array4[renshu].banji>>array4[renshu].sushehao; renshu++; } renshu--;//记录入住人数 fin.close(); if(renshu!=0) { susheshu++;// for(i=1;i<renshu;i++)//计算已入住宿舍个数 { if(array4[i].sushehao!=array4[i-1].sushehao) { susheshu++; } } } ifstream fin1("宿舍信息.txt"); if(!fin1) { cout<<"\t\terror!"<<endl; exit(0); } fin1>>louhao;//宿舍楼编号 fin1>>loucheng;//楼层个数 fin1>>fangjian;//每层房间数 fin1>>rongliang;//房间容量 fin1.close(); cout<<louhao<<"宿舍楼信息汇总:"<<endl; cout<<"已入住:"<<renshu<<"名学生";//输出已入住人数 cout<<"\t\t 剩余容纳量:"<<loucheng*fangjian*rongliang-renshu<<endl;//剩余容纳量 cout<<"空房间数:"<<loucheng*fangjian-susheshu<<endl;//空房间数 ifstream fin2("学生信息.txt"); if(!fin2) { cout<<"error!"<<endl; exit(0); } for(int j=0;j<renshu;j++) { fin2>>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服