學(xué)生檔案管理系統(tǒng)計算機C語言課程設(shè)計方案_第1頁
學(xué)生檔案管理系統(tǒng)計算機C語言課程設(shè)計方案_第2頁
學(xué)生檔案管理系統(tǒng)計算機C語言課程設(shè)計方案_第3頁
學(xué)生檔案管理系統(tǒng)計算機C語言課程設(shè)計方案_第4頁
學(xué)生檔案管理系統(tǒng)計算機C語言課程設(shè)計方案_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

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

1.課程設(shè)計的目的

本課程設(shè)計的目的就是要通過一次集中的強化訓(xùn)練,使學(xué)生能及時鞏固已學(xué)口勺C語

言知識,補充未學(xué)的但又必要的內(nèi)容。進行課程設(shè)計目的在于加深對程序設(shè)計基礎(chǔ)中基

礎(chǔ)理論和基本知識的理解,增進理論與實踐的結(jié)合,深入提高程序設(shè)計日勺能力。詳細(xì)目

的如下:

1.使學(xué)生更深入地理解和掌握C語言中的有關(guān)基本概念,程序設(shè)計思想和措施。

2.培養(yǎng)學(xué)生綜合運用所學(xué)知識獨立完畢課題的能力。

3.培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢查理論,全

方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。

4.提高學(xué)生對工作認(rèn)真負(fù)責(zé)、一絲不茍,對同學(xué)團結(jié)友愛,協(xié)作攻關(guān)的基本素質(zhì)。

5.培養(yǎng)學(xué)生從資料文獻、科學(xué)試驗中獲得知識的能力,提高學(xué)生從他人經(jīng)驗中找

到處理問題口勺新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力。

6.對學(xué)生掌握知識H勺深度、運用理論去處理問題口勺能力、試驗?zāi)芰?、課程設(shè)計能

力、書面及口頭體現(xiàn)能力進行考核。

2.設(shè)計方案論證

2.1設(shè)計思緒

我們組所設(shè)計的這個學(xué)生信息管理系統(tǒng),是用來管理學(xué)生的個人基本信息的。

功能包括:

(1)錄入學(xué)生信息:輸入學(xué)生的學(xué)號,姓名,年齡,性別,出生日期,住址,,

郵箱等個人信息。

(2)顯示學(xué)生信息、:顯示已輸入和排序后學(xué)生H勺學(xué)號,姓名,年齡,性別,出

生日期,住址,,郵箱等個人信息。

(3)查尋記錄:包括根據(jù)學(xué)號查詢和根據(jù)姓名查詢這兩種查詢。根據(jù)學(xué)號或姓

名查尋需要日勺學(xué)生記錄,

(4)修改記錄:更改已經(jīng)有的學(xué)生的學(xué)號,姓名,年齡,性別,出生日期,住

址,,郵箱等個人信息。

(5)刪除記錄:刪除一種學(xué)生日勺記錄。

(6)排序?qū)W生信息:包括兩種排序。對年齡和學(xué)號從小到大進行排序?qū)W生的各

項個人信息。

(7)文獻保留:將輸入的學(xué)生信息保留到一種文獻中。

年級成績的功能包括:

(8)文獻讀取:將保留到文獻中的數(shù)據(jù)重新導(dǎo)入。

我所負(fù)責(zé)的是(3)、(4)、(5)這三項功能的設(shè)計

2.2設(shè)計措施

2.2.1創(chuàng)立工程框架

(1)創(chuàng)立工程:單擊菜單“文獻,新建“命令,打開“新建”對話框,單擊“工程”選項

卡,選擇“Win32ConsoleApplication”,輸入工程名,設(shè)置途徑?!癢in32Console

Application”對話框已經(jīng)打開,點擊創(chuàng)立一種新工程“新建工程信息”對話框已經(jīng)打開,

點擊確定。

(2)新建文獻:單擊菜單“文獻,新建”命令,打開"新建''對話框,單擊“文獻”選

