问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VC++课程设计:宿舍管理系统

发布网友 发布时间:2022-04-28 22:56

我来回答

1个回答

热心网友 时间:2022-06-24 18:12

#include <iostream>
#include <string>
#include <fstream>
#include <ctime>

using namespace std;

class student
{
private:
long int stu_num; //学号,宿舍号
char stu_name[40]; //姓名
char class_name[40]; //班别
char house_name[20]; //宿舍
public:
student()
{
stu_num=0;
stu_name[0] =0;
class_name[0] =0;
house_name[0] =0;
}
student::student(long a, char * b,char *c,char *d)
{
Setdata(a , b, c, d);
}
char * Getstuname(void) //姓名查找
{
return stu_name ;
}
long Getstunum(void) //学号查找
{
return stu_num;
}
char * Gethousename(void) //宿舍号查找
{
return house_name;
}
char * Getclassname(void) //按班级查找
{
return class_name;
}
void Setdata(long a, char *b,char *c,char *d)
{
stu_num = a;
strcpy(stu_name, b);
strcpy(class_name, c);
strcpy(house_name, d);
}
void Show(void)
{
cout<<"学号:"<<stu_num<<"\t"<<"姓名:"<<stu_name<<"\t";
cout<<"班级:"<<class_name<<"\t\t"<<"宿舍:"<<house_name<<"\n";
}
};

