加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

C語(yǔ)言程序設(shè)計(jì)-學(xué)生信息管理系統(tǒng)

08/22 13:22
1112
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買(mǎi)成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買(mǎi)后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

題目:學(xué)生信息管理系統(tǒng)

1 ?系統(tǒng)設(shè)計(jì)

1.1設(shè)計(jì)要求

1.1.1設(shè)計(jì)任務(wù)

創(chuàng)建一個(gè)學(xué)生信息管理系統(tǒng),讓它來(lái)運(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ù)組鏈表來(lái)實(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)來(lái)存儲(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("%dt%st%st%dt%st%st%st%sn",

stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em);

}

修改學(xué)生信息模塊

此模塊對(duì)已輸入的學(xué)生信息可以進(jìn)行修改。

xiugai( )?? //修改信息函數(shù)

{

int x,y,num,num2;

K:printf("t請(qǐng)輸入要修改的學(xué)號(hào): ");

scanf("%d",&num);

num2=looknum(num);

if(num==num2)? //判斷這個(gè)學(xué)號(hào)是否存在

{

printf("nt這個(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);

printf("nt1.確認(rèn)修改");

printf("nt2.取消修改n");

scanf("%d",&x);

if(x==1)

{

stu[num-1].num;

printf("t請(qǐng)輸入姓名: ");

scanf("%s",stu[num-1].name);

printf("t請(qǐng)輸入性別: ");

scanf("%s",stu[num-1].sex);

printf("t請(qǐng)輸入年齡: ");

scanf("%d",stu[num-1].age);

printf("t請(qǐng)輸入出生日期: ");

scanf("%s",stu[num-1].bro);

printf("t請(qǐng)輸入住址: ");

scanf("%s",stu[num-1].add);

printf("t請(qǐng)輸入手機(jī)號(hào): ");

scanf("%s",stu[num-1].phone);

printf("t請(qǐng)輸入E-maill: ");

scanf("%s",stu[num-1].em);

printf("nt<*修改信息成功*>n");

goto P;

}

else? goto P;

}

else

{

printf("nt沒(méi)有這個(gè)學(xué)號(hào),你可能記錯(cuò)了!n");

P:? printf("nt1.繼續(xù)修改n");

printf("nt2.退出修改n");

scanf("%d",&y);

switch(y)

{

case 1:goto K;

default:break;

}

}

}

查詢學(xué)生信息模塊

此模塊可以查詢已存儲(chǔ)的學(xué)生信息。

void chakan( )?? //查看信息函數(shù)

{

int x=1,y=2,z=2,i,num,num2;

char name;

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沒(méi)有這個(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;

}

}

}

if(x==2)?? //姓名查詢

{

U:printf("t請(qǐng)輸入查看的姓名: ");

scanf("%s",&name);

for(i=0;i<=100;i++)

{

if(strcmp(&stu[i].name,&name)==0)?? //字符串比較

if(stu[i].num!=0)?? //判斷這個(gè)學(xué)號(hào)是否存在

{

printf("t這個(gè)姓名的信息如下nn");

printf("學(xué)號(hào)t姓名t性別t年齡t出生日期t住址t手機(jī)號(hào)ttE-mailln");

printf("%dt%st%st%dt%st%st%st%sn",

stu[i].num,stu[i].name,stu[i].sex,stu[i].age,

stu[i].bro,stu[i].add,stu[i].phone,stu[i].em);

goto? Q;

}

}

if(i==101)

{

printf("nt沒(méi)有這個(gè)行嗎,你可能記錯(cuò)了!n");

Q:printf("nt1.繼續(xù)查看n");

printf("nt2.退出查看n");

scanf("%d",&z);

switch(z)

{

case 1:goto U;

default:break;}

}

}

}

3功能測(cè)試

3.1 測(cè)試儀器與設(shè)備

Visualc++6.0

3.2 性能指標(biāo)測(cè)試

  1. 3.2.1在主菜單中選擇1

當(dāng)用戶輸入1并按回車(chē)鍵后,即可進(jìn)入添加學(xué)生信息界面。若是第一次運(yùn)行該程序,應(yīng)能實(shí)現(xiàn)從鍵盤(pán)輸入學(xué)生信息到數(shù)組中,

當(dāng)輸入一名學(xué)生的信息完成時(shí)會(huì)彈出以下界面,選擇1繼續(xù)添加,選擇2退出添加

  1. 3.2.2在主菜單中選擇2

當(dāng)選擇2時(shí),界面會(huì)彈出全部學(xué)生的信息如下圖

  1. 3.2.3在主菜單中選擇3

當(dāng)選著3時(shí),界面會(huì)彈出要修改學(xué)生的學(xué)號(hào)進(jìn)行查詢修改的界面如下圖

學(xué)號(hào)為1的學(xué)生信息

  1. 3.2.4在主菜單中選擇4

選擇4界面會(huì)彈出如下圖

選擇1可以刪除該學(xué)生的信息,2取消刪除學(xué)生的信息

  1. 3.2.5在主菜單中選擇5

當(dāng)選擇5時(shí)會(huì)彈出以下界面,1按照學(xué)號(hào)查詢,2按照姓名查詢

當(dāng)輸入的學(xué)號(hào)錯(cuò)誤時(shí)會(huì)出現(xiàn)以下界面

輸入學(xué)號(hào)正確時(shí)會(huì)彈出以下界面

  1. 3.2.6在主菜單中選擇6

當(dāng)選擇6時(shí)退出本系統(tǒng),彈出的界面如下圖

需要全部資料可在我的資源里下載,包括程序文檔、源程序。

需要完整的資料可在我的資源里下載,也可以加入我的紛傳圈子,里面有資源壓縮包的百度網(wǎng)盤(pán)下載地址及提取碼。

紛傳點(diǎn)擊用微信打開(kāi)即可,過(guò)程有點(diǎn)繁瑣請(qǐng)見(jiàn)諒。

  • 有需要資料的可了解一下.docx

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
FTLF1323F2MTR 1 Finisar Corporation Transceiver, 1261nm Min, 1360nm Max, 156Mbps(Tx), 156Mbps(Rx), LC Connector, Through Hole Mount
$79.11 查看
CPC1718J 1 IXYS Corporation Transistor Output SSR, 1-Channel, 2500V Isolation, ROHS COMPLIANT, ISOPLUS264, 4 PIN
$6.72 查看
AD73311ARSZ-REEL 1 Rochester Electronics LLC SPECIALTY TELECOM CIRCUIT, PDSO20, SSOP-20
$9.29 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