項卡,選擇“C++SourceFile”,輸入文獻名。

2.2.2創(chuàng)立表

Student構(gòu)造體闡明表

編號字段名稱數(shù)據(jù)類型字段大小字段含義

1id數(shù)組10學(xué)生學(xué)號

2name數(shù)組30學(xué)生姓名

3ageint學(xué)生年齡

4sex數(shù)組3學(xué)生性別

5birthday數(shù)組9出生日期

6add數(shù)組20學(xué)生地址

7tel數(shù)組15號碼

8email數(shù)組15郵箱地址

程序設(shè)計構(gòu)成框圖

學(xué)生信息錄入

學(xué)生信息瀏覽

/?信息修改

學(xué)號查詢f信息編輯

、信息刪除

信息查詢

f信息修改

‘姓名查詢f信息編輯

I信息刪除

主菜單

學(xué)號排序

信息排序Y

I年齡排序

(?~

文獻保留

文獻操作

十獻讀取

2.2.4流程圖

流程圖

2.2.5模塊設(shè)計

(1)查詢學(xué)生記錄模塊

用函數(shù)pr2(),cxid(),cxnameO,last()四個函數(shù)完畢此功能。

重要功能用來對學(xué)生的信息進行查詢。在主菜單中選擇“3”,進入查詢界面,有

兩種查詢供選擇。選擇“1”,按學(xué)號進行查詢,輸入要查詢的學(xué)生學(xué)號,即可顯示有

關(guān)該學(xué)生日勺所有信息包括學(xué)號,姓名,年齡,性別等。選擇“2”,按姓名查詢,輸入

要查詢的I學(xué)生姓名,即可顯示有關(guān)該學(xué)生的所有信息包括學(xué)號,姓名,年齡,性別等。

選擇“3”,返回主菜單。在本操作中用變量i判斷與否找到要找歐I學(xué)生,i值為1表達

一直查詢到找到要找的學(xué)生,i值為0查無此學(xué)生。當(dāng)在第一頁查詢不到要找的學(xué)生調(diào)

用函數(shù)last()一直查詢到最終一頁。

本模塊代碼:

voidpr2()

I

voidcxid();

voidcxnamc();

inta;

charch;

while(a)

(

systcm("cls");

printf("\t\t******學(xué)生信息管理系統(tǒng)******");

printf(M\t\t查詢0);

printf("\n您想要:");

printf("\n\t\t1.按學(xué)號查詢)

printf("\n\t\t2.按姓名查詢)

printf("\n\t\t3.返回主菜單)

ch=getchar();

switch(ch)

case'r:cxid();break;

case'2':cxname();break;

case'3':a=0;break;

1

11

voidlast(intn)

if(n==stunum)

systemC'cls");〃清屏

printf("\t\t******學(xué)生信息管理系統(tǒng)******");

printf(H\n\t\t查詢");

printf("\n\t\t已查詢到末尾。");

printf("\n\t\tPrcssanykeytocontinue..");

print「("\n\l\l****************************、!!'),

voidcxid()

{intn,j,i=O;

charnum[10J;

system("clsM);

printf("\t\t******學(xué)生信息管理系統(tǒng)******”);

printf("\n\t\t查詢");

printf(”\n請輸入想要查詢的學(xué)號:”);

scanf(n%s",num);

for(n=0;n<stunum;n-4-)

(

if(strcmp(num,stu[n].id)==O)

{

systcm("cls");

printf("學(xué)號\t\t姓名\t年齡\t性別\t出生年月\n”);

printf(n%s\tu,stu[n].id);

printf("%s\t",stu[n].name);

printf("%d\t",stu[n].age);

printf(n%s\t",stu[n].sex);

printf("%s\nn,stulnj.birthday);

printf("\n\n\n學(xué)號\t\t電話\tE-mail\t\M地址\n");

printf("%s\t",stu[n].id);

prinlf("%s\t",stu[nj.tel);

prinlf("%s\l",stu[n].email);

printf(H%s\n",stu[n].add);

i++;

if((j=editpr(n))==O)

break;

)

)

if(i==O)

printf(”\nError:無此學(xué)生。”);

if(j!=O)

last(n);

getchar();

getchar();

(

voidcxname()

(

intn,j,i=();

charm[30];

system("cls");

學(xué)生信息管理系統(tǒng)******");

printf("\n\t\t查詢");

printf(”\n請輸入想要查詢時姓名:”);

scanf("%s”,m);

for(n=0;n<stunum;n-+)

if(strcmp(m,stu[n].namc)==O)

system(Hcls");

printf("學(xué)號\t\t姓名\t年齡\t性別\t出生年月\n”);

printfC'%s\tn,stu[n].id);

printf("%s\t",stu[n].name);

printf("%d\t",stu[n].age);

printf(H%s\t",stu[n].sex);

printf("%s\n”,stu[n].birthday);

printf(H\n\n\n學(xué)號\t\t電話\tE-mail\t\t\t地址\n");

printf(0%s\tu,stu[n].id);

printf(n%s\tu,stu[n].tel);

printf(,'%s\t,,,stu[n].email);

printf(1,%s\nH,stu[n].add);

i++;

if((j-cditpr(n))=^O)

break;

1

I

if(i==O)

printf(”\nError:無此學(xué)生。

if(j!=O)

last(n);

getchar();

getchar();

(2)刪除學(xué)生記錄模塊

用函數(shù)voiddcl(),cditpr()兩個函數(shù)實現(xiàn)這個功能。

功能是用來刪除學(xué)生信息。在查詢界面進行查詢后進入到下面這個界面

I"D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe"

千甘姓名年齡性別出生年月

F1059001楊蕾21女19910731

學(xué)號電話E-nail地址

銀嶺

F10590014678237130

夢想

改學(xué)

1息

2息

3S:

下H

4杳n

選擇“2”可以刪除該生的信息。

代碼如下:

inteditpr(intn)

(

inta=l;

charch;

while(a)

(

getchar();

printf("\n您想要:");

primf(”\n\t\tl.修改學(xué)生信息)

printf("\n\t\t2刪除該條信息”);

printf(”\n\N3.返回上級菜單,

printf(”\n\t\t4.查看下條信息)

ch=gctchar();

switch(ch)

{

caseT:edit(n),a=O;break;

case'2':del(n),a=0;break;

case'3':a=0;return(0);break;

case'4':a=0;break;

}

)

)

voiddcl(intn)

(

inta;

for(a=n;a<stunum;a++)

(

strcpy(stu[a].id,stu[a+l].id);

strcpy(stu[a].name,stu[a+1J.namc);〃拷貝后一種學(xué)生信息到前一種人上。

stu[a].age=stu[a+IJ.age;

strcpy(stu[a].sex,stu[a+IJ.sex);

strcpy(stu[a].birthday,stu[a+1].birthday);

strcpy(stu|a].add,stu[a+l].add);

strcpy(stu[a].tcl,stu[a+I].tcl);

strcpy(stu[a].email,stu[a+1J.cmail);

I

stunum—;

printf("刪除成功!pressEntertocontinue..");

1

(3)修改學(xué)生記錄模塊

用editpr(),edit()以及editid(),editname(),用itid()等有關(guān)函數(shù)實現(xiàn)該功能。

在查詢界面查詢一種學(xué)生信息后進入到信息編輯頁面,選擇“1”,進入修改信息界面,

有編號1?8這8個選項分別對應(yīng)“學(xué)號”、“姓名”、“性別”、“年齡”、“出生年月”、“地

址”、“"、“E-mail”可供選擇修改。

代碼如下:

voidedit(intn)/*編輯函數(shù)*/

(

charch;

inta=l,b;

while(a)

(

system(〃cls〃);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)******‘‘);

printf('\n\t\t修改〃);

printf("\n請輸入你想修改的|內(nèi)容:");

printf(〃\nl.學(xué)號2.姓名3.年齡4.性別5.出生年月6.地址7.

8.E-mail\n/z);

getchar();

ch=getchar();

switch(ch)

case'I):editid(n);break;

case,i:editname(n);break;

case'3':editage(n);break;

case>:editsex(n);break;

caseJ5,:editbir(n);break;

case'6':editadd(n);break;

caseJ71:edittel(n);break;

case,:editemai1(n);break;

)

b=l;

while(b)

printf("\n確認(rèn)嗎?(y/n)〃);

getchar();

ch二getchar();

switch(ch)

case'Y':

case*y):b=O;a=O;break;

case'N':

case'n':b=0;break;

)

}

)

)

voiddel(intn)/*刪除函數(shù)*/

(

inta;

for(a=n;a<stunum;a++)

(

strcpy(stu[a].id,stu[a+l].id);

strcpy(stu[a].name,stu[a+l].name);〃拷貝后一種學(xué)生信

息到前一種人上。

stu[a].age=stu[a+l].age;

strcpy(stu[a],sex,stu[a+l].sex);

strcpy(stu[a],birthday,stu[a+l].birthday);

strcpy(stu[a],add,stu[a+l].add);

strcp}r(stu[aj.tel,stuLa+1].tel);

strcpy(stu[a].email,stu[a+l].email);

}

stunum—;

printf(〃刪除成功!pressEntertocontinue..\

)

3.設(shè)計成果與分析

l.主菜單

,"D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe"

學(xué)生信息管理系統(tǒng)******

U1.0.0

您想要:

唁息

1需

2信

普S

3唁

4序-T學(xué)-

5數(shù)

6入

7理

主菜單

2.查詢菜單

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

-一

A想

學(xué)

1號

2名

3菜

查詢菜單

3.查詢學(xué)號為f1059001的學(xué)生的信息

*"D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe"

MXXXMM

請輸入想要查詢的學(xué)號:F1059001-

■'D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe

"Oi-"0出生年月

E1059001ITS

楊蕾2119910731

徉號電話E-mail地址

fl059001467823713P鐵嶺

查詢學(xué)號為fl059001的學(xué)生的信息

4.查詢姓名為張強的學(xué)生的信息

'D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\frf\Debug\fff.exe"

******學(xué)生信息管理系統(tǒng)

查詢

情輸入想要查詢的姓名:張強

■"D:\ProgramFiles\MicrosoftVisualStudio\MyPrqjects\fff\Debug\fff.exe"

M篇17M2年齡性別出生年月

張強16男19950708

電話E-mail

^059117

15840524874943146418(?qq.con

查詢姓名為張強的學(xué)生的信息

5.將學(xué)生楊蕾的年齡變?yōu)?0

I'D:\ProgramFiles\MicrosoftVisualStudio\MyPrqjects\fff\Debug\fff.exe"

年齡性別出生年月

£1059001楊蕾21女19910731

字號電話E-mail地址

,10590014678237130鐵嶺

您想

1息

2除

回a

3n

下n

4』

'D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe"

******學(xué)生信息管理系統(tǒng)******

修我

理的鬻尊霸:4.性別5.出生年月6.地址7.電話8.E-mail

3

新年齡:20

確認(rèn)嗎?<y/n)

"D:\ProgramFiles\MicrosoftVisualStudio\MyPrqjects\fff\Debug\fff.exe"

o

子節(jié)年齡性別出生年月

£1059001if20女19910731

學(xué)號電話E-mail地址

£10590014678237130鐵嶺

將學(xué)生楊蕾的年齡變?yōu)?0

6.刪除學(xué)生張強H勺信息

"D:\ProgramFiles\MicrosoftVisualStudio\MyProjects\fff\Debug\fff.exe"

年齡性別出生年月

£1059117張強16男19950708

學(xué)號電話E-mail地址

F10591179431464180合肥

您想要:

修生

■"D:\ProgramFiles\MicrosoftVisualStudio\MyPrpjects\fff\Debug\fff.exe"

MXM*X*學(xué)生信息管理系統(tǒng)”

查詢

已查詢到末尾。

Pressanykeytocontinue..

■*D:\ProgramFiles\MicrosoftVisualStudio\MyPrqjects\fff\Debug\fff.exe"

E另

號l

女出生年月

張17

-1宇

£1059220麗19940421

19男

F1059227君19920321

20女

F1059230田19911015

t20女

F1059001瞿19910731

甲22

F1059223章19900902

2O

子節(jié)電話E-mail

F10592205355738590盤

、

F10592276782134830八

荊^

F1059230101563735P楚^

F10590014678237130八

F1059223750367321(?uu.uum

刪除學(xué)生張強的I信息

4.設(shè)計體會

通過將近的一種星期的課程設(shè)計,在我們小組共同不竭的努力下,簡樸向?qū)W生信息

管理系統(tǒng)基本完畢,系統(tǒng)基本功能基本實現(xiàn),測試運行也基本正常該系統(tǒng)基本上完畢

了對學(xué)生信息錄入,查看,查詢,排序,修改,刪除,保留成文獻和從文獻中讀取數(shù)據(jù)

這些基本的功能。

在這個課程設(shè)計中,我重要負(fù)責(zé)查詢,刪除和修改這三個模塊。其中包括對學(xué)生姓

名和學(xué)號這兩種方式查詢,修改學(xué)生姓名,學(xué)號等信息,刪除學(xué)生信息等功能。

在查閱部分資料逐漸理解系統(tǒng)需求后,我參照李牧老師給我們發(fā)口勺需求分析規(guī)格闡

明書、系統(tǒng)總體設(shè)計闡明書和詳細(xì)設(shè)計闡明書,編寫了一種簡樸口勺總體設(shè)計和詳細(xì)設(shè)計

闡明書。接著便進入了系統(tǒng)詳細(xì)設(shè)計和編碼階段,在這個階段,由于自己動手局限性和

對開發(fā)工具的陌生,最重要的是,對知識還不是純熟地掌握,系統(tǒng)碰到了諸多大大小小

的問題,如怎樣使用構(gòu)造體,對各個自定義函數(shù)的調(diào)用。身為組長,我獨自做了三個模

塊啊設(shè)計:雖然工作分量比較大,但我還是準(zhǔn)時完畢了,內(nèi)心感到很欣慰。

通過本次課程設(shè)計,我更深刻的認(rèn)識到了教學(xué)實踐在大學(xué)課程中的重要性,同步也

發(fā)現(xiàn)到了自己在學(xué)習(xí)方面存在的局限性之處,在后來的學(xué)習(xí)中我會努力改善這些局限

性,不停提高自己的動手實踐能力。

老師認(rèn)真負(fù)責(zé)歐I工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);同步也很感謝同學(xué)、

朋友以及小組組員給我H勺指導(dǎo)和協(xié)助,使我可以完畢我的模塊工作。

再次感謝所有予以了我協(xié)助口勺老師、同學(xué)們!

5.參照文獻

[1]王敬華,林萍,陳靜.C語言程序設(shè)計教程[M].北京:清華大學(xué)出版社,

2023.10:141-167

[2]譚浩強.C程序設(shè)計語言?。?.北京:機械工業(yè)出版社,2023.4:205-256

[3]李邦幾胡金桂王敬華.最新C語言實用教程[M].北京:化學(xué)工業(yè)出版社,

1996.3:35-4366-97132-148

[4]李軍民.新編C語言程序設(shè)計教程(第二版)[M].西安:西安電子科技大學(xué)出

版社,2023.08:68~93148-171

附錄:部分源程序

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<stdlib.h>

#defineMAX100

intstunum=0;

structstudent〃定義一種構(gòu)造體

(

charid[10];

charname[30];

intage;

charsex[3];

charbirthday[9];

charadd[20];

chartel[15];

charemail[15];

}stu[100];

voidpr()/*輸出主菜單函數(shù)*/

system("cls〃);〃清屏

printf(〃\l\l******學(xué)生信息管理系統(tǒng)******");

printf(〃\n\t\tV1.0.0〃);

printf(〃\n您想要:〃);

printf(〃\n\t\t1.錄入學(xué)生信息〃);

printf(〃\n\t\t2.瀏覽學(xué)生信息〃);

printf("\n\t\t3.查詢學(xué)生信息〃);

printf("\n\t\t4.排序?qū)W生信息〃);

printf(〃\n\t\t5.保留數(shù)據(jù)〃);

printf(〃\n\t\t6.讀入數(shù)據(jù)〃);

printf(〃\n\t\t7.退出信息管理〃);

printf(〃\n\t\t****************************\n〃);

)

voidpr2()/*輸出查詢菜單函數(shù)*/

voidcxidO;

voidexname();

inta;

charch;

while(a)

system(〃cls〃);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)*****—');

printf查詢〃);

printf("\n您想要:〃);

printf(〃\n\t\t1.按學(xué)號查詢〃);

printf(〃\n\t\t2.按姓名查詢〃);

printf(〃\n\t\t3.返回主菜單〃);

printf(,\n\t\t****************************\n〃);

ch=getchar();

switch(ch)

case'r:cxid();break;

case'2':exname();break;

case'3>:a=0;break;

})

voidpr3()/*輸出排序菜單函數(shù)*/

(

voidsortl();

voidsort2();

inta;

charch;

while(a)

(

system(〃cls〃);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)******'');

printfCAtXt排序〃);

printfC\n您想要:〃);

printfC\n\t\t1.按學(xué)號排序〃);

printf(z/\n\t\t2.按年齡排序〃);

printf(〃\n\t\t3.返回主菜單〃);

printf(〃\n\t\l****************************\n〃);

ch二gelchar();

switch(ch)

{

case'I*:sortl();break;

case'2':sort2();break;

case'3':a=0;break;

}}}

voidfilcopcnO/*文獻打開函數(shù)*/

(

FILE*fp;

intn;

if((fp=fopen("data”,〃r+〃))==NULL)

fp=fopen(〃data〃,"w+〃);

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

frcad(&.stu[n],sizcof(struct

student),1,fp);fread(&stunum,4,1,fp);fclose(fp);

)

voideditid(intn)/*編輯學(xué)號函數(shù)*/

(

printf("\n新學(xué)號:");

scanf(〃%s〃,stu[n].id);

}

voideditname(intn)/*編輯姓名函數(shù)*/

(

printf("\n新姓名:“);

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

voideditage(intn)/*編輯年齡函數(shù)*/

printf(〃\n新年齡:〃);

scanf(〃%d〃,&stu[n].age);

}

voidcditscx(intn)/*編輯性別函數(shù)*/

(

printf(〃\n新性別:〃);

scanf(,z%sz/,stu[n].sex);

)

voideditbir(intn)/*編輯出生日期函數(shù)*/

(

printf(〃\n新出生年月〃);

scanfstu[n].birthday);

)

voideditadd(intn)/*編輯住址函數(shù)*/

(

printf(〃\n新地址:〃);

scanfstu[n].add);

)

voidedittel(intn)/*編輯函數(shù)*/

printf(〃\n新:〃);

scanf(,z%sz/,stu[n].tel);

}

voidcditemail(intn)/*編輯郵箱地址函數(shù)*/

(

printf(〃\n新E-mail:〃);

scanf(〃%s”,stu[n].email);

)

voidlast(intn)/*顯示翻頁至末尾函數(shù)*/

(

if(n-stunum)

system(〃cls〃);〃清屏

printf(〃\t\t******學(xué)生信息管理系統(tǒng)******‘‘);

printfC\n\t\t查詢〃);

printf('\n\t\t已查詢到末尾?!?;

primf(〃\n\i\tPrcssanykeyrocontinue..z,);

printf(〃\n\t\t*************************頭**\n〃);

)

voidedit(intn)/*編輯函數(shù)*/

charch;

inta=l,b;

while(a)

system(^cls^);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)******'');

printf(z/\n\t\t修改〃);

printf(〃\n請輸入你想修改歐I內(nèi)容:〃);

printf(〃\nl.學(xué)號2.姓名3.年齡4.性別5.出生年月6,地址7.

8.E-mail\n,z);

getchar0;

ch=getchar();

switch(ch)

case'r:editid(n);break;

case'2':editname(n);break;

case'3':editage(n);break;

case'4':editsex(n);break;

case>5,:editbir(n);break;

case'6':editadd(n);break;

case'7':edittel(n);break;

case'8':editemai1(n);break;

}

b=l;

while(b)

(

printf(〃\n確認(rèn)嗎?(y/n)〃);

getchar();

ch=gctchar();

switch(ch)

(

case'Y':

caseJy*:b=0;a=0;break;

case'N':

case'n':b=0;break;

}

)

}

}

voiddel(intn)/*刪除函數(shù)*/

(

inta;

for(a=n;a<stunum;a++)

strcpy(stu[a].id,stu[a+l].id);

strcpy(stu[a].name,stu[a+l].name);〃拷貝后一種學(xué)生信

息到前一種人上。

stu[a].age=stu[a+l].age;

strcpy(stu[a],sex,stu[a+l].sex);

strcpy(stu[a].birthday,stu[a+l].birthday);

strcpy(stu[a],add,stu[a+l].add);

strcpy(stu[a].tel,stu[a+l].tel);

strcpy(stu[a],email,stu[a+l].email);

)

stunum一;

printf(〃刪除成功!pressEntertocontinue../z);

)

inteditpr(intn)/*輸出編輯菜單函數(shù)*/

(

inta=l;

charch;

while(a)

(

getchar();

printf(〃\n您想要:〃);

printf(〃\n\t\tl.修改學(xué)生信息〃);

printfC\n\t\t2.刪除該條信息〃);

printfC\n\t\t3.返回上級菜單〃);

printfC\n\t\t4.查看下條信息〃);

ch=getchar();

switch(ch)

(

caseJT:edit(n),a=0;break;

case,2):del(n),a=0;break;

case?3*:a=0;return(0);break;

case'4':a=0;break;

)

)

}

voidcxid()/*查詢學(xué)生學(xué)號函數(shù)*/

{intn,j,i=0;

charnum[10];

system(〃cls〃);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)*****?〃);

printf(,z\n\t\t查詢");

printf(〃\n請輸入想要查詢口勺學(xué)號:〃);

scanf(〃%s〃,num);

for(n=0;n<stunum;n++)

if(strcmp(num.stu[n].id)—0)

system(^cls^);

printf(〃學(xué)號\t\t姓名\t年齡\t性別\t出生年月\n〃);

printf(〃%s\t〃:stu[n].id);

printf(〃%s\t”,stu[n].name);

printf(/z%d\t/z,stu[n].age);

printf(z/%s\tstu[n].sex);

,,,,

printf(%s\n!stu[n].birthday);

printf(〃\n\n\n學(xué)號\t\t電話\tE-mail\t\t\t地址\n〃);

printf(,z%s\t,z.stu[n].id);

printf(z/%s\t,z.stu[n].tel);

printf(,/%s\t/z.stu[n].email);

printf(,z%s\n/z.stu[n].add);

i++;

if((j=editpr(n))==O)

break;

}

}

if(i=O)

printf(〃\nError:無此學(xué)生?!?;

if(j!=O)

last(n);

getchar();

getchar();

}

voidcxnamcO/*查詢學(xué)生姓名函數(shù)*/

(

intn,j,i=0;

charm[30];

system(〃cls〃);

printf(〃\t\t******學(xué)生信息管理系統(tǒng)******");

printfC\n\t\t查詢〃);

printf(〃\n請輸入想要查詢?nèi)丈仔彰骸?;

scanf(〃%s〃,m);

for(n=0;n<stunum;n++)

{

if(stremp(m,stu[n].name)==0)

{

system(〃cls〃);

printf(〃學(xué)號\t\t姓名\t年齡\t性別\t出生年月\n〃);

printf(〃%s\t":stu[n].id);

printf(,z%s\t”,stu[n].name);

printf(〃%d\t",stu[n].age);

printf(〃%s\t”,stu[n].sex);

printf("%s\n":stu[n].birthday);

printfC\n\n\n學(xué)號\t\t電話\tE-mai地址\n〃);

printf(〃%s\t〃:stu[n].id);

printf("%s\t":stu[n].tel);

printf(〃%s\t〃:stu[n].email);

printf(〃%s\n〃:stu[n].add);

i++;

if((j=editpr(n))==0)

break;

)

)

if(i==0)

printf(〃\nError:無此學(xué)生?!?;

if(j!=O)

last(n);

getchar();

getchar();

}

VOid5。=口()/*學(xué)號排序數(shù)據(jù)函數(shù)*/

(

structstudenttemp;

inti,j;

for(i=l;i<stunum;i++)

for(j=l;j<=stunum-i;j++)

if(strcmp(stu[j-1].id,stu[j].id)>0)

temp=stu[j];

stu[j]=stu[j-l];

stu[j-l]=temp;

)

}

)

printf(〃排序以完畢進入主菜單功能2可進行顯示\n〃);

system("pause");

system("cls〃);

)

voidsort2()/*什齡排序數(shù)據(jù)函數(shù)*/

(

structstudenttemp;

inti,j;

for(i=l;i<stunum;i++)

(

for(j=l;j<=stunum-i;j++)

if(stu[j-l].age>stu[j].age)

temp=stu〔j];

stu[j]=stu[j-l];

stu[j-l]=tcmp;

)

}

)

printf(〃排序以完畢進入主菜單功能2可進行顯示\n〃);

system("pause");

system(〃cls〃);

)

voidwriteinfoO/*錄入數(shù)據(jù)函數(shù)*/

{inta,n=l,用;

charch;

whi1e(n)

{a=stunum;

system(〃cls〃);

printfC\nID:9;

scanf(〃%s〃,stu[a],id);

printf(〃\nName:〃);

scanf(“%s〃,stu[a].name);

printfr\nAge:z,);

scanf(〃%d〃,&stu[a].age);

printf(〃\nSex:〃);

scanf(〃%s〃,stu[a].sex);

printf(,z\nBirthday(E.g20230101):〃);

scanf("%s〃,stu[a],birthday);

printf(〃\nAdd:ess:〃);

scanfstu[a],add);

printf(〃\nTel:");

scanf(〃%s〃,stu[a],tel);

printf(,z\nE-mail:;

scanf(〃%s〃,stu[a],email);

m=l;

while(m)〃做一種循環(huán),直到m=0時跳出

{system(〃cls〃);

printfC\nID,z);

printf("%s〃,stu[a].id);

printf(〃\nName:〃);

printfstu[a].name);

printf(〃\nAge:〃);

printf("%d〃,stu[a],age);

printf("\nSex:〃);

printf(〃為s〃,stu[a].sex);

printf(〃\nBirthday:〃);

printf("%s〃,stu[a],birthday);

printf("\nAddress:〃);

printfstu[a].add);

printf(//\nTel:,/);

printf("%s〃,stu[a],tel);

printf(z,\nE-mail/z);

printf(/z%s,z,stu[a],email);

printf(〃\n請選擇:1.確認(rèn)并繼續(xù)2.重新填寫3.放棄并返回4.確認(rèn)

并返回〃);

ch=getchar();

switch(ch)

(

case'I*:m=0;stunum++;break;

case*2):stunum,m=0;break;

caseJ3J:m=0,n=0;break;〃選擇此項時,m=0,循環(huán)

終止

caseJ:ITFO,n=O;a=stunum++;break;

)

}

}

voidviewinfoO/*查看數(shù)據(jù)函數(shù)*/

(

intcount=l,i,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論