青岛农业大学c++课 程 设 计报 告

学院、系:

青岛农业大学理信学院

专业名称:

计算机科学与技术

课程设计科目

面向对象程序课程设计

学生姓名:

董松

指导教师:

苏万力

完成时间:

2018年4月 23 日--- 5 月 5 日

 

 

 

学生宿舍管理信息系统

一、设计任务与目标

随着高校的扩招,学生人数巨增,传统的管理方法已经不能适合高校学生宿舍管理的需要。本系统的使用,能大大减少学生处管理者的重复劳动,是学校管理的得力助手。其主要功能模块如下:

(1)宿舍基本信息模块:添加、修改、查询、删除宿舍基本信息。

(2)学生入住模块:学生基本信息、缴费、入住、退房信息等。

(3)卫生检查:对宿舍卫生检查、评比、统计等

(4)水电收费:对超出规定部分的水电的收费管理

(5)房屋报修:对报修情况的登记、时间安排、修理结果检查等。

(6)外来人员登记:对外来人员的登记、管理等。

(7)其他功能可根据需要自行扩充,并请在课程设计报告中详细说明!

二、课程设计方案

1、功能扩建,宿舍查寝。为了学生的安全起见,生活部每天晚上进行随机宿舍查寝,用到随机函数rand();进行一个页面使用。

2、在课程设计参数传递,以及地址传递用到数据结构中学到的链表,用到了struct以及c++中的类

3、用vs进行编译,编程语言为C++,没有用到数据库,使用链表储存数据以及用文本进行数据读取与保存。在页面上用到清屏函数与while函数进行页面之间的转换,并且每个页面都进行了链表存储和文本读取。在每个链表存储中都可以实现信息的增、删、改、查,对数据进行再次利用。

4、该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数,插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排序函数,插入函数以及查找函数。在每个区域中会调用不同的函数来实现主要的功能。比如,在宿舍输出这个功能里调用show函数;在插入功能里调用子菜单函数;在显示信息时调用排序函数先对需要输出的信息进行排序,然后再输出;在查找功能里会调用查找函数来进行查找。

三、程序框图或流程图

 

 

 

 

 

 

 

四、全部源程序清单

1、头文件:

