学生宿舍管理系统

来源:互联网 发布:初级会计知乎 编辑:程序博客网 时间:2024/06/07 23:15

帮同学做的课程设计,内容比较简单,功能为录入学生的姓名、学号、宿舍号以及是否违规,可以用学号、宿舍号来查询,并且统计一个宿舍违规总次数。

#include<iostream>#include<stdio.h>#include<windows.h>#include <stdlib.h>#include <conio.h>using namespace std;#define N 4int mulu();class sushe{public:int xuehao;    char name[10];int sushehao;int weigui;}sushe[N];void fanhui(){    int j=1;  while(j){cout<<"** 返回主菜单请选择按键【0】**:";cin>>j;if(j!=0){    cout<<"输入错误!请按键【0】返回主菜单!"<<endl;   }else {system("cls");mulu();}}}void shuru(){int i;for(i=0;i<N;i++){cout<<"输入学号"<<endl;cin>>sushe[i].xuehao;cout<<"输入姓名"<<endl;cin>>sushe[i].name;cout<<"输入宿舍号"<<endl;cin>>sushe[i].sushehao;cout<<"输入违规情况,违规输入1,没有违规输入0"<<endl;cin>>sushe[i].weigui;}fanhui();}void find_xuehao(){int i;int n;cout<<"输入要查找的学号"<<endl;for(i=0;i<N;i++){cin>>n;for(i=0;i<N;i++){if(n==sushe[i].xuehao)   cout<<"学号\t"<<"姓名\t"<<"宿舍号\t"<<endl<<sushe[i].xuehao<<"\t"<<sushe[i].name<<"\t"<<sushe[i].sushehao<<"\t"<<endl;}}fanhui();}void find_sushehao(){int i,n,j=0;for(i=0;i<N;i++){cout<<"输入要查找的宿舍号"<<endl;cin>>n;cout<<"学号\t"<<"姓名\t"<<"宿舍号\t"<<endl;for(i=0;i<N;i++){if(n==sushe[i].sushehao)     {cout<<sushe[i].xuehao<<"\t"<<sushe[i].name<<"\t"<<sushe[i].sushehao<<"\t"<<endl;     j=j+sushe[i].weigui;     } }cout<<"违规次数"<<j<<endl; }fanhui();}int mulu(){int a; cout<<"   ______    欢迎进入学生宿舍管理系统    ______"<<endl     <<"   ______           1.录入               ______"<<endl<<"   ______         2.学号查询             ______"<<endl <<"   ______        3.宿舍号查询            ______"<<endl<<"   --------------------------------------------"<<endl;     cin>>a;switch(a){case 1:{system("cls");shuru();}break;case 2:{system("cls");find_xuehao();}break;case 3:{system("cls");find_sushehao();}break;    }return 0;}int main(){mulu();return 0;}
主页面

输入页面


学号查找


宿舍查找



不足:

1.使用的是define N 而没有调用动态链表,是程序失去灵活性.... 

2.违规记录的录入本应该是在基本信息录入之后二次录入,因为时间不够我就直接将违规信息封装在类中一次录入,这样程序的逻辑上就有了问题:

 在录入信息的时候就已经知道谁会违规......


在学习完动态链表后重新做一次。


0 0