資源簡介
基于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
評論
共有 條評論