1 系統(tǒng)設(shè)計(jì)
1.1設(shè)計(jì)要求
1.1.1設(shè)計(jì)任務(wù)
創(chuàng)建一個(gè)學(xué)生信息管理系統(tǒng),讓它來運(yùn)行和管理學(xué)生信息,進(jìn)行對(duì)學(xué)生學(xué)號(hào)、姓名、性別、年齡、出生年月日、住址、電話、E—maill等信息的管理。
1.1.2性能指標(biāo)要求
程序具有對(duì)學(xué)生信息的入錄、查詢、修改、刪除、保存、添加等功能,對(duì)于輸入錯(cuò)誤的信息能得到提示并能進(jìn)行選擇。
1.2設(shè)計(jì)思路及設(shè)計(jì)框圖
1.2.2設(shè)計(jì)思路
采用模塊化的程序設(shè)計(jì)方法,即將較大的任務(wù)按照一定的原則分為一個(gè)個(gè)較小的任務(wù),然后分別設(shè)計(jì)各個(gè)小任務(wù)。
本學(xué)生信息管理系統(tǒng)采用結(jié)構(gòu)體數(shù)組鏈表來實(shí)現(xiàn),它由如下六大功能模塊組成:
添加學(xué)生信息函數(shù):對(duì)學(xué)生的信息進(jìn)行添加輸入。
全部學(xué)生信息函數(shù):儲(chǔ)存已輸入全部學(xué)生的信息,進(jìn)行管理。
修改學(xué)生信息函數(shù):對(duì)已輸入學(xué)生的信息進(jìn)行修改。
刪除學(xué)生信息函數(shù):對(duì)已經(jīng)不需要了的信息進(jìn)行刪除處理。
查看學(xué)生信息函數(shù):可以按不同方式查看學(xué)生的信息。
主函數(shù):對(duì)其他子函數(shù)進(jìn)行調(diào)用處理。
1.2.2總體設(shè)計(jì)框圖
?
2 各個(gè)模塊的設(shè)計(jì)
主函數(shù)main()
main()函數(shù)主要實(shí)現(xiàn)了對(duì)整個(gè)程序的運(yùn)行控制,以及相關(guān)功能模塊的調(diào)用。菜單放在主函數(shù)中方便簡(jiǎn)潔,用戶進(jìn)入學(xué)生信息管理系統(tǒng)時(shí),需要顯示主菜單,提示用戶進(jìn)行選擇,完成相應(yīng)任務(wù)。
main( ) //主函數(shù)
{
int a;
printf("nt 〓〓〓〓〓〓〓〓 ☆ 學(xué)生信息管理系統(tǒng) ☆ 〓〓〓〓〓〓〓〓nn");
printf("nt 〓〓〓〓〓〓〓〓 ☆ 未經(jīng)允許,不得使用 ☆ 〓〓〓〓〓〓〓〓n");
printf("tn");
T: printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 1.添加學(xué)生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 2.全部學(xué)生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 3.修改學(xué)生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 4.刪除學(xué)生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 5.查看學(xué)生信息 ☆ ★ 〓〓〓〓〓〓〓〓 n");
printf("nt 〓〓〓〓〓〓〓〓 ★ ☆ 6.退出本系統(tǒng) ☆ ★ 〓〓〓〓〓〓〓〓 n");
scanf("%d",&a);
switch(a)
{
case 1:tianjia( );goto T;
case 2:quanbu( );goto T;
case 3:xiugai( );goto T;
case 4:shanchu( );goto T;
case 5:chakan( );goto T;
case 6:break;
default:printf("t你的輸入不正確,請(qǐng)?jiān)俅屋斎? n");
}
printf("t謝謝您對(duì)本系統(tǒng)的支持和使用nn");
printf("t2019年9月10日nnnnnnn");
}
添加學(xué)生信息函數(shù)
此函數(shù)實(shí)現(xiàn)學(xué)生信息的添加,將信息存入結(jié)構(gòu)體數(shù)組中。
tianjia( ) //添加信息函數(shù)
{
int num,num2,i,x;
G:printf("t請(qǐng)輸入學(xué)號(hào): ");
H:scanf("%d",&num);
V:if(num>100)
{
printf("n這個(gè)學(xué)號(hào)太大了!n請(qǐng)輸入1--100的學(xué)號(hào):");
scanf("%d",&num);
if(num>100)goto V;
printf("n");
}
num2=looknum(num);
if(num==num2) //判斷這個(gè)學(xué)號(hào)是否存在
{
printf("n這個(gè)學(xué)號(hào)已經(jīng)存在,請(qǐng)重新輸入另一個(gè)學(xué)號(hào)。");
goto H;
}
i=num-1;
stu[i].num=num;
printf("t請(qǐng)輸入姓名: ");
scanf("%s",stu[i].name);
printf("t請(qǐng)輸入性別: ");
scanf("%s",stu[i].sex);
printf("t請(qǐng)輸入年齡: ");
scanf("%d",&stu[i].age);
printf("t請(qǐng)輸入出生日期: ");
scanf("%s",stu[i].bro);
printf("t請(qǐng)輸入住址: ");
scanf("%s",stu[i].add);
printf("t請(qǐng)輸入手機(jī)號(hào): ");
scanf("%s",stu[i].phone);
printf("t請(qǐng)輸入E-maill: ");
scanf("%s",stu[i].em);
printf("nt<*添加信息成功*>nn ");
printf("t1.繼續(xù)添加n");
printf("t2.退出添加n");
scanf("%d",&x);
switch(x)
{
case 1:goto G;
default:break;
}
}
全部學(xué)生信息模塊
此模塊對(duì)輸入學(xué)生的信息進(jìn)來存儲(chǔ)管理。
quanbu() //輸出全部信息函數(shù)
{
int i;
printf("tt全部學(xué)生信息如下nn");
printf("學(xué)號(hào)t姓名t性別t年齡t出生日期t住址t手機(jī)號(hào)ttE-mailln");
for(i=0;i<=100;i++)
if(stu[i].num!=0)
printf("nt2.取消修改n");
scanf("%d",&x);
if(x==1)
{
stu[num-1].num;
printf("t1.按照學(xué)號(hào)查詢nt2.按照姓名查詢n");
scanf("%d",&x); //輸入查看方式
if(x==1) //學(xué)號(hào)查找
{
M:printf("t請(qǐng)輸入查看的學(xué)號(hào): ");
scanf("%d",&num);
num2=looknum(num);
if(num==num2) //判斷這個(gè)學(xué)號(hào)是否存在
{
printf("t這個(gè)學(xué)號(hào)信息如下nn");
printf("學(xué)號(hào)t 姓名t 性別t 年齡t 出生日期t 住址t 手機(jī)號(hào)ttE-mailn");
printf("%dt%st%st%dt%st%st%st%sn",stu[num-1].num,
stu[num-1].name,stu[num-1].sex,stu[num-1].age,
stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em);
goto J;
}
else
{
printf("nt沒有這個(gè)學(xué)號(hào),你可能記錯(cuò)了!n");
J:printf("nt1.繼續(xù)查看n");
printf("nt2.退出查看n");
scanf("%d",&y);
switch(y)
{
case 1:goto M;
default:break;
}
}
功能測(cè)試
3.1 測(cè)試儀器與設(shè)備
Visualc++6.0
3.2 性能指標(biāo)測(cè)試
3.2.1在主菜單中選擇1
當(dāng)用戶輸入1并按回車鍵后,即可進(jìn)入添加學(xué)生信息界面。若是第一次運(yùn)行該程序,應(yīng)能實(shí)現(xiàn)從鍵盤輸入學(xué)生信息到數(shù)組中,
?
當(dāng)輸入一名學(xué)生的信息完成時(shí)會(huì)彈出以下界面,選擇1繼續(xù)添加,選擇2退出添
3.2.2在主菜單中選擇2
當(dāng)選擇2時(shí),界面會(huì)彈出全部學(xué)生的信息如下圖
?
3.2.3在主菜單中選擇3
當(dāng)選著3時(shí),界面會(huì)彈出要修改學(xué)生的學(xué)號(hào)進(jìn)行查詢修改的界面如下圖
學(xué)號(hào)為1的學(xué)生信息
?
3.2.4在主菜單中選擇4
選擇4界面會(huì)彈出如下圖
?
選擇1可以刪除該學(xué)生的信息,2取消刪除學(xué)生的信息
?
編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
3.2.5在主菜單中選擇5
當(dāng)選擇5時(shí)會(huì)彈出以下界面,1按照學(xué)號(hào)查詢,2按照姓名查詢
?
編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
當(dāng)輸入的學(xué)號(hào)錯(cuò)誤時(shí)會(huì)出現(xiàn)以下界面
?
編輯
添加圖片注釋,不超過 140 字(可選)
輸入學(xué)號(hào)正確時(shí)會(huì)彈出以下界面
?
編輯切換為居中
添加圖片注釋,不超過 140 字(可選)
3.2.6在主菜單中選擇6
當(dāng)選擇6時(shí)退出本系統(tǒng),彈出的界面如下圖
?
?
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136861 -
程序設(shè)計(jì)
+關(guān)注
關(guān)注
3文章
261瀏覽量
30395 -
信息管理系統(tǒng)
+關(guān)注
關(guān)注
0文章
31瀏覽量
9987
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論