#include "Sushe.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;struct StuNode{long stu_num=0;char stu_nam[40];char stu_cla[40];char stu_sus[40];char stu_chu[40];StuNode *nextstu;};class Sushe{StuNode *StuListHead;public:Sushe();      //构造函数~Sushe();     //析构函数void CreatSinfo();  //创建学生信息void StuInsert(int num, char* nam, char* cla, char* sus, char* chu);  //插入学生信息void StuDelete(int num);    //删除学生信息StuNode *StuFind(int num);   //查找学生信息,传入参数学号void StuModify(int num, char* nam, char* cla, char* sus, char* chu);   //修改学生信息void StuRead();        //从文件读入学生信息void StuSave();        //保存学生信息到文件void StuQuit();void ShowInfo();           //遍历输出学生信息void panduan(int stu_num);};void pdwei(int stu_num){while (stu_num<10000 || stu_num>99999){cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;cout << "学号:";cin >> stu_num;}}void Sushe::panduan(int stu_num){pdwei(stu_num);StuNode *p;for (p = StuListHead->nextstu; p != NULL; p = p->nextstu){while (p->stu_num == stu_num){cout << "学号重复,请重新输入!" << endl;cout << "学号:";cin >> stu_num;}}}void SuMenu(){time_t t;time(&t);cout << "---------------------------------宿舍基本信息模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入学生宿舍信息  " << endl;cout << "\t\t 2.录入多个宿舍信息  " << endl;cout << "\t\t 3.添加单个宿舍信息  " << endl;cout << "\t\t 4.删除已有宿舍信息  " << endl;cout << "\t\t 5.查找已有宿舍信息  " << endl;cout << "\t\t 6.修改已有宿舍信息  " << endl;cout << "\t\t 9.输出所有宿舍信息  " << endl;cout << "\t\t 10.保存现有宿舍信息 " << endl;cout << "\t\t 0.返回信息主菜单   " << endl;cout << "\n\t\t请选择:";}Sushe::Sushe()   //构造函数{StuListHead = new StuNode;StuListHead->nextstu = NULL;StuListHead->stu_num = 0;}Sushe::~Sushe()       //析构函数{StuNode *p;while (StuListHead){p = StuListHead;StuListHead = StuListHead->nextstu;delete p;}StuListHead = NULL;}void Sushe::CreatSinfo()     //创建学生信息表{int n;StuNode *p, *s;p = StuListHead;cout << "请输入学生宿舍人数:";cin >> n;for (int i = 1; i <= n; i++){s = new StuNode;cout << "学号:"; cin >> s->stu_num;panduan(s->stu_num);cout << "姓名:"; cin >> s->stu_nam;cout << "班级:"; cin >> s->stu_cla;cout << "宿舍:"; cin >> s->stu_sus;cout << "床号:"; cin >> s->stu_chu;s->nextstu = p->nextstu;p->nextstu = s;p = p->nextstu;}if (p == NULL)   //判断学生信息表是否创建成功{cout << "创建失败请重新创建!" << endl;CreatSinfo();}}void Sushe::ShowInfo()      //遍历输出{StuNode *p;cout << "学号" << '\t' << "姓名" << '\t' << "班级" << '\t' << "宿舍" << '\t' << "床号" << endl;for (p = StuListHead->nextstu; p != NULL; p = p->nextstu){cout << p->stu_num << '\t' << p->stu_nam << '\t' << p->stu_cla << '\t' << p->stu_sus << '\t' << p->stu_chu << endl;}}void Sushe::StuInsert(int num, char* nam, char* cla, char* sus, char* chu)     //插入学生信息(头插法){StuNode *s, *p;s = new StuNode;s->stu_num = num;strcpy(s->stu_nam, nam);strcpy(s->stu_cla, cla);strcpy(s->stu_sus, sus);strcpy(s->stu_chu, chu);p = StuListHead;s->nextstu = p->nextstu;p->nextstu = s;}void Sushe::StuDelete(int num){StuNode *p, *ptemp;p = StuListHead;ptemp = p;while (p->nextstu && p->stu_num != num)   //循环终止条件为p->nextstu不为空 而且没有找到相应学号的学生{ptemp = p;p = p->nextstu;}if (p->stu_num == num){ptemp->nextstu = p->nextstu;delete p;}else{cout << "未找到该学生信息!" << endl;}}StuNode *Sushe::StuFind(int num){StuNode *p;p = StuListHead->nextstu;while (p->nextstu && p->stu_num != num)   //循环终止条件为p->nextstu不为空 而且没有找到相应学号的学生{p = p->nextstu;}if (p->stu_num == num){return p;}else{cout << "未找到该学生信息!" << endl;return NULL;}}void Sushe::StuModify(int num, char* nam, char* cla, char* sus, char* chu)   //修改信息{StuNode *ItemStu = StuFind(num);   //直接调用查找函数if (ItemStu != NULL){ItemStu->stu_num = num;strcpy(ItemStu->stu_nam, nam);strcpy(ItemStu->stu_cla, cla);strcpy(ItemStu->stu_sus, sus);strcpy(ItemStu->stu_chu, chu);cout << "修改成功!" << endl;}}void Sushe::StuRead()    //从文件读入数据{StuNode *p;p = StuListHead;ifstream in("sushea.txt");if (!in) { cout << "文件sushea.txt中没有学生信息,请先录入学生信息!" << endl; return; }while (!in.eof()){int num; char nam[40]; char cla[40]; char sus[40]; char chu[40];in >> num >> nam >> cla >> sus >> chu;StuInsert(num, nam, cla, sus, chu);}}void Sushe::StuSave()   //保存学生信息{StuNode *p;p = StuListHead->nextstu;ofstream out("sushea.txt");if (!out) { cout << "不能打开文件sushea.txt!" << endl; return; }while (p != NULL){out << p->stu_num << '\t' << p->stu_nam << '\t' << p->stu_cla << '\t' << p->stu_sus << '\t' << p->stu_chu << '\n';p = p->nextstu;}}void Sushe::StuQuit()   //学生信息写入文件{char choice;cout << "是否保存学生信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){StuSave();cout << "学生信息已保存..." << endl;}}void sushe(){system("mode con:cols=200 lines=1000");int pnum;char pnam[40]; char pcla[40]; char psus[40]; char pchu[40];StuNode *pfind;Sushe stu;while (1){system("pause");system("cls");      //清屏SuMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:stu.StuRead();cout << "读入学生宿舍信息表:" << endl;stu.ShowInfo();break;case 2:stu.CreatSinfo();cout << "请核对输入学生信息!" << endl;stu.ShowInfo();break;case 3:                           //添加信息cout << "请输入添加学生宿舍信息:" << endl;cout << "学号:"; cin >> pnum;stu.panduan(pnum);cout << "姓名:"; cin >> pnam;cout << "班级:"; cin >> pcla;cout << "宿舍:"; cin >> psus;cout << "床号:"; cin >> pchu;stu.StuInsert(pnum, pnam, pcla, psus, pchu);cout << "更新学生宿舍信息表..." << endl;stu.ShowInfo();break;case 4:cout << "请输入要删除学生学号:";cin >> pnum;stu.StuDelete(pnum);cout << "更新学生宿舍信息表..." << endl;stu.ShowInfo();break;case 5:cout << "请输入要查找学生学号:";cin >> pnum;pfind = stu.StuFind(pnum);cout << "查找学生学号:" << pfind->stu_num << " 姓名: " << pfind->stu_nam << " 班级: " << pfind->stu_cla << " 宿舍: " << pfind->stu_sus << " 床号: " << pfind->stu_chu << endl;break;case 6:cout << "请输入要修改学生学号:";cin >> pnum;cout << "请重新输入学生宿舍信息!"<<endl;cout << "姓名:"; cin >> pnam;cout << "班级:"; cin >> pcla;cout << "宿舍:"; cin >> psus;cout << "床号:"; cin >> pchu;stu.StuModify(pnum, pnam, pcla, psus, pchu);cout << "更新学生宿舍信息表..." << endl;stu.ShowInfo();break;case 9:stu.ShowInfo();break;case 10:stu.StuQuit();break;}}}#include "Ruzhu.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;struct RuNode{long ru_num = 0;char ru_nam[40];char ru_cla[40];char ru_mon[40];char ru_check_in[40];char ru_check_out[40];RuNode *nextru;};class Ruzhu{RuNode *RuListHead;public:Ruzhu();      //构造函数~Ruzhu();     //析构函数void RuCreat();  //创建入住信息void RuInsert(int num, char* nam, char* cla, char* mon, char* check_in,char* check_out);  //插入入住信息RuNode *RuFind(int num);   //查找入住信息,传入参数学号void RuRead();        //从文件读入入住信息void RuSave();        //保存学生入住信息到文件void RuQuit();void RuShow();           //遍历输出学生入住信息void panduan(int ru_num);};void pdweiru(int ru_num){while (ru_num<10000 || ru_num>99999){cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;cout << "学号:";cin >> ru_num;}}void Ruzhu::panduan(int ru_num){pdweiru(ru_num);RuNode *p;for (p = RuListHead->nextru; p != NULL; p = p->nextru){while (p->ru_num == ru_num){cout << "学号重复,请重新输入!" << endl;cout << "学号:";cin >> ru_num;}}}void RuMenu(){time_t t;time(&t);cout << "---------------------------------学生入住信息模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入学生入住信息  " << endl;cout << "\t\t 2.录入入住信息表格  " << endl;cout << "\t\t 3.添加新的入住信息  " << endl;cout << "\t\t 4.查找已有学生信息  " << endl;cout << "\t\t 5.输出所有学生信息  " << endl;cout << "\t\t 6.保存现有学生信息 " << endl;cout << "\t\t 0.返回主菜单   " << endl;cout << "\n\t\n\t\t请选择:";}Ruzhu::Ruzhu()   //构造函数{RuListHead = new RuNode;RuListHead->nextru = NULL;RuListHead->ru_num = 0;}Ruzhu::~Ruzhu()       //析构函数{RuNode *p;while (RuListHead){p = RuListHead;RuListHead = RuListHead->nextru;delete p;}RuListHead = NULL;}void Ruzhu::RuRead()    //从文件读入数据{RuNode *p;p = RuListHead;ifstream in("ruzhua.txt");if (!in) { cout << "文件ruzhua.txt中没有入住信息,请先录入入住信息!" << endl; return; }while (!in.eof()){int num; char nam[40]; char cla[40]; char mon[40]; char check_in[40]; char check_out[40];in >> num >> nam >> cla >> mon >> check_in >> check_out;RuInsert(num, nam, cla, mon, check_in, check_out);}}void Ruzhu::RuCreat()     //创建学生信息表{int n;RuNode *p, *s;p = RuListHead;cout << "请输入学生宿舍入住人数:";cin >> n;for (int i = 1; i <= n; i++){s = new RuNode;cout << "学号:"; cin >> s->ru_num;panduan(s->ru_num);cout << "姓名:"; cin >> s->ru_nam;cout << "班级:"; cin >> s->ru_cla;cout << "缴费金额:"; cin >> s->ru_mon;cout << "入住时间:"; cin >> s->ru_check_in;cout << "退房时间:"; cin >> s->ru_check_out;s->nextru = p->nextru;p->nextru = s;p = p->nextru;}if (p == NULL)   //判断学生信息表是否创建成功{cout << "创建失败请重新创建!" << endl;RuCreat();}}void Ruzhu::RuInsert(int num, char* nam, char* cla, char* mon, char* check_in, char* check_out)     //插入学生入住信息(头插法){RuNode *s, *p;s = new RuNode;s->ru_num = num;strcpy(s->ru_nam, nam);strcpy(s->ru_cla, cla);strcpy(s->ru_mon, mon);strcpy(s->ru_check_in, check_in);strcpy(s->ru_check_out, check_out);p = RuListHead;s->nextru = p->nextru;p->nextru = s;}void Ruzhu::RuShow()      //遍历输出{RuNode *p;cout << "学号" << '\t' << "姓名" << '\t' << "班级" << '\t' << "缴费金额" << '\t' << "入住时间" << '\t'<<"退房时间"<<endl;for (p = RuListHead->nextru; p != NULL; p = p->nextru){cout << p->ru_num << '\t' << p->ru_nam << '\t' << p->ru_cla << '\t' << p->ru_mon << '\t' << p->ru_check_in<<'\t'<<p->ru_check_out << endl;}}RuNode *Ruzhu::RuFind(int num){RuNode *p;p = RuListHead->nextru;while (p->nextru && p->ru_num != num)   //循环终止条件为p->nextru不为空 而且没有找到相应学号的学生{p = p->nextru;}if (p->ru_num == num){return p;}else{cout << "未找到该学生信息!" << endl;return NULL;}}void Ruzhu::RuSave()   //保存学生信息{RuNode *p;p = RuListHead->nextru;ofstream out("ruzhua.txt");if (!out) { cout << "不能打开文件ruzhua.txt!" << endl; return; }while (p != NULL){out << p->ru_num << '\t' << p->ru_nam << '\t' << p->ru_cla << '\t' << p->ru_mon << '\t' << p->ru_check_in<<'\t'<<p->ru_check_out << '\n';p = p->nextru;}}void Ruzhu::RuQuit()   //学生信息写入文件{char choice;cout << "是否保存学生入住信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){RuSave();cout << "学生入住信息已保存..." << endl;}}void ruzhu(){int pnum;char pnam[40]; char pcla[40]; char pmon[40]; char pcheck_in[40]; char pcheck_out[40];RuNode *pfind;Ruzhu ru;while (1){system("pause");system("cls");      //清屏RuMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:ru.RuRead();cout << "读入学入住信息表:" << endl;ru.RuShow();break;case 2:ru.RuCreat();cout << "请核对输入学生信息!" << endl;ru.RuShow();break;case 3:                           //添加信息cout << "请输入添加学生入住信息:" << endl;cout << "学号:"; cin >> pnum;ru.panduan(pnum);cout << "姓名:"; cin >> pnam;cout << "班级:"; cin >> pcla;cout << "缴费金额:"; cin >> pmon;cout << "入住时间:"; cin >> pcheck_in;cout << "退房时间:"; cin >> pcheck_out;ru.RuInsert(pnum, pnam, pcla, pmon, pcheck_in, pcheck_out);cout << "更新学生入住信息表..." << endl;ru.RuShow();break;case 4:cout << "请输入要查找学生学号:";cin >> pnum;pfind = ru.RuFind(pnum);cout << "查找学生学号:" << pfind->ru_num << " 姓名: " << pfind->ru_nam << " 班级: " << pfind->ru_cla << " 缴费金额: " << pfind->ru_mon << " 入住时间: " << pfind->ru_check_in << "退房时间:" << pfind->ru_check_out << endl;break;case 5:ru.RuShow();break;case 6:ru.RuQuit();break;}}}#include"Fuzhu.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include<windows.h>#include<cstdlib>#include<iostream>#include<cstdlib>#define random(a,b) (rand()%(b-a+1)+a)using namespace std;void suijishu(int a,int b){srand((unsigned)time(NULL));for (int i = 0; i<10; i++)cout << random(a, b) << "    ";}/*void pdwei(int ru_num){while (ru_num<10000 || ru_num>99999){cout << "你输入的学号不正确,请输入一个五位数的学号" << endl;cout << "学号:";cin >> ru_num;}}*/int Systemdoor(){string username = "hello", password = "nihao";string name, temp;int number = 3;while (1){time_t t;time(&t);cout << "---------------------------------欢迎使用学生宿舍管理信息系统-------------------------------" << endl;cout << "********************************************************************************************" << endl << endl;cout << "\t\t                                本地时间:" << ctime(&t);cout << "                用 户 名:";cin >> name;cout << "                密    码:";cin >> temp;cout << endl;if (name != username || temp != password){number--;if (number >0){cout << "          用户名/密码错误!你还有" << number << "次机会" << endl;}elsecout << "用户名/密码错误!" << endl, exit(0);}else{cout << "********************密码正确********************" << endl << endl;for (int i = 0; i <3; i++){Sleep(1000);    /* windows 使用Sleep,参数为毫秒 */}system("cls");      //清屏return 1;}}}#include"Weisheng.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;struct WeiNode{char wei_score[40];int wei_n=0;char wei_sus[40];WeiNode *nextwei;};class Weisheng{WeiNode *WeiListHead;public:Weisheng();      //构造函数~Weisheng();     //析构函数void WeiCreat();  //创建信息void WeiInsert(int n, char* sus, char* score);  //插入入住信息WeiNode *WeiFind(char* sus);   //查找入住信息,传入参数宿舍号void WeiSort(char ch);   //根据 总分排序void WeiCopy(WeiNode *ptemp, WeiNode *p);void WeiRead();        //从文件读入信息void WeiSave();        //保存学信息到文件void WeiQuit();void WeiShow();           //遍历输出信息void panduan(int ru_num);void Weiin();};void WeiMenu(){time_t t;time(&t);cout << "---------------------------------学生宿舍卫生评比模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入宿舍卫生信息  " << endl;cout << "\t\t 2.录入宿舍卫生表格  " << endl;cout << "\t\t 3.查找宿舍卫生信息  " << endl;cout << "\t\t 4.输出所有宿舍信息  " << endl;cout << "\t\t 5.保存现有宿舍信息 " << endl;cout << "\t\t 0.返回主菜单   " << endl;cout << "\n\t\t请选择:";}Weisheng::Weisheng()   //构造函数{WeiListHead = new WeiNode;WeiListHead->nextwei = NULL;}Weisheng::~Weisheng()       //析构函数{WeiNode *p;while (WeiListHead){p = WeiListHead;WeiListHead = WeiListHead->nextwei;delete p;}WeiListHead = NULL;}void Weisheng::WeiInsert(int n, char* sus, char* score)     //插入入住信息(头插法){WeiNode *s, *p;s = new WeiNode;s->wei_n = n;                 strcpy(s->wei_sus, sus);strcpy(s->wei_score, score);p = WeiListHead;s->nextwei = p->nextwei;p->nextwei = s;}void Weisheng::WeiRead()    //从文件读入数据{WeiNode *p;p = WeiListHead;ifstream in("weishenga.txt");if (!in) { cout << "文件weishenga.txt中没有宿舍信息,请先录入宿舍信息!" << endl; return; }while (!in.eof()){int n; char sus[40]; char score[40];in >> n >> sus >> score;WeiInsert(n, sus, score);}}void Weisheng::WeiCreat()     //创建宿舍卫生信息表{int n;WeiNode *p, *s;p = WeiListHead;cout << "请输入学生宿舍卫生条数:";cin >> n;for (int i = 1; i <= n; i++){s = new WeiNode;cout << "宿舍号:"; cin >> s->wei_sus;//panduan(s->wei_num);cout << "卫生评分:"; cin >> s->wei_score;cout << "排名:"; cin >> s->wei_n;s->nextwei = p->nextwei;p->nextwei = s;p = p->nextwei;}if (p == NULL)   //判断信息表是否创建成功{cout << "创建失败请重新创建!" << endl;WeiCreat();}}void Weisheng::WeiShow()      //遍历输出{WeiNode *p;cout << "排名" << '\t' << "宿舍" << '\t' << "评分"  << endl;for (p = WeiListHead->nextwei; p != NULL; p = p->nextwei){cout << p->wei_n << '\t' << p->wei_sus << '\t' << p->wei_score << endl;}}void Weisheng::Weiin(){WeiNode *p;int i = 1;for (p = WeiListHead->nextwei; p != NULL; p = p->nextwei){p->wei_n = i;i++;}}WeiNode *Weisheng::WeiFind(char* sus){WeiNode *p;p = WeiListHead->nextwei;while (p->nextwei && strcmp(p->wei_sus ,sus)!=0)   //循环终止条件为p->nextru不为空 而且没有找到相应宿舍{p = p->nextwei;}if (strcmp(p->wei_sus,sus)==0){return p;}else{cout << "未找到该宿舍信息!" << endl;return NULL;}}void Weisheng::WeiCopy(WeiNode *ptemp, WeiNode *p)  //拷贝信息(将p的信息拷贝到ptemp中){if (p == NULL){cout << "拷贝目标为空!" << endl;}else{ptemp->wei_n = p->wei_n;strcpy(ptemp->wei_sus,p->wei_sus);strcpy(ptemp->wei_score, p->wei_score);//ptemp->nextwei = p->nextwei;   //只是信息拷贝,next不能拷贝否则信息丢失}}void Weisheng::WeiSort(char ch)   //根据 总分排序{if (ch == '>'){for (WeiNode *p = WeiListHead->nextwei; p != NULL; p = p->nextwei){for (WeiNode *q = WeiListHead->nextwei; q != NULL; q = q->nextwei){if (strcmp(p->wei_score ,q->wei_score)>0){WeiNode *ptemp = new WeiNode;WeiCopy(ptemp, p);WeiCopy(p, q);WeiCopy(q, ptemp);}}}}else if (ch == '<'){for (WeiNode *p = WeiListHead->nextwei; p != NULL; p = p->nextwei){for (WeiNode *q = WeiListHead->nextwei; q != NULL; q = q->nextwei){if (strcmp(p->wei_score, q->wei_score)<0){WeiNode *ptemp = new WeiNode;WeiCopy(ptemp, p);WeiCopy(p, q);WeiCopy(q, ptemp);}}}}else{cout << "排序条件出错!" << endl;}}void Weisheng::WeiSave()   //保存信息{WeiNode *p;p = WeiListHead->nextwei;ofstream out("weishenga.txt");if (!out) { cout << "不能打开文件weishenga.txt!" << endl; return; }while (p != NULL){out << p->wei_n << '\t' << p->wei_sus << '\t' << p->wei_score << '\n';p = p->nextwei;}}void Weisheng::WeiQuit()   //信息写入文件{char choice;cout << "是否保存宿舍卫生信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){WeiSave();cout << "宿舍卫生信息已保存..." << endl;}}void weisheng(){char psus[40];WeiNode *pfind;Weisheng wei;while (1){system("pause");system("cls");      //清屏WeiMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:wei.WeiRead();cout << "读入宿舍卫生评分信息表:" << endl;wei.WeiShow();break;case 2:wei.WeiCreat();cout << "请核对输入评分信息!" << endl;wei.WeiShow();break;case 3:cout << "请输入要查找宿舍:";cin >> psus;pfind = wei.WeiFind(psus);cout << "查找宿舍卫生情况:" << endl;cout<<"宿舍排名:"<<pfind->wei_n << " 宿舍号: " << pfind->wei_sus << " 评分: " << pfind->wei_score << endl;break;case 4:cout << "宿舍卫生排名升序排序请按1!倒序排序请按2!" << endl;int p;cin >> p;if (p == 1){wei.WeiSort('<');wei.Weiin();wei.WeiShow();}else if (p == 2){wei.WeiSort('>');wei.WeiShow();}else{cout << "输入指令错误!" << endl;}break;case 5:wei.WeiQuit();break;}}}#include"Shoufei.h"#define MAX_NUM 10000000#include <windows.h>#include <String>#include<ctime>#include <fstream>using namespace std;struct ShouNode{int shou_du = 0;int shou_fei;char shou_sus[40];ShouNode *nextshou;};class Shoufei{ShouNode *ShouListHead;public:Shoufei();      //构造函数~Shoufei();     //析构函数void ShouCreat();  //创建宿舍收费表信息void ShouInsert(char* sus, int du,int fei);  //插入宿舍收费信息信息ShouNode *ShouFind(char* sus);   //查找信息,传入参数学号void ShouRead();        //从文件读入宿舍收费信息void ShouSave();        //保存信息到文件void ShouQuit();void ShouShow();           //遍历输出宿舍收费信息};void ShouMenu(){time_t t;time(&t);cout << "---------------------------------宿舍水电费模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入宿舍水电信息  " << endl;cout << "\t\t 2.录入宿舍水电表格  " << endl;cout << "\t\t 3.查找已有宿舍信息  " << endl;cout << "\t\t 4.输出所有收费信息  " << endl;cout << "\t\t 5.保存宿舍收费信息 " << endl;cout << "\t\t 0.返回主菜单   " << endl;cout << "\n\t\n\t\t请选择:";}Shoufei::Shoufei()   //构造函数{ShouListHead = new ShouNode;ShouListHead->nextshou = NULL;}Shoufei::~Shoufei()       //析构函数{ShouNode *p;while (ShouListHead){p = ShouListHead;ShouListHead = ShouListHead->nextshou;delete p;}ShouListHead = NULL;}void Shoufei::ShouRead()    //从文件读入数据{ShouNode *p;p = ShouListHead;ifstream in("shoufeia.txt");if (!in) { cout << "文件shoufeia.txt中没有入住信息,请先录入入住信息!" << endl; return; }while (!in.eof()){int du,fei; char sus[40];in >> sus >> du >> fei;ShouInsert(sus,du,fei);}}int standard(int du){int fei=100;if (du > 200)return (100 + (du - 200) * 3);elsereturn fei;}void Shoufei::ShouCreat()     //创建信息表{int n;ShouNode *p, *s;p = ShouListHead;cout << "请输入录入宿舍条数:";cin >> n;for (int i = 1; i <= n; i++){s = new ShouNode;cout << "宿舍:"; cin >> s->shou_sus;cout << "水电使用度:"; cin >> s->shou_du;s->shou_fei = standard(s->shou_du);s->nextshou = p->nextshou;p->nextshou = s;p = p->nextshou;}if (p == NULL)   //判断信息表是否创建成功{cout << "创建失败请重新创建!" << endl;ShouCreat();}}void Shoufei::ShouInsert(char* sus, int du, int fei)   //插入宿舍收费信息(头插法){ShouNode *s, *p;s = new ShouNode;s->shou_du = du;s->shou_fei = fei;strcpy(s->shou_sus, sus);p = ShouListHead;s->nextshou = p->nextshou;p->nextshou = s;}ShouNode *Shoufei::ShouFind(char* sus){ShouNode *p;p = ShouListHead->nextshou;while (p->nextshou && strcmp(p->shou_sus, sus) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍{p = p->nextshou;}if (strcmp(p->shou_sus, sus) == 0){return p;}else{cout << "未找到该宿舍信息!" << endl;return NULL;}}void Shoufei::ShouShow()      //遍历输出{ShouNode *p;HANDLE handle;handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | FOREGROUND_RED);//设置控制台字体颜色为红色//printf("这是红色\n");cout << "提示!规定水电量在200度,收费100元,若超出则按超出部分每平方3元收费" << endl;//SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY);//灰色SetConsoleTextAttribute(handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);//恢复默认的灰色//printf("这是灰色\n");cout << "宿舍" << '\t' << "水电度数" << '\t' << "水电费用" << endl;for (p = ShouListHead->nextshou; p != NULL; p = p->nextshou){cout << p->shou_sus << '\t'<<"     " << p->shou_du << '\t' << p->shou_fei<< endl;}}void Shoufei::ShouSave()   //保存信息{ShouNode *p;p = ShouListHead->nextshou;ofstream out("shoufeia.txt");if (!out) { cout << "不能打开文件shoufeia.txt!" << endl; return; }while (p != NULL){out << p->shou_sus << '\t' << p->shou_du << '\t' << p->shou_fei << endl;p = p->nextshou;}}void Shoufei::ShouQuit()   //信息写入文件{char choice;cout << "是否保存宿舍水电费收费信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){ShouSave();cout << "宿舍水电收费信息已保存..." << endl;}}void shoufei(){char psus[40];ShouNode *pfind;Shoufei sf;while (1){system("pause");system("cls");      //清屏ShouMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:sf.ShouRead();cout << "读入宿舍收费表:" << endl;sf.ShouShow();break;case 2:sf.ShouCreat();cout << "请核对输入宿舍收费信息!" << endl<<endl;sf.ShouShow();break;case 3:cout << "请输入要查找宿舍:";cin >> psus;pfind = sf.ShouFind(psus);cout << "要查找的宿舍:" << pfind->shou_sus << " 水电度数: " << pfind->shou_du << " 水电收费: " << pfind->shou_fei << endl;break;case 4:sf.ShouShow();break;case 5:sf.ShouQuit();break;}}}#include"baoxiu.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;struct BaoNode{char bao_sus[40];char bao_pro[40];char bao_tim[40];char bao_zhu[40];BaoNode *nextbao;};class Baoxiu{BaoNode *BaoListHead;public:Baoxiu();      //构造函数~Baoxiu();     //析构函数void BaoCreat();  //创建信息void BaoInsert(char* sus, char* pro, char* tim, char* zhu);  //插入信息BaoNode *BaoFind(char *sus);   //查找信息,传入参数学号void BaoRead();        //从文件读入信息void BaoSave();        //保存信息到文件void BaoQuit();void BaoShow();           //遍历输出信息};void BaoMenu(){time_t t;time(&t);cout << "---------------------------------宿舍房屋报修模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入宿舍报修信息  " << endl;cout << "\t\t 2.录入宿舍报修信息  " << endl;cout << "\t\t 3.查找已有宿舍信息  " << endl;cout << "\t\t 4.输出所有宿舍信息  " << endl;cout << "\t\t 5.保存宿舍报修信息 " << endl;cout << "\t\t 0.返回信息主菜单   " << endl;cout << "\n\t\t请选择:";}Baoxiu::Baoxiu()   //构造函数{BaoListHead = new BaoNode;BaoListHead->nextbao = NULL;}Baoxiu::~Baoxiu()       //析构函数{BaoNode *p;while (BaoListHead){p = BaoListHead;BaoListHead = BaoListHead->nextbao;delete p;}BaoListHead = NULL;}void Baoxiu::BaoCreat()     //创建学生信息表{int n;BaoNode *p, *s;p = BaoListHead;cout << "请输入录入宿舍条数:";cin >> n;for (int i = 1; i <= n; i++){s = new BaoNode;cout << "宿舍:"; cin >> s->bao_sus;cout << "报修项目:"; cin >> s->bao_pro;cout << "预约时间:"; cin >> s->bao_tim;cout << "维修状态:"; cin >> s->bao_zhu;s->nextbao = p->nextbao;p->nextbao = s;p = p->nextbao;}if (p == NULL)   //判断维修表是否创建成功{cout << "创建失败请重新创建!" << endl;BaoCreat();}}void Baoxiu::BaoShow()      //遍历输出{BaoNode *p;cout << "宿舍" << '\t' << "报修项目" << '\t' << "预约时间" << '\t' << "维修状态" << endl;for (p = BaoListHead->nextbao; p != NULL; p = p->nextbao){cout << p->bao_sus << '\t' << p->bao_pro << '\t' << p->bao_tim << '\t' << p->bao_zhu << endl;}}void Baoxiu::BaoInsert(char* sus, char* pro, char* tim, char* zhu)     //插入信息(头插法){BaoNode *s, *p;s = new BaoNode;strcpy(s->bao_sus, sus);strcpy(s->bao_pro, pro);strcpy(s->bao_tim, tim);strcpy(s->bao_zhu, zhu);p = BaoListHead;s->nextbao = p->nextbao;p->nextbao = s;}BaoNode *Baoxiu::BaoFind(char* sus){BaoNode *p;p = BaoListHead->nextbao;while (p->nextbao && strcmp(p->bao_sus, sus) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍{p = p->nextbao;}if (strcmp(p->bao_sus, sus) == 0){return p;}else{cout << "未找到该宿舍维修信息!" << endl;return NULL;}}void Baoxiu::BaoRead()    //从文件读入数据{BaoNode *p;p = BaoListHead;ifstream in("baoxiua.txt");if (!in) { cout << "文件baoxiua.txt中没有报修信息,请先录入报修信息!" << endl; return; }while (!in.eof()){char sus[40]; char pro[40]; char tim[40]; char zhu[40];in >> sus >> pro >> tim >> zhu;BaoInsert(sus, pro, tim, zhu);}}void Baoxiu::BaoSave()   //保存信息{BaoNode *p;p = BaoListHead->nextbao;ofstream out("baoxiua.txt");if (!out) { cout << "不能打开文件baoxiua.txt!" << endl; return; }while (p != NULL){out << p->bao_sus << '\t' << p->bao_pro << '\t' << p->bao_tim << '\t' << p->bao_zhu << endl;p = p->nextbao;}}void Baoxiu::BaoQuit()   //信息写入文件{char choice;cout << "是否保存报修信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){BaoSave();cout << "报修信息已保存..." << endl;}}void baoxiu(){char psus[40];BaoNode *pfind;Baoxiu bx;while (1){system("pause");system("cls");   BaoMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:bx.BaoRead();cout << "读入宿舍报修表:" << endl;bx.BaoShow();break;case 2:bx.BaoCreat();cout << "请核对输入宿舍报修信息!" << endl << endl;bx.BaoShow();break;case 3:cout << "请输入要查找宿舍:";cin >> psus;pfind = bx.BaoFind(psus);cout << "要查找的宿舍:" << pfind->bao_sus << "  报修项目:" << pfind->bao_pro << "  预约时间:" << pfind->bao_tim<<" 维修状态:"<<pfind->bao_zhu<< endl;break;case 4:bx.BaoShow();break;case 5:bx.BaoQuit();break;}}}#include"Dengji.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;struct DenNode{char den_nam[40];char den_tel[40];char den_op[40];char den_intime[40];char den_outtime[40];DenNode *nextden;};class Dengji{DenNode *DenListHead;public:Dengji();      //构造函数~Dengji();     //析构函数void DenInsert(char* nam,char* op,char* tel,char* intime,char* outtime);  //插入信息DenNode *DenFind(char *nam);   //查找信息,传入参数学号void DenRead();        //从文件读入信息void DenSave();        //保存信息到文件void DenQuit();void DenShow();           //遍历输出信息};void DenMenu(){time_t t;time(&t);cout << "---------------------------------宿舍房屋报修模块-------------------------------" << endl;cout << "\t\t\t 本地时间:" << ctime(&t);cout << "--------------------------------------------------------------------------------\n" << endl;cout << "\t\t 1.读入人员登记信息  " << endl;cout << "\t\t 2.进入登记信息  " << endl;cout << "\t\t 3.离开登记信息  " << endl;cout << "\t\t 4.查找外来登记信息  " << endl;cout << "\t\t 5.输出所有登记信息  " << endl;cout << "\t\t 6.保存登记信息 " << endl;cout << "\t\t 0.返回信息主菜单   " << endl;cout << "\n\t\t请选择:";}Dengji::Dengji()   //构造函数{DenListHead = new DenNode;DenListHead->nextden = NULL;}Dengji::~Dengji()       //析构函数{DenNode *p;while (DenListHead){p = DenListHead;DenListHead = DenListHead->nextden;delete p;}DenListHead = NULL;}void Dengji::DenShow()      //遍历输出{DenNode *p;cout << "来访人姓名" << '\t' << "来访理由" << '\t' << "联系方式" << '\t' << "来访时间"<<'\t'<<"离开时间" << endl;for (p = DenListHead->nextden; p != NULL; p = p->nextden){cout << p->den_nam << '\t' << p->den_op << '\t' << p->den_tel << '\t' << p->den_intime<<'\t'<<p->den_outtime << endl;}}void Dengji::DenInsert(char* nam, char* op, char* tel,char* intime,char* outtime)     //插入信息(头插法){DenNode *s, *p;s = new DenNode;strcpy(s->den_nam, nam);strcpy(s->den_op, op);strcpy(s->den_tel, tel);strcpy(s->den_intime, intime);strcpy(s->den_outtime, outtime);p = DenListHead;s->nextden = p->nextden;p->nextden = s;}DenNode *Dengji::DenFind(char* nam){DenNode *p;p = DenListHead->nextden;while (p->nextden && strcmp(p->den_nam, nam) != 0)   //循环终止条件为p->nextru不为空 而且没有找到宿舍{p = p->nextden;}if (strcmp(p->den_nam, nam) == 0){return p;}else{cout << "未找到外来登记信息!" << endl;return NULL;}}void Dengji::DenRead()    //从文件读入数据{DenNode *p;p = DenListHead;ifstream in("dengjia.txt");if (!in) { cout << "文件dengjia.txt中没有报修信息,请先录入报修信息!" << endl; return; }while (!in.eof()){char nam[40]; char op[40]; char tel[40]; char intime[40]; char outtime[40];in >> nam >> op >> tel >> intime >> outtime;DenInsert(nam, op, tel,intime,outtime);}}void Dengji::DenSave()   //保存信息{DenNode *p;p = DenListHead->nextden;ofstream out("dengjia.txt");if (!out) { cout << "不能打开文件dengjia.txt!" << endl; return; }while (p != NULL){out << p->den_nam << '\t' << p->den_op << '\t' << p->den_tel << '\t' << p->den_intime << '\t' << p->den_outtime << endl;p = p->nextden;}}void Dengji::DenQuit()   //信息写入文件{char choice;cout << "是否保存登记信息:?(Y/N)";cin >> choice;if (choice == 'y' || choice == 'Y'){DenSave();cout << "登记信息已保存..." << endl;}}void dengji(){char nam[40], op[40], tel[40], intime[40];char outtime[40]="未离开";DenNode *pfind;Dengji dj;while (1){system("pause");system("cls");DenMenu();int x;cin >> x;if (x == 0){return;}switch (x){case 1:dj.DenRead();cout << "读入宿舍外来人员登记表:" << endl;dj.DenShow();break;case 2:time_t a;time(&a);cout << "来访人姓名:"; cin >> nam;cout << "来访理由:"; cin >> op;cout << "联系方式:"; cin >> tel;strcpy(intime, ctime(&a));dj.DenInsert(nam, op, tel, intime, outtime);cout << "请核对输入外来人员登记信息!" <<endl;dj.DenShow();break;case 3:time_t b;time(&b);cout << "来访人姓名:"; cin >> nam;pfind = dj.DenFind(nam);strcpy(pfind->den_outtime, ctime(&b));cout << "离开时间已登记!" << ctime(&b) << endl;break;case 4:cout << "请输入要查找来访人姓名:";cin >> nam;pfind = dj.DenFind(nam);cout << "要查找的人员:" << pfind->den_nam << "  来访理由:" << pfind->den_op << "  联系方式:" << pfind->den_tel << " 来访时间:" << pfind->den_intime<<"  离开时间:" <<pfind->den_outtime<< endl;break;case 5:dj.DenShow();break;case 6:dj.DenQuit();break;}}}#include"Chaqin.h"#define MAX_NUM 10000000#include <String>#include<ctime>#include <fstream>using namespace std;void chaqin(){int n;cout << "请输入楼层数:"; cin >> n;for (int i = 1; i <= n; i++){int a, b;cout << "请输入" << i << "楼层查寝宿舍区间:";cin >> a >> b;cout << i << "楼查寝宿舍" << endl;suijishu(a, b);cout << endl << endl;}}

