• 大小: 11KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签:

资源简介

C语言课程设计 机房收费管理系统 (1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。 (2)计算功能:计算每个下机学生的上机费用,每小时1元。 (上机费用=上机时间* 1.0/h ,不足一小时按一小时计算) (3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。 (4)机器使用情况的显示

资源截图

代码片段和文件信息

#include
#include
#include
#include

/*用结构体记录信息*/
struct student
{
char num[11];    //学号,学号为8位,留11位,防止输入出错的
    char theClass[4];   //班级
    char name[20];      //名字
    char onTime[8];    //上机时间
int mark;        //标记机器是否可用,0为可用,1为不可用
int no;        //用于给机器编号
}student[30];

/*登记上机,输入学生信息*/
void add()
{
for(int m=0x=0;m<30;m++)       //统计可用机器总数
{
if(student[m].mark==0)
x++;
}
printf(“\n\t目前空闲可用的机器共有 %d 台学生人数不能多于可用机器总数“x);
int ni;         //n标记要输入的学生人数
printf(“\n请输入要上机的学生的总数:“);
for(i=0;i<10;i++)
{
scanf(“%d“&n);
if(n>x)
{
printf(“    空闲机器不够用,请重新输入总数:“);
continue;
}
else
break;
}
int a[30];
i=0;
for(int f=0;f<30;f++)      //用数组记录当前空闲可用的机器
{
if(student[f].mark==0)
{
a[i]=f;
i++;
}
if(i==n)     //找到足够的机器用于输入人数总数就能够跳出此循环了
break;
}
for(i=0;i {
printf(“\t请输入第%d个学生学号:“i+1);    
do
{
scanf(“%s“student[a[i]].num);          
if(strlen(student[a[i]].num)!=8)
{
printf(“输入学号出错,请重新输入:“);
m=31;      //赋予条件,让程序能跳出循环下面的相似语句均为此作用
}
else
{
for(f=0;f<30;f++)
{
if(a[i]==f)
f=f+1;
if(strcmp(student[a[i]].numstudent[f].num)==0)
{
printf(“当前有此学号学生在上机,检查是否输入有误,重新输入:“);
m=31;
break;
}
else
m=32;
}
}
}while(m==31);
printf(“\t请输入第%d个学生班级:“i+1);
do
{
scanf(“%s“student[a[i]].theClass);
if(strlen(student[a[i]].theClass)>2)
{
printf(“班级输入错误,请重新输入:“);
m=31;
continue;
}
else if(strlen(student[a[i]].theClass)==1)  //检验输入的班级是几位数
{
if((student[a[i]].theClass[0]<‘1‘)||(student[a[i]].theClass[0]>‘9‘))
{
printf(“班级输入错误,请重新输入:“);
m=31;
continue;
}
else
m=32;
}
else if(strlen(student[a[i]].theClass)==2)
{
if((student[a[i]].theClass[0]<‘1‘)||(student[a[i]].theClass[0]>‘9‘)||(student[a[i]].theClass[1]<‘0‘)||(student[a[i]].theClass[1]>‘9‘))
{
printf(“班级输入错误,请重新输入:“);
m=31;
continue;
}
else
m=32;
}
else
m=32;
}while(m==31);
        printf(“\t请输入第%d个学生姓名:“i+1);
        scanf(“%s“student[a[i]].name);
        printf(“\t请输入第%d个学生上机时间(如08:02“:”要用英文输入法输入):“i+1);
do
{
scanf(“%s“student[a[i]].onTime);
if(strlen(student[a[i]].onTime)!=5)
{
printf(“输入时间错误,请重新输入(如08:02“:”要用英文输入法输入):“);
m=31;
continue;
}
else if(student[a[i]].onTime[2]!=‘:‘)
{
printf(“输入有误,请重新输入(如08:02“:”要用英文输入法输入):“);
m=31;
continue;
}
else if(student[a[i]].onTime[0]<‘3‘)
{
if((student[a[i]].onTime[0]==‘2‘)&&(student[a[i]].onTime[1]>‘3‘))
{
printf(“输入时间错误,请重新输入(如08:02):“);
m=31;
continue;
}
else if(student[a[i]].onTime[3]>‘5‘)
{
printf(“输入时间错误,请重新输入(如08:02):“);
m=31;
continue;
}
else
m=32;
}
else if(

评论

共有 条评论