资源简介
基于C的机房收费管理系统,满足课程设计的基本要求,简单易懂
代码片段和文件信息
/****************************************************************
【设计内容】
试设计一机房收费管理系统,实现机房对上机收费的管理。
【设计要求】
1、录入功能:输入上机学生的学号、班级、姓名、上机起始时间。
2、计算功能:计算每个下机学生的上机费用,每小时1元。
(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算)
3、查询功能:按条件(班级、学号、姓名)显示学生的上机时间。
4、机器使用情况的显示
5、使用文件方式存储数据,系统以菜单方式工作
****************************************************************/
#include
#include
#include
#define N 100
/*定义时间结构体数组*/
typedef struct time{
int hour; /*定义时*/
int minute; /*定义分*/
int second; /*定义秒*/
}TIME;
/*定义学生信息结构体数组*/
typedef struct student{ /*定义学号*/
long number; /*定义学号*/
char banji[20]; /*定义班级*/
char name[20]; /*定义姓名*/
TIME kaishi; /*定义上机开始时间*/
TIME jieshu; /*定义上机结束时间*/
int use; /*定义是否上机,use=0表示不在上机,use=1表示在上机*/
}STU;
/*定义主菜单函数*/
void menu()
{
printf(“\t ┏━━━━━━【机房收费管理系统】━━━━━━┓ \n“);
printf(“\t ┃ 1.输入学生信息 ┃\n“);
printf(“\t ┃ 2.按学号查询学生上机时间及费用 ┃\n“);
printf(“\t ┃ 3.按班级查询学生上机时间及费用 ┃\n“);
printf(“\t ┃ 4.按姓名查询学生上机时间及费用 ┃\n“);
printf(“\t ┃ 5.电脑使用情况显示 ┃\n“);
printf(“\t ┃ 0.退出系统 ┃\n“);
printf(“\t ┗━━━━━━━━━━━━━━━━━━━━━━┛\n“);
}
/*输入学生信息*/
void input(STU student[]int length)
{
int i;
FILE * fp=fopen(“F:\\information.txt““w“);
for( i=0;i {
printf(“\t\t录入第%d个学生的信息\n“i+1);
printf(“\t\t学号:“);
scanf(“%ld“&student[i].number);
printf(“\t\t班级:“);
scanf(“%s“&student[i].banji);
printf(“\t\t姓名:“);
scanf(“%s“&student[i].name);
printf(“\t\t上机开始时间:“);
scanf(“%d:%d:%d“&student[i].kaishi.hour&student[i].kaishi.minute&student[i].kaishi.second);
printf(“\n“);
student[i].use=1; /*将此学生标记为上机*/
fprintf(fp“%ld\n“student[i].number);
fprintf(fp“%s\n“student[i].banji);
fprintf(fp“%s\n“student[i].name);
fprintf(fp“%d:%d:%d\n“student[i].kaishi.hourstudent[i].kaishi.minutestudent[i].kaishi.second);
}
fclose(fp);
}
/*计算上机时间及费用*/
void calculatetime(STU student)
{
int t;
TIME time_t;
FILE * fp=fopen(“F://information.txt““r“);
if(fp==NULL)
{
printf(“打开文件失败!“);
exit(1);
}
printf(“\t\t请输入下机时间:“);
scanf(“%d:%d:%d“&student.jieshu.hour&student.jieshu.minute&student.jieshu.second); /*输入上机结束时间*/
if(student.jieshu.second {
if(student.jieshu.minute==0) /*结束分=0*/
{
student.jieshu.hour-=1; /*结束时-1*/
student.jieshu.minute=59; /*结束分=59*/
} else student.jieshu.minute-=1; /*结束分-1*/
time_t.second=student.jieshu.second+60-student.kaishi.second; /*上机时间秒=结束秒+60-开始秒*/
} else time_t.second=student.jieshu.second-student.kaishi.second; /*上机时间秒=结束秒-开始秒*/
if(student.jieshu.minute {
student.jieshu.hour-=1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 413184 2015-01-05 14:17 实验报告.doc
文件 7606 2013-07-04 23:13 机房收费管理系统.c
评论
共有 条评论