You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wenhong/机房收费管理系统(1)(2).cpp

253 lines
6.8 KiB

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct time
{
int hour;
int minute;
};
struct STUDENT
{
char id[20];
char theclass[20];
char name[20];
int time_hour;
int time_minute;
struct time begin,end;
}student[100];
int n;
static int i=0;
void insert();
void end_money();
void select_id();
void select_name();
void select_class();
int main()
{
printf(" \n\n\n\n\n\n\n\t\t 改革春风吹满地,工大学子真争气!\n");
printf(" \t\t*********************************************\n");
printf(" \t\t*********欢迎来到机房收费管理系统************\n");
printf(" \t\t*********************************************\n");
printf("\t\t制作者------------------------------王力宏(没错,就是我,哈哈!)");
printf("\t\t\n 请按照要求完成相应操作以保证有良好的用户体验!\n");
system("pause");
system("cls");
int i;
for(;;)
{
printf(" \t\t*********************************\n");
printf(" \t\t*********机房收费系统************\n");
printf(" \t\t*********************************\n");
printf(" 1.---------------输入学生信息:\n");
printf(" 2.---------------结账:\n");
printf(" 3.---------------按学号查询:\n");
printf(" 4.---------------按班级查询:\n");
printf(" 5.---------------按姓名查询:\n");
printf(" 6.---------------退出系统:\n");
printf("\n\n 请输入序号(1-6)选择功能:");
printf("\n\n 温馨提示:只有当您已经录入相关信息后才能进行其他操作哦 亲!\n");
scanf("%d",&i);
switch(i)
{
case 1:{
system("cls");
insert();
}break;
case 2:{
system("cls");
end_money();
}break;;
case 3:{
system("cls");
select_id();
}break;
case 4:{
system("cls");
select_class();
}break;
case 5:{
system("cls");
select_name();
}break;
case 6:{
printf(" 欢迎下次光临!");
return 0;
}
}
}
system("pause");
return 0;
}
void insert()
{
printf("请输入需要录入信息的学生总数(请输入0-100以内的整数):");
scanf("%d",&n);
for(int j=1;j<=n;j++)
{
printf("请输入第%d个学生的学号:",j);
scanf("%s",&student[j-1].id);
printf("请输入第%d个学生的姓名:",j);
scanf("%s",&student[j-1].name);
printf("请输入第%d个学生的班级:",j);
scanf("%s",&student[j-1].theclass);
printf("请输入第%d个学生的上机时间(例如12:00):",j);
scanf("%d:%d",&student[j-1].begin.hour,&student[j-1].begin.minute);
}
printf("按任意键返回主菜单\n") ;
system("pause");
system("cls");
}
void end_money()
{
int m,minute,hour;
char shuru[20];
printf("请输入需要下机学生的学号或姓名:");
scanf("%s",shuru);
for(m=0;m<n;m++)
{
if(!strcmp(shuru,student[m].id))
{
printf("请输入%s的下机时间:",student[m].name);
scanf("%d:%d",&student[m].end.hour,&student[m].end.minute);
if(student[m].end.minute<student[m].begin.minute)
{
minute=student[m].end.minute+60-student[m].begin.minute;
hour=student[m].end.hour-1-student[m].begin.hour;
student[m].time_hour=hour;
student[m].time_minute=minute;
}
else
{
minute=student[m].end.minute-student[m].begin.minute;
hour=student[m].end.hour-student[m].begin.hour;
student[m].time_hour=hour;
student[m].time_minute=minute;
}
if(minute>0)
{
hour=hour+1;
printf("上机时长为:%d:%d \n费用为:%d ",student[m].time_hour,student[m].time_minute,hour);
}
else
{
printf("上机时长为:%d:%d \n费用为:%d ",student[m].time_hour,student[m].time_minute,hour);
}
}
else if(!strcmp(shuru,student[m].name))
{
printf("请输入%s的下机时间:",student[m].name);
scanf("%d:%d",&student[m].end.hour,&student[m].end.minute);
if(student[m].end.minute<student[m].begin.minute)
{
minute=student[m].end.minute+60-student[m].begin.minute;
hour=student[m].end.hour-1-student[m].begin.hour;
student[m].time_hour=hour;
student[m].time_minute=minute;
}
else
{
minute=student[m].end.minute-student[m].begin.minute;
hour=student[m].end.hour-student[m].begin.hour;
student[m].time_hour=hour;
student[m].time_minute=minute;
}
if(minute>0)
{
hour=hour+1;
printf("上机时长为:%d:%d \n费用为:%d ",student[m].time_hour,student[m].time_minute,hour);
}
else
{
printf("上机时长为:%d:%d \n费用为:%d ",student[m].time_hour,student[m].time_minute,hour);
}
}
}
printf("按任意键返回主菜单\n") ;
system("pause");
system("cls");
}
void select_id()
{
char id[20];
int m;
printf("请输入需查找学生的学号:");
scanf("%s",id);
for(m=0;m<n;m++)
{
if(!strcmp(id,student[m].id))
{
printf("学号为:%s\t\n",student[m].id);
printf("班级为:%s\t\n",student[m].theclass);
printf("姓名为:%s\t\n",student[m].name);
printf("上机开始时间为%d:%d\t\n",student[m].begin.hour,student[m].begin.minute);
printf("上机结束时间为%d:%d\t\n",student[m].end.hour,student[m].end.minute);
printf("上机时长为:%d:%d\n\t\n",student[m].time_hour,student[m].time_minute);
}
else if(m==n-1)
{
printf("没有该记录:\n");
}
}
printf("按任意键返回主菜单\n") ;
system("pause");
system("cls");
}
void select_class()
{
char theclass[20];
int m;
printf("请输入需查找学生的班级:");
scanf("%s",theclass);
for(m=0;m<n;m++)
{
if(!strcmp(theclass,student[m].theclass))
{
printf("学号为:%s\t\n",student[m].id);
printf("班级为:%s\t\n",student[m].theclass);
printf("姓名为:%s\t\n",student[m].name);
printf("上机开始时间为%d:%d\t\n",student[m].begin.hour,student[m].begin.minute);
printf("上机结束时间为%d:%d\t\n",student[m].end.hour,student[m].end.minute);
printf("上机时长为:%d:%d\n\t\n",student[m].time_hour,student[m].time_minute);
}
else if(m==n-1)
{
printf("没有该记录:\n");
}
}
printf("按任意键返回主菜单\n") ;
system("pause");
system("cls");
}
void select_name()
{
char name[20];
int m;
printf("请输入姓名:");
scanf("%s",name);
for(m=0;m<n;m++)
{
if(!strcmp(name,student[m].name))
{
printf("学号为:%s\t\n",student[m].id);
printf("班级为:%s\t\n",student[m].theclass);
printf("姓名为:%s\t\n",student[m].name);
printf("上机开始时间为%d:%d\t\n",student[m].begin.hour,student[m].begin.minute);
printf("上机结束时间为%d:%d\t\n",student[m].end.hour,student[m].end.minute);
printf("上机时长为:%d:%d\n\t\n",student[m].time_hour,student[m].time_minute);
}
else if(m==n-1)
{
printf("没有该记录:\n");
}
}
printf("按任意键返回主菜单\n") ;
system("pause");
system("cls");
}