2、主函数:

#include<iostream>#include<windows.h>#include "Sushe.h"#include "Ruzhu.h"#include"Fuzhu.h"#include"Weisheng.h"#include"Shoufei.h"#include"baoxiu.h"#include"Dengji.h"#include"Chaqin.h"#include<cstdlib>using namespace std;int main(){Systemdoor();cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   *******************                                                                              *******************" << endl;cout << "   *******************                                                                              *******************" << endl;cout << "   *******************                       欢迎进入学生宿舍管理信息管理系统                       *******************" << endl;cout << "   *******************                                                                              ******************" << endl;cout << "   *******************                                                                              *******************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;cout << "   ********************************************************************************************************************" << endl;while(1){system("pause");system("cls");      //清屏time_t t;time(&t);cout << "---------------------------------学生宿舍管理信息系统主菜单-------------------------------" << endl;cout << "\t\t          本地时间:" << ctime(&t);cout << "------------------------------------------------------------------------------------------\n" << endl;cout << "\t\t 0.安全退出系统   " << endl;cout << "\t\t 1.宿舍信息模块   " << endl;cout << "\t\t 2.学生入住模块  " << endl;cout << "\t\t 3.卫生检查模块 " << endl;cout << "\t\t 4.水电收费模块  " << endl;cout << "\t\t 5.房屋报修模块  " << endl;cout << "\t\t 6.外来人员登记  " << endl;cout << "\t\t 7.宿舍随机查寝 " << endl;cout << "\n\n\t请输入选择:";int x;cin >> x;if (x == 0)return 0;switch (x){case 1:sushe();break;case 2:ruzhu();break;case 3:weisheng();break;case 4:shoufei();break;case 5:baoxiu();break;case 6:dengji();break;case 7:chaqin();break;}}cout << "退出成功!";return 0;}

 

