一、程序要求
該程序是由C語(yǔ)言編寫(xiě)的一個(gè)宿舍管理查詢軟件,其主要功能是實(shí)現(xiàn)對(duì)學(xué)生信息的增加、刪除、修改、查詢、排序、存儲(chǔ)、加載。其中查詢可以分別以姓名、學(xué)號(hào)、寢室號(hào)為關(guān)鍵字查詢學(xué)生信息。排序可以分別以學(xué)號(hào)和寢室號(hào)為關(guān)鍵字進(jìn)行從小到大的排序。方便舍管阿姨管理宿舍。
二、程序設(shè)計(jì)
2.1、總體設(shè)計(jì):
①輸入的形式:根據(jù)用戶所選擇的功能,然后再依據(jù)程序相應(yīng)的提示進(jìn)行輸入:
選擇功能1(添加學(xué)生信息):按照從先到后的順序輸入學(xué)生姓名(30個(gè)字符以內(nèi)),學(xué)生學(xué)號(hào)(15個(gè)字符以內(nèi)),宿舍號(hào)碼(整數(shù),范圍在0~32767)。
選擇功能2(修改學(xué)生信息):按照從先到后的順序輸入要修改的學(xué)生姓名(30個(gè)字符以內(nèi)),修改后學(xué)生的姓名(30個(gè)字符以內(nèi)),修改后學(xué)生的學(xué)號(hào)(15個(gè)字符以內(nèi)),修改后學(xué)生的宿舍號(hào)(整數(shù),范圍在0~32767)。
選擇功能3(刪除學(xué)生信息):輸入要?jiǎng)h除的學(xué)生姓名(30個(gè)字符以內(nèi))。
選擇功能4(以姓名查詢學(xué)生信息):輸入要查找的學(xué)生的姓名(30個(gè)字符以內(nèi))。
選擇功能5(以學(xué)號(hào)查詢學(xué)生信息):輸入要查找的學(xué)生的學(xué)號(hào)(15個(gè)字符以內(nèi))。
選擇功能6(以寢室號(hào)查詢學(xué)生信息):輸入寢室號(hào)(整數(shù),范圍在0~32767)。
②輸出的形式:根據(jù)用戶所選擇的功能不同,會(huì)有不同的輸出:
選擇功能1(添加學(xué)生信息):根據(jù)程序的判斷會(huì)輸出添加成功或者添加失敗。
選擇功能2(修改學(xué)生信息):根據(jù)程序的判斷會(huì)輸出修改成功或者修改失敗。
選擇功能3(刪除學(xué)生信息):根據(jù)程序的判斷會(huì)輸出刪除成功或者刪除失敗。
選擇功能4(以姓名查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會(huì)輸出相應(yīng)的學(xué)生信息,反之,則會(huì)輸出查找失敗。
選擇功能5(以學(xué)號(hào)查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會(huì)輸出相應(yīng)的學(xué)生信息,反之,則會(huì)輸出查找失敗。
選擇功能6(以寢室號(hào)查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會(huì)輸出相應(yīng)的學(xué)生信息,反之,則會(huì)輸出查找失敗。
選擇功能7,8(以寢室號(hào)和學(xué)號(hào)為關(guān)鍵字進(jìn)行從小到大的排序):程序會(huì)輸出排序成功。
選擇功能9(顯示所有學(xué)生的信息):程序會(huì)輸出所有以存學(xué)生的信息。
選擇功能10(保存操作):根據(jù)程序的判斷會(huì)輸出保存成功或者保存失敗。
選擇功能11(加載記錄):根據(jù)程序的判斷會(huì)輸出加載記錄成功或者加載記錄失敗。
2.2、詳細(xì)設(shè)計(jì)
2.本程序所包含的15個(gè)函數(shù)為:
(1).主函數(shù)main();
(2).菜單函數(shù)Menu();
(3).判斷學(xué)號(hào)是否重復(fù)函數(shù)S_number_Judge(Student S,int t);
(4).添加學(xué)生信息函數(shù)Add(Student S);
(5).修改學(xué)生信息函數(shù)Alter(Student S);
(6).刪除學(xué)生信息函數(shù)Delete(Student S);
(7).顯示所有學(xué)生信息函數(shù)Display_All(Student S);
(8).按照寢室號(hào)從小到大排序函數(shù)Sort_D_number(Student S);
(9).按照學(xué)號(hào)從小到大排序函數(shù)Sort_S_number(Student S);
(10).根據(jù)學(xué)生姓名查找函數(shù)Query_S_name(Student S);
(11).根據(jù)學(xué)生學(xué)號(hào)查找函數(shù)Query_S_number(Student S);
(12).根據(jù)寢室號(hào)查找函數(shù)Query_D_number(Student S)
(13).存儲(chǔ)函數(shù)Save(Student S);
(14).加載函數(shù)Load(Student S);
(15).判斷在退出程序時(shí)是否保存函數(shù)Judge_Save(int i,Student S);
各函數(shù)之間的調(diào)用關(guān)系如下:
?
編輯切換為居中
添加圖片注釋,不超過(guò) 140 字(可選)
三、系統(tǒng)實(shí)現(xiàn)
部分程序代碼:
#include
#include
#include
#define M 100
int flag1=0,flag2=0; //判斷存儲(chǔ)是否成功
FILE *fp;
if((fp=fopen("宿舍管理.txt","w"))==NULL)
{
printf("打開(kāi)文件失敗!nn");
flag1=1;
exit(0); //結(jié)束程序
}
for(i=1;i<=S->Total;i++)
if(fwrite(&S[i],sizeof(Std),1,fp)!=1)
{
printf("數(shù)據(jù)寫(xiě)入錯(cuò)誤nn");
flag2=1;
exit(0);
}
if(!flag1&&!flag2)
{
printf("數(shù)據(jù)存儲(chǔ)成功!nn");
dirty=0;
}
fclose(fp); //關(guān)閉一個(gè)流。關(guān)閉一個(gè)打開(kāi)的文件, fp是此前通過(guò)調(diào)用fopen返回的文件指針。
}
void Menu()
{
//菜單
printf(" 宿舍管理nn");
printf("*************************************菜單*************************************n");
printf("1.添加新入住學(xué)生信息 | 8.按照班級(jí)號(hào)從小到大排序n");
printf("2.修改宿舍學(xué)生信息 | 9.按照寢室號(hào)從小到大排序n");
printf("3.刪除搬出宿舍學(xué)生信息 | 10.按照學(xué)號(hào)從小到大排序n");
printf("4.以姓名查詢學(xué)生信息 | 11.顯示所有學(xué)生的相關(guān)信息n");
printf("5.以學(xué)號(hào)查詢學(xué)生信息 | 12.保存操作n");
printf("6.以宿舍號(hào)查詢?cè)撍奚嶂械娜繉W(xué)生信息 | 13.加載記錄n");
printf("7.以班級(jí)號(hào)查詢?cè)摪嗉?jí)中的全部學(xué)生信息 | 14.退出程序n");
printf("******************************************************************************n");
四、系統(tǒng)調(diào)試
1、初次使用在菜單中選1輸入入住學(xué)生信息
?
按照先后順序分別輸入:
姓名:吳武,學(xué)號(hào):20132255,班級(jí):高三1班,宿舍號(hào):404 ,地址27#,號(hào)碼13878797218
姓名:周王,學(xué)號(hào):20132551,班級(jí):高三1班,宿舍號(hào):402,地址:27#,號(hào)碼 15296812933
姓名:秦學(xué),學(xué)號(hào):20135599,班級(jí):高三2班,宿舍號(hào):403,地址:27#,號(hào)碼 15240662499
分別如下圖:
?
?
?
2、對(duì)功能2(修改學(xué)生信息)的測(cè)試:修改學(xué)生秦學(xué)的信息
?
3、對(duì)功能3(刪除學(xué)生信息)的測(cè)試:刪除搬出宿舍學(xué)生吳武的信息
4、對(duì)功能4(以姓名查詢學(xué)生信息)的測(cè)試:查詢學(xué)生秦學(xué)的信息
?
5、對(duì)功能6的測(cè)試:查詢宿舍402
?
6、對(duì)功能9進(jìn)行測(cè)試:
需要完整的資料可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤(pán)下載地址及提取碼。
?紛傳點(diǎn)擊用微信打開(kāi)即可,過(guò)程有點(diǎn)繁瑣請(qǐng)見(jiàn)諒。
審核編輯:湯梓紅
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136861 -
程序
+關(guān)注
關(guān)注
117文章
3787瀏覽量
81060 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4331瀏覽量
62630
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論