void main(void)
{
student s1;
int flags=0;
long stu_num; //学号
char stu_name[40]; //姓名
char class_name[40]; //班级
char house_name[20]; //宿舍
time_t t;
time(&t);
ifstream file1;
ofstream file3;
char flag = 'y';
cout<< "---------------------------------学生成绩管理系统-------------------------------"<<endl;
cout<< "\t\t\t 时间:" << ctime(&t);
while( flag=='y' || flag=='Y')
{ //由flag控制循环
cout<<"--------------------------------------------------------------------------------\n";
cout<<"\t\t 1:注册学生!\n";
cout<<"\t\t 2:按学号查看学生信息!\n";
cout<<"\t\t 3:按宿舍号查看学生信息!\n";
cout<<"\t\t 4:按姓名查看学生信息!\n";
cout<<"\t\t 5:按班级查看学生信息!\n";
cout<<"\t\t 6:显示全部学生信息\n";
// cout<<"\t\t 7:按学号修改学生信息\n";
// cout<<"\t\t 8:按学号删除学生信息!\n";
cout<<"--------------------------------------------------------------------------------\n";
cout<<"请输入选择:";
char choice;
cin>>choice;
switch(choice)
{
case '1':
file3.open("c:\\stu.dat",ios::app|ios::binary);
input: flags=0;
cout<<"输入学号:";
cin>>stu_num;
while (stu_num<100000 || stu_num>999999)
{
cin.clear();
rewind(stdin);
cout << "你输入的学号不正确,请输入一个六位数的学号" << endl;
cout << "学号:";
cin >> stu_num;
}
file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
if(s1.Getstunum()==stu_num)
flags=1;
}
}
file1.clear();
file1.close();
if (flags==1)
{
cin.clear();
cout << "学号重复,请重输入!" << endl;
goto input;
}
cout<<"输入姓名:"; cin>>stu_name;
cout<<"输入班级:"; cin>>class_name;
cout<<"输入宿舍:"; cin>>house_name;
s1.Setdata(stu_num,stu_name,class_name,house_name);
file3.write((char*)&s1,sizeof(s1));
file3.clear();
file3.close();
break;
case '2': //按学号查找
cout<<"请输入学生的学号:";
cin>>stu_num;
while (stu_num<100000 || stu_num>999999)
{
cin.clear();
rewind(stdin);
cout << "你输入的学号不正确,请输入一个六位数的学号" << endl;
cout << "学号:";
cin >> stu_num;
}
file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
if(s1.Getstunum()==stu_num) //显示学生信息
{
s1.Show();
flags=1;
}
}
}
file1.clear();
file1.close();
if (flags==0)
cout << "没有找学号为:"<< stu_num <<"的学生记录!" << endl;
flags=0;
break;
case '3': //按宿舍号查找
cout<<"请输入宿舍号:";
cin>>house_name;
file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
if(strcmp(s1.Gethousename(),house_name)==0)
{
s1.Show();
flags=1;
}
}
}
file1.clear();
file1.close();
if (flags==0)
cout << "没有找到宿舍为:"<< house_name <<"的学生记录!" << endl;
flags=0;
break;
case '4': //按姓名查找
cout<<"请输入学生姓名:";
cin>>stu_name;
file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
if(strcmp(s1. Getstuname(),stu_name)==0)
{
s1.Show();
flags=1;
}
}
}
file1.clear();
file1.close();
if (flags==0)
cout << "没有找到姓名为:"<< stu_name <<"的学生记录!" << endl;
flags=0;
break;
case '5': //按班级查找
cout<<"请输入班级名称:";
cin>>class_name;
file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
if(strcmp(s1. Getclassname(),class_name)==0)
{
s1.Show();
flags=1;
}
}
}
file1.clear();
file1.close();
if (flags==0)
cout << "没有找到该班级为:"<< class_name <<"的学生记录!" << endl;
flags=0;
break;
case '6': //显示全部学生信息
file1.open("c:\\stu.dat",ios::in | ios::binary);//按读方式打开文件
while(!file1.eof())
{
int n;
file1.read((char *)&s1,sizeof(student));
n=file1.gcount();
if(n==sizeof(student))
{
s1.Show();
flags=1;
}
}
file1.clear();
file1.close();
if (flags==0)
cout << "数据库没有记录!" << endl;
flags=0;
break;
// case '7': //修改学生信息按学号
// flags=0;
// cout<<"请输入要修改学生的学号:";
// cin>>stu_num;
// while (stu_num<100000 || stu_num>999999)
// {
// cin.clear();
// rewind(stdin);
// cout << "你输入的学号不正确,请输入一个六位数的学号" << endl;
// cout << "学号:";
// cin >> stu_num;
// }
// file1.open("c:\\stu.dat",ios::in | ios::binary | ios::beg);//按读方式打开文件
// while(!file1.eof())
// {
// int n;
// file1.read((char *)&s1,sizeof(student));
// n=file1.gcount();
// if(n==sizeof(student))
// {
// if(s1.Getstunum()==stu_num)
// {
// file3.open("c:\\stu.dat",ios::out|ios::binary);
// cout<<"输入姓名:"; cin>>stu_name;
// cout<<"输入班级:"; cin>>class_name;
// cout<<"输入宿舍:"; cin>>house_name;
// s1.Setdata(stu_num,stu_name,class_name,house_name);
// file3.write((char*)&s1,sizeof(s1));
// file3.close();
// flags=1;
// }
// }
// }
// file1.clear();
// file1.close();
// if (flags==0)
// {
// cout << "没有此学生记录,不能进行修改!" << endl;
// break;
// }
// break;
// case '8': //删除学生信息按学号
default: flag = 'n';
break;
}
}
cout << "谢谢您的使用!" << endl;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 学生宿舍管理系统设计 功能:实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所 vfp课设学生宿舍管理系统的设计和实现 C语言学生宿舍管理系统设计 申请房贷需要什么手续 申请购房贷款的条件是什么 什么是高清翡翠台?高清翡翠台与翡翠台有何区别? 高清闭路电视搜索电台后没有节目了怎么办 我用的是高清笔录 我妈妈搜索电台后 竟然所有的节目都没有了 网络机顶盒能看到高清电视台吗?? 现在高清的电视台(像CCTV高清,深圳卫视高清等)的信号是1080P的还是720P的? 在那里能够在线收看高清电视台? 中国高清电视频道的介绍 高清翡翠台是什么电台呀 全国已经开通高清频道的电视台有多少个? 有线电视怎么把高清电台和付费放一起 现在收视高清央视电台及全国几十套地方电视台高清节目需用什么设备 红岩7到9章读后感? 高清电台如何用手机下载 红岩第七章读后感? 和兴证券给出的市盈率怎么比我算的少一倍?比如兰科股价20.02元&#47;每股收益0.959元=PE20.8,可上面显示10.4倍? 我用的是和兴证券 和兴证券手机版不好下载 设计课题2:宿舍管理系统设计 1、 问题描述: 学生宿舍管理系统主要管理学生宿舍的基本信息。在系统中,每 谁会写一个c++的程序设计:学生宿舍管理系统,要求能从几个方面对学生的宿舍情况进行查询 软件开发中宿舍管理系统的数据库设计说明书该怎么写? 跪求 学生宿舍管理系统c++程序设计图文? 小小天才电话手表可以跟几个人语音聊天吗 有关学生宿舍管理系统设计与实现优秀论文答辩可能问什么问题 一部手机怎样同时绑定两个小天才电话手表 Java设计宿舍管理系统带界面完整的可以直接用的 急求c#学生宿舍管理系统课程设计及源代码文件,谢谢! 宿舍管理系统实验报告,包括:可行性分析报告、系统分析、系统设计、系统实施 java web设计文档怎么写?是宿舍管理系统,有同学入住,同学搬离,查房 求完整的SQL SERVER数据库课程设计报告一份 关于宿舍管理系统的 2019年6月我选了固定利率还能转换lpr吗? 固定年利率是4.9℅,今后转成LpR后,固定年利率是多少? 将衣服快速叠好有哪些小诀窍? 生活中怎么叠外套最整齐呢? 馋的近义词? 五矿金铜公司的全称是什么 馋的近义词 馋的 同义词?馋嘴的同义词,最好一个字的。