五、程序运行的测试与分析

六、结论与心得

经过两个星期左右的时间终于把课程设计做完啦,说实话心里终于可以放松。回头想想这两个星期的经历,感觉多走了很多弯路,掉的坑真是不应该!就比如说刚开始时的参数传递,如何将输入的汉字传入到类内函数中,就直接用字符数组最后用类内函数的字符指针参数进行引用输入的汉字即可,这么简单的问题我想了很久很久,查阅很多资料,最后还是看别人的例题才明白怎么使用,感觉以前的面向对象白学啦!

在开始毫无头绪,不知道自己要怎么把这个宿舍管理系统做出来时,我想过用数据库,用java,百度发现有用c#写的,就是没有想到用C++写,就不知道C++还能做出来界面,感觉以前对C++面向对象编程只处于在输出hello Word,单个页面上面!真是悔恨对C++了解不深入。在那样一个情况下,课程设计又必须是C++写,怎么办?百度下把,结果令人失望的是没有这样的,我只能找了一个学生成绩系统的例子作参考,认真的看怎么写的程序,就这样把自己的课程设计做出来,从中学到很多知识,进一步了解什么叫编程,什么叫系统项目。

从头到尾审视写的函数,感觉C++编程太厉害,比较以前在学C++的过程中又进一步认识到面向对象,以及系统的编程。仔细想想,自己写的程序不过皮毛,只用到一个链表存储和文本读写,其他高大上的编程还没有接触到,所以以后要更努力的学习,深入思考,多接触系统的项目!

