题目:(1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。
(2)计算功能:计算每个下机学生的上机费用,每小时1元。
(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算)
(3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。
(4)机器使用情况的显示(显示方式不限但要一目了然)
代码如下:
#include#include #include int i; void menu(); void input(); int Fun1(); void Fun2(); void Fun3(); void computer(); void SelectComputer(); int Money(); void Students(); struct student { char num[10]; char name[20]; char Class[20]; int flag; float time;//上机时间 } stu[50]; struct computer { int f; //1为使用,0为未使用 struct student stus; }comp[30]; void Students() { for(int i=1;i<31;i++) { printf("n请输入第%d个学生信息n",i); printf("n请输入学生姓名n"); scanf("%s",&stu[i].name); getchar(); printf("请输入学生班级n"); scanf("%s",&stu[i].Class); getchar(); printf("请输入学生学号n"); scanf("%s",&stu[i].num); getchar(); printf("请输入开机时长n"); scanf("%f",&stu[i].time); getchar(); } } main() { do{ menu(); int x=0; int y=0; scanf("%d",&x); switch(x){ case 1: Students(); SelectComputer(); system("pause"); system("cls"); break; case 2:Fun2(); system("pause"); system("cls"); break; case 3:Fun3(); system("pause"); system("cls"); break; case 4: printf("感谢使用网吧管理系统,再见!!!n"); exit(-1); } }while(1); } void menu() { printf("n"); printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$n"); printf("¥ 欢迎使用机房收费系统 ¥n"); printf("¥ 1.学生上机 ¥n"); printf("¥ 2.查询机器使用情况 ¥n"); printf("¥ 3.查询学生上机情况 ¥n"); printf("¥ 4.退出系统 ¥n"); printf("¥ ¥n"); printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$n"); printf("请输入你要操作的选项:"); } void SelectComputer(){ Fun2(); for(int j=1;j<31;j++) { printf("请输入机器号:"); int ComputerNum; do{ scanf("%d",&ComputerNum); if(comp[ComputerNum-1].f==1) printf("该机器已被占用,请重新输入:"); else { comp[ComputerNum-1].f=1; break; } }while(1); } printf("开机成功!n"); } void Fun2()//机器使用情况 { printf("n机器使用情况:n"); for(i=0;i<30;i++){ if(comp[i].f==1) printf("1 "); else printf("0 "); if((i+1)%10==0) printf("n"); } } void Fun3()//学生上机情况 { printf("n学生上机情况:n"); printf("班级t学号t姓名t时间tt费用n"); for(i=1;i<31;i++) { printf("%st%st%st%ft%dtn",stu[i].Class,stu[i].num,stu[i].name,stu[i].time,Money()); } } int Money() { int y=stu[i].time; return y; }
大家期末加油!



