• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

C語言程序設計-學生信息管理系統

2024/08/22
1419
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

共1個文件

題目:學生信息管理系統

1 ?系統設計

1.1設計要求

1.1.1設計任務

創(chuàng)建一個學生信息管理系統,讓它來運行和管理學生信息,進行對學生學號、姓名、性別、年齡、出生年月日、住址、電話、E—maill等信息的管理。

1.1.2性能指標要求

程序具有對學生信息的入錄、查詢、修改、刪除、保存、添加等功能,對于輸入錯誤的信息能得到提示并能進行選擇。

1.2設計思路及設計框圖

1.2.2設計思路

采用模塊化的程序設計方法,即將較大的任務按照一定的原則分為一個個較小的任務,然后分別設計各個小任務。

本學生信息管理系統采用結構體數組鏈表來實現,它由如下六大功能模塊組成:

添加學生信息函數:對學生的信息進行添加輸入。

全部學生信息函數:儲存已輸入全部學生的信息,進行管理。

修改學生信息函數:對已輸入學生的信息進行修改。

刪除學生信息函數:對已經不需要了的信息進行刪除處理。

查看學生信息函數:可以按不同方式查看學生的信息。

主函數:對其他子函數進行調用處理。

1.2.2總體設計框圖

2 ?各個模塊的設計

主函數main()

main()函數主要實現了對整個程序的運行控制,以及相關功能模塊的調用。菜單放在主函數中方便簡潔,用戶進入學生信息管理系統時,需要顯示主菜單,提示用戶進行選擇,完成相應任務。

main(? )?? //主函數

{

int a;

printf("nt? 〓〓〓〓〓〓〓〓? ☆? 學生信息管理系統???? ☆?? 〓〓〓〓〓〓〓〓nn");

printf("nt? 〓〓〓〓〓〓〓〓? ☆? 未經允許,不得使用?? ☆?? 〓〓〓〓〓〓〓〓n");

printf("tn");

T: printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 1.添加學生信息? ☆? ★ 〓〓〓〓〓〓〓〓 n");

printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 2.全部學生信息? ☆? ★ 〓〓〓〓〓〓〓〓 n");

printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 3.修改學生信息? ☆? ★ 〓〓〓〓〓〓〓〓 n");

printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 4.刪除學生信息? ☆? ★ 〓〓〓〓〓〓〓〓 n");

printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 5.查看學生信息? ☆? ★ 〓〓〓〓〓〓〓〓 n");

printf("nt 〓〓〓〓〓〓〓〓 ★? ☆ 6.退出本系統??? ☆? ★ 〓〓〓〓〓〓〓〓 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你的輸入不正確,請再次輸入: n");

}

printf("t謝謝您對本系統的支持和使用nn");

printf("t2019年9月10日nnnnnnn");

}

添加學生信息函數

此函數實現學生信息的添加,將信息存入結構體數組中。

tianjia( )? //添加信息函數

{

int num,num2,i,x;

G:printf("t請輸入學號: ");

H:scanf("%d",&num);

V:if(num>100)

{

printf("n這個學號太大了!n請輸入1--100的學號:");

scanf("%d",&num);

if(num>100)goto V;

printf("n");

}

num2=looknum(num);

if(num==num2)? //判斷這個學號是否存在

{

printf("n這個學號已經存在,請重新輸入另一個學號。");

goto H;

}

i=num-1;

stu[i].num=num;

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

scanf("%s",stu[i].name);

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

scanf("%s",stu[i].sex);

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

scanf("%d",&stu[i].age);

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

scanf("%s",stu[i].bro);

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

scanf("%s",stu[i].add);

printf("t請輸入手機號: ");

scanf("%s",stu[i].phone);

printf("t請輸入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;

}

}

全部學生信息模塊

此模塊對輸入學生的信息進來存儲管理。

quanbu()? //輸出全部信息函數

