c語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第1頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第2頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第3頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第4頁(yè)
c語(yǔ)言課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、題目名稱:學(xué)生信息管理系統(tǒng)算法分析:1用結(jié)構(gòu)體標(biāo)出信息系統(tǒng)得成員:學(xué)生學(xué)號(hào),學(xué)生姓名,班級(jí), 成績(jī),排名2利用c語(yǔ)言得文件知識(shí)將系統(tǒng)得信息存放在 c盤下得“z u o ye、txt ”得文件夾下3定義各個(gè)子函數(shù)(1 )定義輸入信息函數(shù),將學(xué)生信息按一定格 式用s canf函數(shù)輸入(統(tǒng)計(jì)M個(gè)學(xué)生得信息);(2)定義輸出函數(shù),每?jī)蓚€(gè)表一頁(yè)直到最后一個(gè);(3 )定義信息查詢函數(shù)。a,定義按學(xué)號(hào)查詢函數(shù),如果輸入得學(xué) 號(hào)等于學(xué)生學(xué)號(hào)則輸出要查詢得信息;b,定義按姓名查詢函數(shù),如果輸入得姓名字符串等于其中一個(gè)學(xué)生得姓名字符串則輸出信息;c ,定義按班級(jí)查找函數(shù),如果輸入得數(shù)字等于其中學(xué)生得班級(jí)數(shù),則輸出

2、該信息;d ,定義按成績(jī)查找函數(shù),如果輸入得數(shù)字等于其中學(xué)生得 成績(jī)數(shù),則輸出該信息;e,定義查找總函數(shù),輸入一個(gè)數(shù)選擇查找方 式,1 4分別對(duì)應(yīng)調(diào)用abcd四個(gè)函數(shù).(4) 定義刪除信息函數(shù)。輸入得數(shù)字作為要?jiǎng)h除得學(xué)生學(xué)號(hào),輸 出要?jiǎng)h除得學(xué)生信息后選擇就是否刪除,刪除后將第g+1個(gè)得信息 賦給第g個(gè),輸出刪除后得信息表.(5) 定義信息修改函數(shù).輸入得數(shù)字等于要修改得學(xué)生學(xué)號(hào),輸 出要修改得學(xué)生信息后選擇就是否修改,用s wi tch,case語(yǔ)句選擇 要修改得項(xiàng)目,輸入 n, y決定就是否繼續(xù)直到不繼續(xù)修改,輸出學(xué) 生信息。(6) 定義信息統(tǒng)計(jì)函數(shù)。輸入一個(gè)數(shù)字作為成績(jī),比較M個(gè)學(xué)生成績(jī)就

3、是否等于輸入得數(shù)字,統(tǒng)計(jì)相等得個(gè)數(shù)n輸出。(7) 定義成績(jī)排序函數(shù)。用冒泡排序法將 M個(gè)學(xué)生得成績(jī)按從 大到小得順序排列后輸出.4定義主函數(shù)。調(diào)用讀取文件函數(shù),輸入數(shù)字1 5分別對(duì)應(yīng)調(diào) 用修改學(xué)生信息函數(shù),刪除學(xué)生信息函數(shù),查找學(xué)生信息函數(shù),統(tǒng)計(jì) 學(xué)生信息函數(shù),學(xué)生成績(jī)排行信息函數(shù),0表示退出系統(tǒng).最后調(diào)用保存文件函數(shù).結(jié)束程序流程設(shè)計(jì):學(xué)生信息管I理系統(tǒng)程序用結(jié)構(gòu)體說明各個(gè)成員定義各個(gè)子函數(shù)1-4代碼設(shè)計(jì):# i n c 1 ud e 定義信息查 詢函數(shù)保存文件 退出系統(tǒng) 結(jié)束程序義主函數(shù) 調(diào)用得子定義輸入輸 出函數(shù)Z定義按學(xué)號(hào), 姓名,班級(jí), 成績(jī)得函數(shù)switch,case語(yǔ)句選擇查詢方

