運用了結構體,檔案指標。其實寫起來不算難,主要是檔案的指標很少用到,所以花了很長時間不斷的除錯。最終的程式還是有一點bug的,比如雙人互換宿舍必須在單人調換宿舍前面使用,不然後面的讀取資料會出錯,還有互換宿舍時a同學的記錄必須在b同學的前面,否則會出錯。這都是檔案指標的問題,還有待改善。儘管花了很長時間,老師並不認可這樣的作業,因為沒有視覺化介面,他說,乙個程式設計師必須考慮使用者使用的感受,所以只要是沒有視覺化介面的,無論你寫的多麼好,都不會得到好的分數。
#include#include#include
typedef
struct
student;
typedef
struct
dormitory;
char filename[20
];file *fp; //
學生資訊檔案指標
file *_fp; //
宿舍資訊檔案指標
void
create()
}else
printf(
"檔案已存在!\n");
fclose(fp);
fclose(_fp);
}void
open()
}void
insert_dorm()
fclose(_fp);
fclose(fp);
}void
insert_stu()
locate=ftell(_fp); }
if(flag==0
) fwrite(s,
sizeof(student),1
,fp);
rewind(_fp);
scanf("%s
",s->id);
} fclose(_fp);
fclose(fp);
}void
dormnumsearch() }
if(flag) }
if(tag==0
) printf(
"\n該宿舍沒有學生入住!\n");
}else
printf(
"不存在該宿舍記錄!!\n");
fclose(_fp);
fclose(fp);
}void
change()
locate_c=ftell(_fp);
} }break; }
locate_b=ftell(_fp); }
if(tag==0)
break; }
locate=ftell(fp); }
if(flag==0
) printf(
"\n不存在該學生!\n");
fclose(_fp);
fclose(fp);
}void
namesearch() }
if(tag==0
) printf(
"\n沒有室友!\n");
tag=0;
while(fread(d,sizeof(dormitory),1
,_fp)) }
//break;}
//同名情況
if(flag)
fseek(fp,locate,seek_set);}
if(flag==0
) printf(
"\n沒有符合條件的學生的記錄!\n");
fclose(_fp);
fclose(fp);
}void
check_out()
locate=ftell(fp);
} locate_b=ftell(_fp);
while(fread(d,sizeof(dormitory),1
,_fp))
locate_b=ftell(_fp);
} fclose(_fp);
fclose(fp);
}void
numsearch()
} strcpy(dor_num,s->dormitory); if
(flag) }
if(tag==0
) printf(
"\n沒有室友!\n");
while(fread(d,sizeof(dormitory),1
,_fp))
} }else
printf(
"\n沒有該學生的記錄!\n");
fclose(_fp);
fclose(fp);
}void
exchange()
locate_a=ftell(fp);
} rewind(fp);
locate_b=ftell(fp);
while(fread(_s,sizeof(student),1
,fp))
locate_b=ftell(fp); }
if(flag==0 || tag==0
)else
printf(
"更換宿舍後:\n");
rewind(fp);
locate_a=ftell(fp);
while(fread(s,sizeof(student),1
,fp))
locate_a=ftell(fp);
}locate_b=ftell(fp);
while(fread(_s,sizeof(student),1
,fp))
locate_b=ftell(fp);
}fclose(_fp);
fclose(fp);
}void
display()
locate=ftell(fp);
} fclose(_fp);
fclose(fp);
}int
main()
}
return0;
}
學生宿舍管理系統
幫同學做的課程設計,內容比較簡單,功能為錄入學生的姓名 學號 宿舍號以及是否違規,可以用學號 宿舍號來查詢,並且統計乙個宿舍違規總次數。include include include include include using namespace std define n 4 int mulu cl...
學生宿舍管理系統
四 專案演示 1 登入之後的介面 2 新增使用者 三 分配宿舍 四 宿舍保修 現如今是飛速發展的資訊時代。在各行各業中離不開資訊處理,這正是計算機被廣泛應用於資訊管理系統的環境。計算機的最大好處在於利用它能夠進行資訊管理。使用計算機進行資訊控制,不僅提高了工作效率,而且大大的提高了其安全性。學生宿舍...
學生宿舍管理系統 完成總結
題目 學生宿舍管理系統 考查點 線性結構 檔案操作 注意 必須使用檔案儲存資料,不得使用資料庫管理系統。任務 通過此系統可以實現如下功能 錄入 可以錄入宿舍情況,包括宿舍號 可容納學生數 已容納學生數 男生 女生宿舍等資訊 可以錄入學生住宿情況,包括學號 姓名 性別 宿舍號等資訊。其他資訊可以自行設...