{

int i;

printf("tt全部學生信息如下nn");

printf("學號t姓名t性別t年齡t出生日期t住址t手機號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);

}

修改學生信息模塊

此模塊對已輸入的學生信息可以進行修改。

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

{

int x,y,num,num2;

K:printf("t請輸入要修改的學號: ");

scanf("%d",&num);

num2=looknum(num);

if(num==num2)? //判斷這個學號是否存在

{

printf("nt這個學號的信息如下nn");

printf("學號t 姓名t 性別t 年齡t 出生日期t 住址t 手機號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.確認修改");

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

scanf("%d",&x);

if(x==1)

{

stu[num-1].num;

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

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

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

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

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

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

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

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

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

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

printf("t請輸入手機號: ");

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

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

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

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

goto P;

}

else? goto P;

}

else

{

printf("nt沒有這個學號,你可能記錯了!n");

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

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

scanf("%d",&y);

switch(y)

{

case 1:goto K;

default:break;

}

}

}

查詢學生信息模塊

此模塊可以查詢已存儲的學生信息。

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

{

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

char name;

printf("t1.按照學號查詢nt2.按照姓名查詢n");

scanf("%d",&x);?? //輸入查看方式

if(x==1)??? //學號查找

{

M:printf("t請輸入查看的學號: ");

scanf("%d",&num);

num2=looknum(num);

if(num==num2)? //判斷這個學號是否存在

{

printf("t這個學號信息如下nn");

printf("學號t 姓名t 性別t 年齡t 出生日期t 住址t 手機號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沒有這個學號,你可能記錯了!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請輸入查看的姓名: ");

scanf("%s",&name);

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

{

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

if(stu[i].num!=0)?? //判斷這個學號是否存在

{

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

printf("學號t姓名t性別t年齡t出生日期t住址t手機號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沒有這個行嗎,你可能記錯了!n");

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

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

scanf("%d",&z);

switch(z)

{

case 1:goto U;

default:break;}

}

}

}

3功能測試

3.1 測試儀器與設備

Visualc++6.0

3.2 性能指標測試

  1. 3.2.1在主菜單中選擇1

當用戶輸入1并按回車鍵后,即可進入添加學生信息界面。若是第一次運行該程序,應能實現從鍵盤輸入學生信息到數組中,

當輸入一名學生的信息完成時會彈出以下界面,選擇1繼續(xù)添加,選擇2退出添加

  1. 3.2.2在主菜單中選擇2

當選擇2時,界面會彈出全部學生的信息如下圖

  1. 3.2.3在主菜單中選擇3

當選著3時,界面會彈出要修改學生的學號進行查詢修改的界面如下圖

學號為1的學生信息

  1. 3.2.4在主菜單中選擇4

選擇4界面會彈出如下圖

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

  1. 3.2.5在主菜單中選擇5

當選擇5時會彈出以下界面,1按照學號查詢,2按照姓名查詢

當輸入的學號錯誤時會出現以下界面

輸入學號正確時會彈出以下界面

  1. 3.2.6在主菜單中選擇6

當選擇6時退出本系統,彈出的界面如下圖

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

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

紛傳點擊用微信打開即可,過程有點繁瑣請見諒。

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

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
NC7WZ17P6X 1 Fairchild Semiconductor Corporation Buffer, LVC/LCX/Z Series, 2-Func, 1-Input, CMOS, PDSO6, 1.25 MM, ROHS COMPLIANT, EIAJ, SC-88A, SC-70, 6 PIN
$0.23 查看
PD69208T4ILQ-TR-LE 1 Microchip Technology Inc IEEE 802.3at/bt Type 4/PoH8 ports Fully Integrated PSE Manager Industrial Temp
$11.76 查看
OPB901W55Z 1 TT Electronics OPTEK Technology Logic Output Slotted Switch, 1-Channel, 9.53mm Slot Width, ROHS COMPLIANT PACKAGE-5
$7.31 查看

相關推薦