4、式#incl u#i n clu定義修 改信息 函數(shù)定義刪除信息函數(shù)定義統(tǒng)計(jì) 函數(shù)疋義成績(jī)排序函數(shù)選擇要修 改得信息選擇要?jiǎng)h 除得學(xué)號(hào), 判斷就是 否刪除將第g+1 個(gè)信息賦 給第g個(gè)計(jì)數(shù),輸出n判斷就是 否繼續(xù)修 改直到不 繼續(xù),結(jié)束switch case 選擇devstdlib 、hd e#d e f i#defin e PAGE 2/ *學(xué)生信息結(jié)構(gòu)體類型*/ty pede f s t ru ctint num;/*學(xué)號(hào)* /* 班級(jí)/ 成績(jī)/排名*/) /* 文件得讀取 /int ban ji ;in t ch engj i;int pai min g ; ST UDENT ;int

5、readstude nts FILE *f p; /* 定義一個(gè)文件指針變量 /nt i=0 ;i f (fp= fopen (” zuoye、t x t ”,r ”)=NULL)/* 文件空判斷,fo p en打開一個(gè)文件* / p ri ntf(nn* * * * *庫(kù)存文件不存在!請(qǐng)創(chuàng)建”);r et u r n 0; while(fe o f( fp) !=1)/* 文件就是否結(jié)束 */ f re ad (& s t ude nts i , s i zeof (S TUD ENTS ,1 , fp ); /*讀取文件* /i f( s t u de nt s i n um= =0) /

6、 *學(xué)號(hào)就是否為零* / break ;els e i+ ;fc 1 ose(f p ) ; /* 關(guān)閉文件 */r etur n i ;void s ave stu d ents , int sum) / * 保存文件* / FIL E * fp ;i nt i ;i f ( (fp = fo p e n( z u oy e、t xt ,” wb) )= =NULL )/ *判 斷文件就是否為空* / p r int f (”讀文件錯(cuò)誤!n);e turn;for( i =0; i s u m;i+ )i f(fwrit e ( & s t ud ent s i , s ize o f (S

7、TUDE1N S), 1,fp) ! =1) /*向文件寫入得數(shù)據(jù)塊不等于1伙/p r i n t f (”寫文件錯(cuò)誤! n ”);f c l o se(fp);/ 輸入模塊 */int inp ut (STUDEN TS student s) int i =0;printf (” n錄入學(xué)生信息(最多!人n ,M);pI I I Illi - - - - n ) ;d o print f( n第 d 人,i+1);p r in tf ( n學(xué)生學(xué)號(hào):);sc a nf(%d, & student s i 、num) ;if(students i 、num=0)bre a k;printf (

8、” n學(xué)生姓名:);s canf( %s,student s i、name); n班級(jí): );s c an f (” d, &stu d entsi 、banji );pri n tf( ” n成績(jī): );s canf(%d, &st udentsi 、 chengji) ;printf( ” n排名:);scanf(” %d , &studentsi 、pa i mi ng);i+;w h ile (i M);p r intf (n- d 個(gè)學(xué)生信息輸入完畢!n,i);p rin t f (n按任意鍵返回主菜單! ”);getcha r() ;r etur n i ;/* 輸出模塊 /v o

9、 id ou t put(S T UDENTst ude n ts )int i=0, j=0, p age= 1 ;? pri n tf(nn 學(xué) 生 信 息 表 -第1頁(yè)口 n ”,page);/* 每?jī)蓚€(gè)一頁(yè)* /p rin t f (”學(xué)生學(xué)號(hào)- 姓名一-班級(jí)- 成績(jī)一一-排名n ”);p r intf ( - - - - - - - - - - - - - n”);doif(stud e nts i 、num =0)j+;i f( j %P AGE =0) pr in tf ( %12d %10s %2d % 3d %4 d n , s tude nts i、 num, studen

10、tsi 、 name,s t udentsi 、 banji , stude n tsi、 chen gj i, stude n t s i 、pai mi ng);p r intf( - - - - - - - - - - n”) ; e 1 s e print f(按任意鍵繼續(xù)! ”);g et ch ar ();pri nt f ( 、nn學(xué)生信息表-第 d 頁(yè)n n, +pag e);prin t f( ”學(xué)生學(xué)號(hào) -姓名- 班級(jí) - 成績(jī)排名n ”);prin t f ( - - - - - - n”) ; pr i ntf (” 12 d % 1 Os%2d % 3d %4d n

11、,stu dents i、num st u de n tsi 、n am e,s t ud en t s i、banj i, st ude nts i、che ng ji , students i 、 paimi ng);pri n tf( - - - - n);i +;w h ile(studen t s i、nu m M);pri n tf ( 按任意鍵返回主菜單! ”) ;getc h ar ();/* 學(xué)生信息查詢 * voi d find_ b y_n um(STUDENTS stude n ts , int s um) /* 按學(xué)號(hào)查 找*/ i n t i ,fi nd _num

