資源簡介
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(
- 上一篇:網絡安全課程設計之漏洞掃描
- 下一篇:基于C++的HOSVD源代碼
評論
共有 條評論