学生宿舍管理系统

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

#include<iostream>
#include<stdio.h>
#include<windows.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
#define N 4

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

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


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


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值