一、程序要求
該程序是由C語言編寫的一個(gè)宿舍管理查詢軟件,其主要功能是實(shí)現(xiàn)對學(xué)生信息的增加、刪除、修改、查詢、排序、存儲、加載。其中查詢可以分別以姓名、學(xué)號、寢室號為關(guān)鍵字查詢學(xué)生信息。排序可以分別以學(xué)號和寢室號為關(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é)號(15個(gè)字符以內(nèi)),宿舍號碼(整數(shù),范圍在0~32767)。
選擇功能2(修改學(xué)生信息):按照從先到后的順序輸入要修改的學(xué)生姓名(30個(gè)字符以內(nèi)),修改后學(xué)生的姓名(30個(gè)字符以內(nèi)),修改后學(xué)生的學(xué)號(15個(gè)字符以內(nèi)),修改后學(xué)生的宿舍號(整數(shù),范圍在0~32767)。
選擇功能3(刪除學(xué)生信息):輸入要?jiǎng)h除的學(xué)生姓名(30個(gè)字符以內(nèi))。
選擇功能4(以姓名查詢學(xué)生信息):輸入要查找的學(xué)生的姓名(30個(gè)字符以內(nèi))。
選擇功能5(以學(xué)號查詢學(xué)生信息):輸入要查找的學(xué)生的學(xué)號(15個(gè)字符以內(nèi))。
選擇功能6(以寢室號查詢學(xué)生信息):輸入寢室號(整數(shù),范圍在0~32767)。
②輸出的形式:根據(jù)用戶所選擇的功能不同,會有不同的輸出:
選擇功能1(添加學(xué)生信息):根據(jù)程序的判斷會輸出添加成功或者添加失敗。
選擇功能2(修改學(xué)生信息):根據(jù)程序的判斷會輸出修改成功或者修改失敗。
選擇功能3(刪除學(xué)生信息):根據(jù)程序的判斷會輸出刪除成功或者刪除失敗。
選擇功能4(以姓名查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會輸出相應(yīng)的學(xué)生信息,反之,則會輸出查找失敗。
選擇功能5(以學(xué)號查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會輸出相應(yīng)的學(xué)生信息,反之,則會輸出查找失敗。
選擇功能6(以寢室號查詢學(xué)生信息):根據(jù)程序的判斷,如果查找成功,則會輸出相應(yīng)的學(xué)生信息,反之,則會輸出查找失敗。
選擇功能7,8(以寢室號和學(xué)號為關(guān)鍵字進(jìn)行從小到大的排序):程序會輸出排序成功。
選擇功能9(顯示所有學(xué)生的信息):程序會輸出所有以存學(xué)生的信息。
選擇功能10(保存操作):根據(jù)程序的判斷會輸出保存成功或者保存失敗。
選擇功能11(加載記錄):根據(jù)程序的判斷會輸出加載記錄成功或者加載記錄失敗。
2.2、詳細(xì)設(shè)計(jì)
2.本程序所包含的15個(gè)函數(shù)為:
(1).主函數(shù)main();
(2).菜單函數(shù)Menu();
(3).判斷學(xué)號是否重復(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).按照寢室號從小到大排序函數(shù)Sort_D_number(Student S);
(9).按照學(xué)號從小到大排序函數(shù)Sort_S_number(Student S);
(10).根據(jù)學(xué)生姓名查找函數(shù)Query_S_name(Student S);
(11).根據(jù)學(xué)生學(xué)號查找函數(shù)Query_S_number(Student S);
(12).根據(jù)寢室號查找函數(shù)Query_D_number(Student S)
(13).存儲函數(shù)Save(Student S);
(14).加載函數(shù)Load(Student S);
(15).判斷在退出程序時(shí)是否保存函數(shù)Judge_Save(int i,Student S);
各函數(shù)之間的調(diào)用關(guān)系如下:
?
編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
三、系統(tǒng)實(shí)現(xiàn)
部分程序代碼:
#include
#include
#include
#define M 100
int flag1=0,flag2=0; //判斷存儲是否成功
FILE *fp;
if((fp=fopen("宿舍管理.txt","w"))==NULL)
{
printf("打開文件失敗!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ù)寫入錯(cuò)誤nn");
flag2=1;
exit(0);
}
if(!flag1&&!flag2)
{
printf("數(shù)據(jù)存儲成功!nn");
dirty=0;
}
fclose(fp); //關(guān)閉一個(gè)流。關(guān)閉一個(gè)打開的文件, fp是此前通過調(diào)用fopen返回的文件指針。
}
void Menu()
{
//菜單
printf(" 宿舍管理nn");
printf("*************************************菜單*************************************n");
printf("1.添加新入住學(xué)生信息 | 8.按照班級號從小到大排序n");
printf("2.修改宿舍學(xué)生信息 | 9.按照寢室號從小到大排序n");
printf("3.刪除搬出宿舍學(xué)生信息 | 10.按照學(xué)號從小到大排序n");
printf("4.以姓名查詢學(xué)生信息 | 11.顯示所有學(xué)生的相關(guān)信息n");
printf("5.以學(xué)號查詢學(xué)生信息 | 12.保存操作n");
printf("6.以宿舍號查詢該宿舍中的全部學(xué)生信息 | 13.加載記錄n");
printf("7.以班級號查詢該班級中的全部學(xué)生信息 | 14.退出程序n");
printf("******************************************************************************n");
四、系統(tǒng)調(diào)試
1、初次使用在菜單中選1輸入入住學(xué)生信息
?
按照先后順序分別輸入:
姓名:吳武,學(xué)號:20132255,班級:高三1班,宿舍號:404 ,地址27#,號碼13878797218
姓名:周王,學(xué)號:20132551,班級:高三1班,宿舍號:402,地址:27#,號碼 15296812933
姓名:秦學(xué),學(xué)號:20135599,班級:高三2班,宿舍號:403,地址:27#,號碼 15240662499
分別如下圖:
?
?
?
2、對功能2(修改學(xué)生信息)的測試:修改學(xué)生秦學(xué)的信息
?
3、對功能3(刪除學(xué)生信息)的測試:刪除搬出宿舍學(xué)生吳武的信息
4、對功能4(以姓名查詢學(xué)生信息)的測試:查詢學(xué)生秦學(xué)的信息
?
5、對功能6的測試:查詢宿舍402
?
6、對功能9進(jìn)行測試:
需要完整的資料可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤下載地址及提取碼。
?紛傳點(diǎn)擊用微信打開即可,過程有點(diǎn)繁瑣請見諒。
審核編輯:湯梓紅
-
C語言
+關(guān)注
關(guān)注
180文章
7615瀏覽量
137846 -
程序
+關(guān)注
關(guān)注
117文章
3798瀏覽量
81461 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
63020
發(fā)布評論請先 登錄
相關(guān)推薦
源碼|學(xué)生信息管理系統(tǒng)(C語言單鏈表實(shí)現(xiàn))
基于B_S的學(xué)生信息管理系統(tǒng)的信息管理設(shè)計(jì)
c++程序設(shè)計(jì)語言題解
![<b class='flag-5'>c</b>++<b class='flag-5'>程序設(shè)計(jì)語言</b>題解](https://file.elecfans.com/web2/M00/48/7D/pYYBAGKhtAmATaZeAAAgiB-ypOI324.jpg)
C51語言程序設(shè)計(jì)技巧
![<b class='flag-5'>C</b>51<b class='flag-5'>語言</b><b class='flag-5'>程序設(shè)計(jì)</b>技巧](https://file1.elecfans.com//web2/M00/A6/37/wKgZomUMPFSAVqwjAAASGzXprE8227.jpg)
使用C語言實(shí)現(xiàn)宿舍管理系統(tǒng)的論文和程序及應(yīng)用軟件等資料合集
![使用<b class='flag-5'>C</b><b class='flag-5'>語言</b>實(shí)現(xiàn)<b class='flag-5'>宿舍</b><b class='flag-5'>管理</b><b class='flag-5'>系統(tǒng)</b>的論文和<b class='flag-5'>程序</b>及應(yīng)用軟件等資料合集](https://file.elecfans.com/web1/M00/B4/D8/o4YBAF5eCvKAe1ICAAGhHEu7xzo956.png)
C語言程序設(shè)計(jì)之宿舍信息管理系統(tǒng)
C語言程序設(shè)計(jì)之學(xué)生信息管理系統(tǒng)
C語言程序設(shè)計(jì)--宿舍管理
C語言程序設(shè)計(jì)之商品信息管理
C語言程序設(shè)計(jì)之圖書信息管理系統(tǒng)
如何利用C語言程序去設(shè)計(jì)一種宿舍信息管理系統(tǒng)?
![如何利用<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>程序</b>去設(shè)計(jì)一種<b class='flag-5'>宿舍</b><b class='flag-5'>信息管理</b><b class='flag-5'>系統(tǒng)</b>?](https://file1.elecfans.com/web2/M00/93/F0/wKgaomTi1FqAKdTyAACLfCMiZuo35.jpeg)
評論