12、 ;printf ( n請(qǐng)輸入要查找得學(xué)生學(xué)號(hào) : ) ;s c an f (” %d ,& find_num );f o r (i= 0 ; i sum i+ +)i f (s t uden ts i 、nu m=find n um)pri nt f (”這就是您所查找到得學(xué)生信息:n ”);p r intf( ”學(xué)生學(xué)號(hào)一-姓名-班級(jí) 成printf ( - p r i nt f (” 1 2d % 10s % 2d % 3d %4d n , s t ude nt si 、num studentsi 、name,s tude nts i、ba nji, s t ude nt s i、che

13、 ng j i , s t ud en tsi 、p aim i ng);print f (-n” ) ;brea k ;el s eprintf ( n未找到要查找得學(xué)生信息 , 按任意鍵返回!);getchar ();voifindb y na me(S TUDENTS t udents , i nt su m) /*按姓名查找*/in tc har find napr in t f (n請(qǐng)輸入要查找得學(xué)生姓名”);sca n f( ” %s, find n ame );f o r (i= 0 ;isum;i + +);name, f ind _name = 0)/? ? if(s trc

14、m p (st ud e n tsi字符串比較相等返回0*/? ? p rintf (”這就是您所查找到屬于該學(xué)生得信息:);? ? ? printf( 學(xué)生學(xué)號(hào) -姓名 -班級(jí)- 成績(jī)- -排名 n ”;? ? pri ntf ( n);? pr intf (” %12d %1 Os %2d %d % 4d n, s tude n ts i、num, s tudentsi、n a me,s tude nts i、banji, st u dent s i、ch e ngji ,s t udentsi、p a i m ing);rint f(n”);els eprin tf(” n未找到要查找得

15、學(xué)生信息,按任意鍵返回! ;;ge tchar();voidnd_b y_ba n ji(ST UDENTS stude n t s , i n t sum) /按班級(jí)查找 * intnt find _ban ji;請(qǐng)輸入要查找得學(xué)生班級(jí): );? ? ? if? p- 排名 ns canffor ( i = 0; iVsf in d_b anj i ;;um; i+ ;(student si 、banj i =find b anji )pr i n t f (這就是您所查找到屬于該班級(jí)得學(xué)生:);intf (學(xué)生學(xué)號(hào) -姓名-班級(jí) - 成績(jī);prin t f( ”n) ;? ? pri n

16、tf(” 1 2d %10s% 2d %3 d % 4d n”,studen tsi 、num,s t u d ents i、na me,student s i、banj i, s t ude nts i、chengji , st ude n t s i 、pai m ing);? pr i ntf (- - - - - - n”); ? ? else未找到要查找得班級(jí)信息, 按任意鍵返 p r i n tf( n回!);g etch a r ()? ? v o i d f i nd by _c hen g j i(STUDENTS stu dents ,i ntsum)/ 按成級(jí)查找 *?

17、int i;? int find_ c hengj i;? ? pr i ntf (” n請(qǐng)輸入要查找得學(xué)生成績(jī): ) ;? scanf( % d , &fi n d_chengj i) ;for (i= 0;isu m;i+)?if(stude nt si 、c h e ng ji = = fin d_ch e n gji)? ? printf( ”這就是您所查找到有該成績(jī)得學(xué)生 :);? pr int f ( 學(xué)生學(xué)號(hào) - 姓名 - - 班級(jí)- - 成績(jī)排名 n);printf( ” - - - - n);?p rint f(H%l 2d %10s% 2d % 3 d % 4d n , s

18、tude n t si 、nun, st udents i 、names tu de nts i 、 banji , st ud ent si 、 cheng j i, st u den t s i 、paim ing);prin t f ( ”n );el s eprin t f (” n未找到要查找得學(xué)生信息,按任意鍵返回!);g e tchar();d fi n d(S T UDENT st u dent s, i nt su m) /* 定義查找總函數(shù) */i ntchoi ce;print(”n您要按照哪種方式查找?n );/* 用 switch 語(yǔ)句*/p rintf( n1 、按

19、學(xué)生學(xué)號(hào)查找n ) ;p r intf (n2 、按學(xué)生姓名查找n);printf ( n、按學(xué)生班級(jí)查找n)prin t f( n4 、按學(xué)生成績(jī)查找prin t f( n0、退出 n);p r intf (” n請(qǐng)選擇(04):n);scanf( d”,choice );sw i t ch( c hoice ) ca s e 1 :findb y n u m (studen t s,su m);b r e a k;case2:find b yn ame( st u de nt s,sum); bre a k;c a se 3:f i nd by_b anji (s tudents, s u

20、m); br e ak;ca s e 4:i n d _by_che n gji (s tu de nt s, sum); b reak;c a se 0:b r e a k;/* 刪除信息模塊 */v oi ddel (STUDE NTS stu d ents 口 )int i,g, sumintd el_num;prntf (n請(qǐng)輸入要?jiǎng)h除得學(xué)生學(xué)號(hào) : ”);sca n f( ”% d, & de 1 _nun);o r (i = 0; isum; i+ )if(studentsi 、n u m= del_ nu m)/* 通過學(xué)號(hào)判斷 */prntf( 這就是您所要?jiǎng)h除學(xué)生信息:n ”

21、 );? pr i-排名n ”);ntf ( 學(xué)生學(xué)號(hào)- - 姓名 - -班級(jí)- - - - 成績(jī) - -p r intf( ”n );p r i nt f (” 12 d % 10s %2 d %3 d %4 d n ,st ude ntsi 、nu m,st u dentsi 、name ,? st ud ent s i、banji ,student s i 、cheng ji , s tudentsi 、 p a iming ) ;p r i nt f( -n );r int f (”您確認(rèn)要?jiǎng)h除嗎?);pri n tf (”按任意鍵繼續(xù)! ” );? ? ? g etchar( ) ;

22、printf (已成功刪除學(xué)生信息! );fo r (g =i ; g su m;g+)? ? students g = s t u dents g+1、;p r i ntf (”刪除后得信息表n);?pr int f (學(xué)生學(xué)號(hào) -姓名- 班級(jí) - 成績(jī)-排名 n );print f (- -n );n” ,s t udentsi 、 n? ? printf (” 12d %1 0s % 2d % 3d % 4dum, student si、n ame ,stude n ts i、b a n j i,s t u d ents i、c hengji,s tu den t si、p ai min

23、 g);pri n tf (”n”);/* 信息修改模塊 * voi dmodi f y(STUDEN students ,in t sum)dointi =0,choice , m odif y _nu m,f 1 a g ;p rin tf (”請(qǐng)輸入要修改得學(xué)生學(xué)號(hào) :);sca n f ( % d, &modify_n um);or (i=0 ; isi 、 ch eng ji,s繼續(xù)! n ” );/* 直到不修改結(jié)束統(tǒng)計(jì)某個(gè)成績(jī)得學(xué)i;inti nt count_che n g j i;i nt n =0;pr i nt f (請(qǐng)輸入一個(gè)成績(jī):n ”);s ca n f (” %d

24、 , &c ount_chengji);for (i= 0; i s u m;i+ +)if(studentsi、c hen gji = = c oun t _c hengji ) / * 計(jì)數(shù)*n +;b reak;pr in tf (統(tǒng)計(jì)出屬于該成績(jī)得一共有d個(gè)人n , n);/* 成績(jī)排序模塊 */void s ort(ST UDENTS s tude n ts , in t sum)STUDENT Sn t i,jn tf( ” n n學(xué)生信息-n n)in t f(-排名” );”學(xué)生學(xué)號(hào) - 姓名班級(jí) - - 成績(jī)p r in tf (”n ) ;o r (i =1;isum;i+)for ( j=i 1;j su m; j+)if (stu dent sj 、c he n gjistude nt s i、c hen gji )*冒泡排序法 */t= students j;stude n tsj=st ude nts i ;studen t s i = t;f or( i= 0;i v sum i +) prin t f

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論