七、参考资料

查阅资料:

[1]谭浩强,c++面向对象程序设计,北京:清华大学出版社,2014

[2]Stephen Prata , C++ Primer Plus中文版,北京:人民邮电出版,2012

C++课程设计学生宿舍管理信息系统相关推荐

  1. c语言宿舍管理设计报告,C语言课程设计—学生宿舍管理系统设计报告.doc

    word格式精心整理版 范文范例 学习指导 课 程 设 计 报 告 课程名称 C语言程序设计 课题名称 学生宿舍管理系统 专 业 班 级 学 号 姓 名 指导教师 2012年6月19日 湖南工程学院 ...

  2. 数据库课程设计——学生选课管理信息系统

    特殊时期,不能外出,整理一下本科期间做过的课程设计,学完数据库,设计一个学生成绩管理信息系统,老师给的要求如下: 系统功能基本要求 教师信息,包括教师编号.教师姓名.性别.年龄.学历.职称.毕业院校, ...

  3. python宿舍管理保存_学生宿舍管理信息系统详细报告

    学生宿舍管理信息系统详细报告 目 录 第一章 前言--------------------------------------------------------4 1.1 MIS概述-------- ...

  4. 数据库课程设计——学生宿舍信息管理系统

    数据库课程设计--学生宿舍信息管理系统 目录 1.设计目的... 2 2.任务与要求... 2 3.学生宿舍管理系统课程设计... 2 3.1 引言... 2 3.2需求分析... 2 3.2.1. ...

  5. java车辆管理系统课程设计_车辆管理信息系统--Java课程设计.doc

    车辆管理信息系统--Java课程设计 合肥学院 计算机科学与技术系 课程设计任务书 2011-2012学年第一学期 课程JAVA语言课程设计课程设计名称车辆管理信息系统专业班级指导教师 2011年9月 ...

  6. 学生宿舍管理信息系统 数据库课程设计

    目录 杭州电子科技大学信息工程学院 1 <数据库课程设计>课程设计手册 1 1 需求分析 8 1.1 需求分析 8 1.2 业务流程概述 9 1.3 数据流分析 13 1.3.1 数据流程 ...

  7. java课程设计 成绩_JAVA课程设计 学生成绩管理

    学生成绩管理 可实现功能: 添加学生功能:姓名.学号.性别.出生年月日.(学号自动生成且唯一) 添加学生成绩功能:每个人都有数学.Java与体育四门课,可分课程输入成绩. 根据学生学号查找学生成绩功能 ...

  8. Java课程设计学生考勤管理

    一.题目 学生考勤系统(3人) 等级:B 任务: 考勤信息记录了学生的缺课情况,它包括:缺课日期.第几节课.课程名称.学生姓名.缺课类型(迟到.早退.请假及旷课).试设计考勤管理系统,使之能提供以下功 ...

  9. 课程设计 学生选课管理 王杰 孙乾 蔚晓青

    1.实现的功能 登陆的界面:输入正确的用户名和密码登陆. 主界面:菜单栏 学生管理:添加学生学籍 修改学生学籍 删除学生学籍 课程管理:添加课程信息 修改课程信息 删除课程信息 查询管理:成绩录入 成 ...

