Professional Documents
Culture Documents
课设
课设
(A 类)机房收费管理系统
(1)输入功能:输入若干名学生的学号、班级、姓名、开始上机时间和结束上机时间。
(2)计算功能:计算每个学生的上机费用(计算公式:上机费用 = (结束上机时间 - 开始上机时间) * 收费
标准,(以分钟为单位))
(3)修改功能:修改学生上机的个人档案(如:增添或删除)
(4)查询功能:按条件(班级、学号、姓名)查询学生上机信息,并能显示查询学生的相应全部档案*/
#include <iostream>
#include <string>
using namespace std;
//学生结构体
struct record {
int y;
int m;
int d;
int s_h;
int s_m;
int e_h;
int e_m;
};
struct student {
//学号
string ID;
//班级
string Class;
//姓名
string Name;
//记录
struct record arr[100];
int num=0;
int time=0;
};
struct book {
struct student array[100];
int size;
};
void add(book *abs,string classname[], int* classnum) {
system("cls");
if (abs->size == 100) {
cout << "信息已满,无法添加!" << endl;
system("pause");
system("cls");
return;
}
else {
//struct record rec;
int i = abs->array[abs->size].num;
string id;
cout << "请输入学号:" << endl;
cin >> id;
abs->array[abs->size].ID = id;
string Class;
cout << "请输入班级:" << endl;
cin >> Class;
abs->array[abs->size].Class = Class;
string name;
cout << "请输入姓名:" << endl;
cin >> name;
abs->array[abs->size].Name = name;
cout << "请输入上机日期:" << endl;
cout << "____年__月__日 " << endl;
int y;
cin >> y;
abs->array[abs->size].arr[i].y = y;
int m;
cin >> m;
abs->array[abs->size].arr[i].m = m;
int d;
cin >> d;
abs->array[abs->size].arr[i].d = d;
cout << "请输入开始时间:" << endl;
cout << "__时__分 " << endl;
int s_h;
cin>>s_h;
abs->array[abs->size].arr[i].s_h = s_h;
int s_m;
cin >> s_m;
abs->array[abs->size].arr[i].s_m = s_m;
a: cout << "请输入结束时间:" << endl;
cout << "__时__分 " << endl;
int e_h;
cin >> e_h;
if (e_h < s_h) {
cout << "输入错误!"<<endl;
goto a;
}
abs->array[abs->size].arr[i].e_h = e_h;
int e_m;
cin >> e_m;
if (e_h == s_h&&e_m<=s_m) {
cout << "输入错误!" << endl;
goto a;
}
abs->array[abs->size].arr[i].e_m = e_m;
//计算时间
int time;
if (abs->array[abs->size].arr[i].e_h > abs->array[abs->size].arr[i].s_h) {
time = (abs->array[abs->size].arr[i].e_h - abs->array[abs-
>size].arr[i].s_h) * 60 + abs->array[abs->size].arr[i].e_m - abs->array[abs-
>size].arr[i].s_m;
}
else {
time = abs->array[abs->size].arr[i].e_m - abs->array[abs-
>size].arr[i].s_m;
}
abs->array[abs->size].time = time;
abs->array[abs->size].num++;
abs->size++;
int flag = 1;
for (int i = 0; i < abs->size-1; i++) {
if (abs->array[i].Class == abs->array[abs->size-1].Class)flag = 0;
}
if (flag) {
*classnum= *classnum+1;
classname[*classnum - 1] = abs->array[abs->size-1].Class;
}
cout << "输入成功"<<endl;
system("Pause");
system("cls");
}
}
}
}
}
//菜单显示功能
void showmenue() {
cout << "*************************" << endl;
cout << "*** 机房收费管理系统 **" << endl;
cout << "***** 1、新建人员 *****" << endl;
cout << "***** 2、查询费用 *****" << endl;
cout << "***** 3、修改人员 *****" << endl;
cout << "***** 4、查询人员 *****" << endl;
cout << "***** 0、退出系统 *****" << endl;
cout << "*************************" << endl;
}
int main() {
int classnum = 0;
string classname[100];
book abs;
abs.size = 0;
abs.array->time = 0;
abs.array->num = 0;
int sel = 0;
while (true) {
showmenue();
cin >> sel;
switch (sel) {
case 1: //1、输入功能
add(&abs,classname, &classnum);
break;
case 2: //2、计算功能
cal(&abs);
break;
case 3: //3、修改功能
change(&abs,classname, &classnum);
break;
case 4: //查询功能
search(&abs,classname,&classnum);
break;
case 0: //0、退出
system("cls");
cout << "欢迎下次使用!" << endl;
system("pause");
return 0;
default:
cout << "输入有误!" << endl;
system("pause");
system("cls");
break;
}
}
system("pause");
return 0;
}