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.
218 lines
5.6 KiB
218 lines
5.6 KiB
#include<stdio.h> /*I/O函数*/
|
|
#include<string.h> /*字符串函数*/
|
|
#include<stdlib.h> /*标准库函数*/
|
|
struct time /*定义时间结构*/
|
|
{
|
|
int hour; /*时*/
|
|
int minute; /*分*/
|
|
};
|
|
struct STUDENT /*定义学生信息结构*/
|
|
{
|
|
long long no; /*学号*/
|
|
char cla[10]; /*班级*/
|
|
char name[10]; /*姓名*/
|
|
int time_hour; /*上机时间*/
|
|
int time_minute;
|
|
struct time begin,end; /*嵌套时间结构*/
|
|
};
|
|
struct STUDENT student[50];
|
|
static int i =0; /*全局静态变量*/
|
|
void insert(); /*输入功能函数*/
|
|
void end_money(); /*结账功能函数*/
|
|
void select_no(); /*学号查询功能函数*/
|
|
void select_name(); /*姓名查询功能函数*/
|
|
void select_cla(); /*班级查询功能函数*/
|
|
int main() /*主函数*/
|
|
{
|
|
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^^^^^^^^^^^^^^^^^^^^^^^编程人员:鲁子航^^^杨子俊^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
|
|
printf("\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_no();
|
|
}break;
|
|
case 4:
|
|
{
|
|
system("cls");
|
|
select_cla();
|
|
}break;
|
|
case 5:
|
|
{
|
|
system("cls");
|
|
select_name();
|
|
}break;
|
|
case 6:
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
system("pause");
|
|
return 0;
|
|
}
|
|
void insert() /*输入功能*/
|
|
{
|
|
|
|
printf("请输入学号:");
|
|
scanf("%lld",&student[i].no);
|
|
printf("请输入姓名:");
|
|
scanf("%s",&student[i].name);
|
|
printf("请输入班级:");
|
|
scanf("%s",&student[i].cla);
|
|
printf("请输入上机时间:");
|
|
scanf("%d:%d",&student[i].begin.hour,&student[i].begin.minute);
|
|
i = i + 1;
|
|
system("pause");
|
|
system("cls");
|
|
|
|
|
|
}
|
|
void end_money() /*计算功能*/
|
|
{
|
|
int m,minute,hour; /*保存时间*/
|
|
double sum;
|
|
long long no;
|
|
printf("请输入学号:");
|
|
scanf("%lld",&no);
|
|
for(m = 0;m < i;m++)
|
|
{
|
|
if(no == student[m].no)
|
|
{
|
|
printf("请输入%lld的下机时间:",no);
|
|
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;
|
|
|
|
}
|
|
|
|
printf("上机时间为:%d小时%d分钟\n",student[m].time_hour,student[m].time_minute);
|
|
sum=(hour*60+minute)*0.1;
|
|
printf("%.1lf元",sum);
|
|
|
|
}
|
|
}
|
|
system("pause");
|
|
system("cls");/*清屏*/
|
|
|
|
}
|
|
void select_no() /*按学号查询功能*/
|
|
{
|
|
long long no;
|
|
int m;
|
|
printf("请输入学号:");
|
|
scanf("%lld",&no);
|
|
for(m = 0;m < i;m++)
|
|
{
|
|
if(no == student[m].no)
|
|
{
|
|
printf("学号为%lld\t",student[m].no);
|
|
printf("班级为%s\t",student[m].cla);
|
|
printf("姓名为%s\t",&student[m].name);
|
|
printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute);
|
|
printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute);
|
|
printf("上机时间为:%d小时%d分钟\n\t",student[m].time_hour,student[m].time_minute);
|
|
}
|
|
else
|
|
{
|
|
printf("没有该记录:\n");
|
|
}
|
|
|
|
}
|
|
system("pause");
|
|
system("cls");/*清屏*/
|
|
|
|
|
|
}
|
|
void select_cla() /*按班级查询功能*/
|
|
{
|
|
char cla[10];
|
|
int m;
|
|
printf("请输入班级:");
|
|
scanf("%s",cla);
|
|
for(m = 0;m < i;m++)
|
|
{
|
|
if(!strcmp(cla,student[m].cla))
|
|
{
|
|
printf("学号为%lld\t",student[m].no);
|
|
printf("班级为%s\t",student[m].cla);
|
|
printf("姓名为%s\t",&student[m].name);
|
|
printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute);
|
|
printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute);
|
|
printf("上机时间为:%d小时%d分钟\n",student[m].time_hour,student[m].time_minute);
|
|
}
|
|
else
|
|
{
|
|
printf("没有该记录:\n");
|
|
}
|
|
|
|
}
|
|
system("pause");
|
|
system("cls");/*清屏*/
|
|
}
|
|
void select_name()/*按姓名查询功能*/
|
|
{
|
|
char name[10];
|
|
int m;
|
|
printf("请输入姓名:");
|
|
scanf("%s",name);
|
|
for(m = 0;m < i;m++)
|
|
{
|
|
if(!strcmp(name,student[m].name))/*字符串的比较 非0为真执行*/
|
|
{
|
|
|
|
printf("学号为%lld\t",student[m].no);
|
|
printf("班级为%s\t",student[m].cla);
|
|
printf("姓名为%s\t",&student[m].name);
|
|
printf("上机开始时间为%d:%d\t",student[m].begin.hour,student[m].begin.minute);
|
|
printf("上机结束时间为%d:%d\t",student[m].end.hour,student[m].end.minute);
|
|
printf("上机时间为:%d小时%d分钟\n",student[m].time_hour,student[m].time_minute);
|
|
}
|
|
else
|
|
{
|
|
printf("没有该记录:\n");
|
|
}
|
|
}
|
|
system("pause");
|
|
system("cls");/*清屏*/
|
|
}
|
|
|