最新文章

  1. mysql 优化表 3000万_mysql优化:专题三、关于单表查询,可以这么优化
  2. 【动态规划】leetcode - Maximal Square
  3. tensorrt轻松部署高性能dnn推理_部署环境之:tensorRT的插件
  4. 【Java】遍历时优雅地删除集合元素
  5. NSX控制平面和静态路由更新流程2
  6. jQuery 学习笔记之十六 评分
  7. ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程
  8. 2010湖南省第六界程序设计大赛 B题 --弟弟的作业(nyoj663)
  9. 从2D图像生成3D模型,基于Im2Avatar
  10. 华为移动wifi显示无服务器,华为移动wifi设置方法
  11. vue中事件修饰符,stop,prevent,capture,self,once
  12. 小沙弥密码箱V1.0
  13. zerglurker的C语言教程001——开发环境搭建
  14. 最有经验的域名注册邮箱运营商:TOM企邮
  15. 图片转成pdf格式怎么转?三个好用的方法教给你
  16. 深度学习 | 训练及优化方法
  17. MySQL--数据库、表基本操作
  18. B4A +GoLang 实现手机端webserver
  19. Jmeter的Java脚本往Kafka里传数据(SASL认证)——记第一次写JAVA的Jmeter脚本,超详细。
  20. 奇遇网以讨论电脑技术和互联网科技资源

热门文章

  1. 跨境电商独立站是什么,浅谈跨境电商独立站的优势
  2. 电力配网终端安全方案
  3. CVPR2020 Oral|实例分割新思路: Deep Snake
  4. 位列全球十大顶级酒庄,瑞格尔还有名人光环助其C位出道
  5. 对布满灰尘的西洋棋宣告将军_纪中2047_dp
  6. 操盘策略:KDJ三线合一 必定孕育大牛股
  7. windows 7/10 安装u盘制作
  8. 联机交易与批量交易、批处理和流处理
  9. 计算机视觉、机器学习相关领域论文和源代码大集合_拔剑-浆糊的传说_新浪博客...
  10. python-读取指定文件夹下邮件的正文(html格式)