![C程序設(shè)計實習報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/fea8e4d2-0c50-46da-b155-e877d4416e3f/fea8e4d2-0c50-46da-b155-e877d4416e3f1.gif)
![C程序設(shè)計實習報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/fea8e4d2-0c50-46da-b155-e877d4416e3f/fea8e4d2-0c50-46da-b155-e877d4416e3f2.gif)
![C程序設(shè)計實習報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/fea8e4d2-0c50-46da-b155-e877d4416e3f/fea8e4d2-0c50-46da-b155-e877d4416e3f3.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C程序設(shè)計實習報告題目:學生證管理系統(tǒng)學院:機電學院專業(yè):機械設(shè)計制造及其自動化姓名:奎奇班級學號:072095-05指導(dǎo)教師:徐凱2011年7月16日目錄一、需求分析31.1題目要求3二、總體設(shè)計32.1設(shè)計思想32.2運行平臺及開發(fā)環(huán)境32.3數(shù)據(jù)結(jié)構(gòu)42.4系統(tǒng)結(jié)構(gòu)簡圖43.1主函數(shù)43.2信息輸入53.3總信息的顯示63.4查詢信息63.4.1按學號查詢63.4.2按班級查詢73.5修改信息83.6刪除信息93.7統(tǒng)計信息93.7.1統(tǒng)計班級總?cè)藬?shù)93.7.2統(tǒng)計學院或?qū)I(yè)總?cè)藬?shù)103.7.3排序10四、測試結(jié)果分析104.1輸入信息部分效果圖104.2輸出總信息效果圖114.3查詢信
2、息效果圖124.4修改信息效果圖134.5刪除效果圖144.6統(tǒng)計信息效果圖15五、心得體會16六、參考文獻16七、附錄16一、需求分析1.1題目要求題目:學生證管理系統(tǒng)該系統(tǒng)應(yīng)該具有下列功能:(1) 錄入某位學生的學生證信息(2) 給定學號,顯示某位學生的學生證信息(3) 給定某個班級的班號,顯示該班所有學生的學生證信息(4) 給定某位學生的學號,修改該學生的學生證信息(5) 給定某位學生的學號,刪除該學生的學生證信息提供一些統(tǒng)計各類信息的功能輸入要求:應(yīng)用程序運行之后,在屏幕生顯示一個菜單。用戶可以根據(jù)需求,選定相應(yīng)的操作項目。進入每個操作后,根據(jù)應(yīng)用程序的提示信息,從鍵盤輸入相應(yīng)的信息。
3、輸出要求:(1) 應(yīng)用程序運行之后,要在屏幕上顯示一個菜單。(2) 要求用戶輸入數(shù)據(jù)時,要給出清、晰明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。提示:設(shè)計時可以采用結(jié)構(gòu)體類型和以為數(shù)組類型,用來保存學生證的內(nèi)容。二、總體設(shè)計2.1設(shè)計思想經(jīng)分析,整個系統(tǒng)可分為以下幾大塊:(1) 學生證信息的輸入和輸出:輸入輸出學號、班號、姓名、性另U、民族、學院、專業(yè)、生日、身份證號等信息。(2) 學生證信息的保存:在輸入、修改或刪除后,通過文件將學生的信息保存。(3) 學生證信息的的查詢:根據(jù)學號查詢某學生的信息或者根據(jù)班號查找該班所有學生的信息。(4) 學生證信息的修改:根據(jù)學號修改該學生的信息
4、。(5) 學生證信息的刪除:根據(jù)學號刪除該學生的信息。(6) 信息的統(tǒng)計:根據(jù)班號統(tǒng)計該班總?cè)藬?shù)、根據(jù)學院統(tǒng)計該學院的總?cè)藬?shù)或者根據(jù)專業(yè)統(tǒng)計該專業(yè)的總?cè)藬?shù)。(7) 信息的排序:按照學號從大到小對學生的信息進行排序。2.2運行平臺及開發(fā)環(huán)境此程序是在MicrosoftVisualC+軟件平臺上編譯的,具有集成開發(fā)環(huán)境,可提供編輯C語言,C+以及C+/CLI等等編程語言。VC+整合了便利的除錯工具,特別是整合了微軟視窗程式設(shè)計(WindowsAPI)、三維動畫DirectXAPI,Microsoft.NET框架2.3數(shù)據(jù)結(jié)構(gòu)綜合以上的分析及開發(fā)平臺特點,我決定采用結(jié)構(gòu)體數(shù)據(jù)結(jié)構(gòu),將學生的基本信息與
5、成績設(shè)計為結(jié)構(gòu)體數(shù)據(jù),用來存放多個學生的信息,把學生的姓名、學號、宿舍號、成績作為結(jié)構(gòu)體成員,從而實現(xiàn)信息之間的對應(yīng)輸入輸出。但要注意的是要用兩個不同的結(jié)構(gòu)體分別定義學生基本信息和學生成績,以便于后續(xù)的一些功能的實現(xiàn)。2.4系統(tǒng)結(jié)構(gòu)簡圖圖2-1三、詳細設(shè)計3.1主函數(shù)主函數(shù)的功能是對各個子函數(shù)進行調(diào)用,并且輸出一個菜單界面,只需按照菜單輸入相應(yīng)數(shù)字就可以選擇相應(yīng)功能。實現(xiàn)這一功能主要通過switch語句,首先通過printf函數(shù)打印出菜單,然后通過scanf函數(shù)輸入數(shù)字選擇菜單,經(jīng)過switch語句判斷調(diào)用相應(yīng)的函數(shù),從而實現(xiàn)預(yù)定的功能。3.2信息輸入在定義變量時采用結(jié)構(gòu)體數(shù)據(jù)結(jié)構(gòu),學號、班號
6、、生日、身份證號是整型,姓名、性別民族、學院、專業(yè)是字符型,采用字符型數(shù)組,但數(shù)組長度一定要足夠,否則會出現(xiàn)數(shù)據(jù)丟失錯誤,考慮到姓名性別的字符長度,定義它們?yōu)殚L度為20的字符數(shù)組。且由于涉及到學生一系列的的基本信息,將基本信息定義為結(jié)構(gòu)體。在將學生的基本信息輸入時,要將其保存為.txt文件,用來存放學生的信息。這時就涉及到文件的建立和寫入,由于fwrite、fread函數(shù)是以二進制形式將數(shù)據(jù)寫入、讀出文件的,所以在文件中會出現(xiàn)舌L碼,而fprintf、fscanf煩函數(shù)則會將ASCII碼轉(zhuǎn)化為二進制碼,不會出現(xiàn)亂碼,所以決定選取較為簡單的fprintf函數(shù)作為寫入文件的函數(shù)。首先定義一個指向文
7、件的指針,再定義一個整型的外部變量變量N,定義整形的外部變量是為了控制輸入的人數(shù),并用for函數(shù)進行循環(huán),在輸入數(shù)據(jù)之后當然,自動調(diào)用save函數(shù),循環(huán)N次,通過指針打開建立一個文本文件,fprintf函數(shù)自動建立一個文本文件,實現(xiàn)向文件中寫入N組數(shù)據(jù)的功能。循環(huán)結(jié)束后文件件中已經(jīng)寫入要輸入的信息。在程序的最后通過一個if和else判斷語句,結(jié)合printf和scanf函數(shù)判斷是否繼續(xù)執(zhí)行輸入函數(shù)或者返回菜單。流程圖如圖3-2。圖3-23.3總信息的顯示這部分比較簡單,主要是通過主函數(shù)調(diào)用,先打開文件用fprintf函數(shù)將數(shù)據(jù)全部讀入,然后經(jīng)過for循環(huán),經(jīng)數(shù)據(jù)全部輸出,最后通過一個if和el
8、se判斷語句,結(jié)合printf和scanf函數(shù)判斷是否繼續(xù)執(zhí)行本函數(shù)或者返回菜單。流程圖如圖3-3。圖3-33.4查詢信息3.4.1按學號查詢此函數(shù)通過主函數(shù)調(diào)用,先將文件打開讀入數(shù)據(jù),然后輸入學號,經(jīng)過循環(huán)查找最終確定該學生的位置,進行輸出;當輸入的學號沒有時,會重新執(zhí)行本函數(shù)。3.4.2按班級查詢此函數(shù)通過主函數(shù)調(diào)用,先將文件打開讀入數(shù)據(jù),然后輸入班號,經(jīng)過循環(huán)查找最終確定該班所有學生的位置,進行輸出;當輸入的班號沒有時,會重新執(zhí)行本函數(shù)。圖3-53.5修改信息本程序采用的基本思路是先查找,找到之后再對信息逐條修改。查找仍是用for循環(huán),輸入一個學號,然后逐個進行比對,找到之后再輸入你想修
9、改的信息,將原數(shù)據(jù)替換,最后保存。開始仍然有對學號的判斷,最后仍然有返回主菜單的判斷。主函數(shù)圖3-63.6刪除信息刪除的基本思想就是后面的信息覆蓋前面的信息,后面的信息被0代替,從而實現(xiàn)刪除功能。具體實現(xiàn)方法就是選擇刪除功能,利用文件指針和fscanf函數(shù),將文件內(nèi)容讀出,顯示在屏幕上,讓用戶決定刪除哪一個學生的基本信息,然后輸入該學生的學號賦值給一個整型變量,利用for循環(huán)在文件中查找與該變量值相同的學生,找到之后將后面一個結(jié)構(gòu)體的全部信息賦值給前面一個結(jié)構(gòu)體,從而將該學生信息“刪除”同時要實現(xiàn)的是在存放成績的文件中也要該同學的成績信息刪除,原理相同,就是在找到該同學的信息之后,保留循環(huán)變量
10、的值,再對成績文件里該同學的進行相同覆蓋操作,即可實現(xiàn)同時在B文件刪除信息。流程圖如下;圖3-73.7統(tǒng)計信息首先定義一個變量x=0,讀入數(shù)據(jù),然后輸入你想統(tǒng)計的班號,學院或?qū)I(yè)名稱,然后通過for循環(huán),進行比較,當數(shù)據(jù)中的班號,學院或?qū)I(yè)名稱與你輸入的相同時,x+1,循環(huán)結(jié)束最后將x的值輸出,即為統(tǒng)計的總?cè)藬?shù)。3.7.1統(tǒng)計班級總?cè)藬?shù)排序的基本思想即為“冒泡法”。在編寫函數(shù)時,要注意如何實現(xiàn)結(jié)構(gòu)體變量之間的交換,由于結(jié)構(gòu)體中成員較多,數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜,因此需要采用中間變量進行替換。具體的操作在程序開始成績定義結(jié)構(gòu)體變量時,需要定義兩組成績結(jié)構(gòu)體變量,一組用于存放數(shù)據(jù),另一組即用來作為零時替換
11、變量,用來接受將需要交換的變量值。首先還是需要進行問基金按內(nèi)容的讀出。再用冒泡法排序,冒泡法就是用第一個值分別與后面的每一個值進行比較,如果小于后一個值則交換它們的值,再將已變換過的第一個值與后面的每一個值比較,直到一個for循環(huán)結(jié)束,然后再進行相同的過程,直到一個大的for循環(huán)結(jié)束。然后將排序后的文件內(nèi)容顯示出來,。流程圖如下:圖3-10以上就是各模塊的詳細設(shè)計,在主菜單中選擇調(diào)用各個模塊子的函數(shù),從而實現(xiàn)不同功能四、測試結(jié)果分析MKtcNHX生日部M點翳性別,毛醫(yī)旋廠漢身份證:陽招近回干蘋甲按N-重莉元:X技真他任茵數(shù)字一一將輸八散字后選洋菜單竹"D:iVExtDe!bjgVzh
12、uI日nshu-exe非M14*K業(yè)與A輸X-4£.7_y_7_退g.正-VFt.'T亍T.,莘旬計“息月士一芝卷京又釜宇1MH昭清T也第*也李*S下.1如號想班亍帥幾學:1:44破電學10機圖4-3文件如圖4-4免百F)此(日梧式(。)M-:V幫乾H|10012李男漢機電機械1991202010023張女漢機電機械19915050圖4-44.3查詢信息效果圖匕'D:、WwtDe_:jL-'nuu-bhu'耳F一百JI口.!信宇艮*-MlTJ皂訂拜E3肓星磐證證業(yè)胃z_.15e改己'KM一4逐f基算.董某番剪景的叩一了,王生時仔7-:H蕾墨按有
13、輸入敬字J后誼擇縈單宙再藏學生-11款畿矗繭教壬二圖4-5由笙«,證的生色已尋學.T:是雷登證訕芝所指藪ze一>4st牛某曲的的-E麝羞®有SM丈-珂學T-H1要基i裹feN-的序234Rb7A9_'lJ:AV<,ytDtbjgmLihir'*,吉輸人款學后恍峰斃單IW輸入塞蔓星示的學生的學號1HR1康學:令目婦P岸號眺號舊渣爭:季性別=再民族:漢懺院訐幾電專業(yè)"幾Vf生日”9”身彳帝正以儂H圖4-6圖4-74.4修改信息效果圖U:vcYxiyU-ebugizhuhariishu-t-xte8臺輸人您要修改昭學生的學號原,倍島如下十號:
14、!班.號m森.機電<1!姓名:季專業(yè):戒秘性別,男民族=溟主日”9*?1身仞證另瞳傍診輸八該學生的新信息字亭1003fig:V售膏:打:國業(yè).航襟.191'SjTj:MHMM亶ar饑疝怕.息加f<忍弩侃互.V°1003i>A°頂邙:拳學院=嘰聿軍業(yè)=嘰祿可以查御驗UE)44荊=咒民"'口主日;t99d身份證:2B2fi翠魅浦任意教字二二圖4-8回文岸舊衰輯舊格式Q)萱看V幫勘0H)U035李男漢機電19以2020>10023張女投機電機械199150504圖4-9:StLiIkl-記事本4.5刪除效果圖MlDveXxtOeb
15、ugizhuihwnahci-ejce*MMMM奪=Q并-散序:營奏;.意XK1胃稟的MMMMMK排序后的.真折急一詰輜人敬字后選擇菜單,請柚入您要刪除的孑生的學號該學生原信昌如二學號”做H班M并察,機電專業(yè)=張性刖=女k族=農(nóng)生3:lV9i身份證山甘W箴學生的信息已些AM除(已鯉保存,可以杳泊書曲)學號2班號2揪名:MULL懺割nNULL民形:NULL學院洶ULL專W=NULL=-0身份證泅-坂回工琴竺J專n4重新寂彩其他任意致宇一一圖4-114.6統(tǒng)計信息效果圖圖4-12序河出排序兀的總信息D:vxtDebiLigzhiJhanE-hu.eife'1,噬微in任章的的的蒙某某某蘋按
16、<-班改Mw,:退語輸人教字,旨旋揮荼單-打序后的信息如下(已經(jīng)保存.可以查詢眇證)芋耳泌J1I號;由姓名地IE,性glsHILL民藏以ULL孕院WILL專業(yè):NULL生日邱身份證函輯旻擦g班號電1曾逢李-性別崩門民族成學曉;機電專業(yè)=君諼生日尊份證:2礎(chǔ)B返回足英單應(yīng)以一貧耕錄入奇貧他任童數(shù)字一一Istu_iist記事本旦癸00NULLNULLNULLNULLNULL001D035李男漢機電機械199120204卜圖4-14五、心得體會在本次實習中,我又重新熟悉了一遍c,感覺很多東西都已經(jīng)遺忘了,所以在編程的時候需要不斷的翻書查資料,用了很多時間,不過編程還算順利,遇到的問題在看課本之
17、后都解決了。程序的缺點還有很多,比如沒有實現(xiàn)對文本的添加功能,不能在已有的數(shù)據(jù)上添加新的數(shù)據(jù),在程序的輸入和輸出的地方也有很多的不足,輸出的效果也不是很好。我會在以后進一步熟悉c,改掉這些缺點和錯誤。六、參考文獻1譚浩強«C程序設(shè)計第三版清華大學出版社20052張冬梅等«C語言課程設(shè)計與實習指導(dǎo)第一版中國鐵道出版社2008七、附錄主函數(shù)主函數(shù)通過菜單,用switch函數(shù)調(diào)用子函數(shù),來實現(xiàn)各個模塊的功能。voidmain()(inta;voiddi1();voiddi2();voiddi3();voiddi4();voiddi5();voiddi6();/*子函數(shù)的申明*/v
18、oiddi7();voiddi8();voiddi9();printf("nn");printf("學生證管理系統(tǒng)nn");printf("菜單n");printf("*");printf("*1.錄入學生的學生證信息*n");printf("*2.顯示所有學生的學生證信息*n");printf("*3.按學號查找某學生的學生證信息*n");printf("*4.按班級查找某班所有學生的學生證信息*n");printf("*5
19、.修改某學生的學生證信息*n");printf("*6.刪除某學生的學生證信息*n");printf("*7.統(tǒng)計某班的總?cè)藬?shù)*n");printf("*8.統(tǒng)計某學院或某專業(yè)的總?cè)藬?shù)*n");printf("*9.按照學號從小到大排序并輸出排序后的總信息*n");printf("*退出請按其余的任意鍵*n");printf("*");printf("nnn");printf("請輸入數(shù)字后選擇菜單n");scanf(&quo
20、t;%d",&a);switch(a)case1:di1();break;case2:di2();break;case3:di3();break;/*選擇菜單*/case4:di4();break;case5:di5();break;case6:di6();break;case7:di7();break;case8:di8();break;case9:di9();break;default:printf("按任意鍵確認n");保存模塊voidsave()/*打開一個文件并寫入數(shù)據(jù)*/FILE*fp;inti;if(fp=fopen("stu_li
21、st.txt”,"w")=NULL)(printf("cannotopenfilen");return;for(i=0;i<N;i+)fprintf(fp,"%-5d%-5d%-10s%-5s%-5s%-10s%-10s%-5d%-5dnn",stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);fclose(fp);錄入函數(shù)voiddi1()/*錄入數(shù)據(jù)*/(
22、inti;intt;FILE*fp3;fp3=fopen("Num.txt”,"w”);printf("你需要錄入幾位學生的信息n");scanf("%d”,&N);putw(N,fp3);printf("請依次輸入n");for(i=0;i<N;i+)(printf("第%d個學生n",i+1);printf("學號:”);scanf("%d",&stui.xuehao);printf("班號:”);scanf("%d",
23、&stui.banhao);printf("姓名:”);scanf("%s",);printf("性別:”);scanf("%s",stui.sex);printf("民族:”);scanf("%s",stui.minzu);printf("學院:");scanf("%s",stui.xueyuan);printf("專業(yè):”);scanf("%s",stui.zhuanye);printf("生日:
24、");scanf("%d”,&stui.shengri);printf("身份證:");scanf("%d",&stui.shenfenzheng);)save();fclose(fp3);printf("錄入成功n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi1();)顯示所有學生的信息voiddi2()/*
25、顯示所有學生的數(shù)據(jù)*/inti;intt;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=fopen("stu_list.txt","r");N=getw(fp3);printf("所有學生信息如下n");for(i=0;i<N;i+)fscanf(fp,"%d%d%s%s%s%s%s%d%d",&stui.xuehao,&stui.banhao,,&stui.sex,&stui
26、.minzu,&stui.xueyuan,&stui.zhuanye,&stui.shengri,&stui.shenfenzheng);printf("第%d個學生n",i+1);printf("學號:%-5d班號:%-5d姓名:%-10s性別:-5s民族:%-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn",stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,st
27、ui.shenfenzheng);)fclose(fp);fclose(fp3);printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi2();)按學號查找voiddi3()/*按學號查找學生信息*/(inti;intb;intt;intg=0;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=fopen("stu_list.tx
28、t”,"r”);N=getw(fp3);printf("請輸入您要顯示的學生的學號n");scanf("%d”,&b);for(i=0;i<N;i+)(fscanf(fp,"%d%d%s%s%s%s%s%d%d”,&stui.xuehao,&stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,&stui.shengri,&stui.shenfenzheng);if(stui.xuehao=b)g=g+1;if(g!=
29、0)(printf("該學生信息如下n");for(i=0;i<N;i+)(if(stui.xuehao=b)printf("學號:%-5d班號:%-5d姓名:%-10s性別:-5s民族:-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn”,stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);elseprintf("沒有該學生n");fclose(
30、fp);fclose(fp3);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi3();按班號查找voiddi4()/*顯示某班所有學生的數(shù)據(jù)*/(inti;intc;intt;intg=0;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=fopen("stu_list.txt”
31、,"r”);N=getw(fp3);printf("請輸入您要顯示的班的班號n");scanf("%d”,&c);for(i=0;i<N;i+)(fscanf(fp,"%d%d%s%s%s%s%s%d%d”,&stui.xuehao,&stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,&stui.shengri,&stui.shenfenzheng);if(stui.banhao=c)g=g+1;if(g!=0)(
32、printf("該班的所有學生的信息如下n");for(i=0;i<N;i+)(if(stui.banhao=c)printf("學號:%-5d班號:%-5d姓名:%-10s性別:-5s民族:%-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn”,stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);elseprintf("沒有該班n");fclos
33、e(fp);fclose(fp3);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi4();)修改voiddi5()/*按學號修改學生的信息*/(inti;intd;intm;intn;intt;intg=0;charp20;charq20;charr20;chars20;chart120;intu;intv;FILE*fp;FILE*fp3;fp3=fopen(&qu
34、ot;Num.txt","r");fp=fopen("stu_list.txt”,"r”);N=getw(fp3);printf("請輸入您要修改的學生的學號n");scanf("%d”,&d);for(i=0;i<N;i+)(fscanf(fp,"%d%d%s%s%s%s%s%d%d”,&stui.xuehao,&stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,&stui.she
35、ngri,&stui.shenfenzheng);if(stui.xuehao=d)g=g+1;)if(g!=0)(for(i=0;i<N;i+)(if(stui.xuehao=d)(printf("該學生的原信息如下n");printf("學號:%-5d班號:%-5d姓名:%-10s性別:-5s民族:-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn”,stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.she
36、ngri,stui.shenfenzheng);printf(-請依次輸入該學生的新信息n");printf("學號:”);scanf("%d”,&m);printf("班號:”);scanf("%d",&n);printf("姓名:”);scanf("%s",p);printf("性別:”);scanf("%s",q);printf("民族:”);scanf("%s",r);printf("學院:");sca
37、nf("%s",s);printf("專業(yè):”);scanf("%s",t1);printf("生日:");scanf("%d",&u);printf("身份證:");scanf("%d”,&v);stui.xuehao=m;stui.banhao=n;strcpy(,p);strcpy(stui.sex,q);strcpy(stui.minzu,r);strcpy(stui.xueyuan,s);strcpy(stui.zhuanye,t1
38、);stui.shengri=u;stui.shenfenzheng=v;printf("n");printf("該學生的新信息如下(已經(jīng)保存,可以查詢驗證)n");printf("學號:-5d班號:-5d姓名:%-10s性別:-5s民族:-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn",stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);
39、save();elseprintf("沒有該學生n");fclose(fp);fclose(fp3);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d”,&t);if(t=1)main();elsedi5();刪除voiddi6()/*按學號刪除學生的信息*/inti;inte;intt;intm=0;intn=0;charq20="NULL"charp20="NULL"
40、intg=0;charr20="NULL"chars20="NULL"chart120="NULL"intu=0;intv=0;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=fopen("stu_list.txt","r");N=getw(fp3);printf("請輸入您要刪除的學生的學號n");scanf("%d",&e);for(i=0;i<N;i+)f
41、scanf(fp,"%d%d%s%s%s%s%s%d%d",&stui.xuehao,&stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,&stui.shengri,&stui.shenfenzheng);if(stui.xuehao=e)g=g+1;if(g!=0)for(i=0;i<N;i+)if(stui.xuehao=e)printf("該學生的原信息如下n");printf("學號:%-5d班號:%-5d姓名:%
42、-10s性別:-5s民族:%-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn",stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);stui.xuehao=m;stui.banhao=n;strcpy(,p);strcpy(stui.sex,q);strcpy(stui.minzu,r);strcpy(stui.xueyuan,s);strcpy(stui.zhuanye,
43、t1);stui.shengri=u;stui.shenfenzheng=v;printf("該學生的信息已經(jīng)刪除(已經(jīng)保存,可以查詢驗證)n");printf("學號:%-5d班號:%-5d姓名:%-10s性別:-5s民族:%-5sn學院:%-10s專業(yè):%-10s生日:%-5d身份證:-5dnn",stui.xuehao,stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,stui.shengri,stui.shenfenzheng);save();elseprint
44、f("沒有該學生n");fclose(fp);fclose(fp3);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d”,&t);if(t=1)main();elsedi6();統(tǒng)計某班學生總?cè)藬?shù)voiddi7()/*統(tǒng)計某班的學生總數(shù)*/inti;intf;intt;intg=0;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=
45、fopen("stu_list.txt","r");N=getw(fp3);for(i=0;i<N;i+)fscanf(fp,"%d%d%s%s%s%s%s%d%d",&stui.xuehao,&stui.banhao,,stui.sex,stui.minzu,stui.xueyuan,stui.zhuanye,&stui.shengri,&stui.shenfenzheng);printf("請輸入班號n");scanf("%d",&am
46、p;f);for(i=0;i<3;i+)if(stui.banhao=f)g=g+1;fclose(fp);fclose(fp3);if(g=0)printf("該班的總?cè)藬?shù)為:0或沒有該班n");elseprintf("該班的總?cè)藬?shù)為:%dn",g);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi7();統(tǒng)計學院或?qū)I(yè)的
47、總?cè)藬?shù)voiddi8()/*統(tǒng)計學院或?qū)I(yè)的總?cè)藬?shù)*/inti;charx20;inty;intt;intg=0;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","r");fp=fopen("stu_list.txt","r");N=getw(fp3);for(i=0;i<N;i+)fscanf(fp,"%d%d%s%s%s%s%s%d%d",&stui.xuehao,&stui.banhao,,stui.sex,stui.min
48、zu,stui.xueyuan,stui.zhuanye,&stui.shengri,&stui.shenfenzheng);printf("請問您要統(tǒng)計學院總?cè)藬?shù)還是專業(yè)總?cè)藬?shù)n");printf("學院按1n");printf("專業(yè)按其余任意數(shù)字n");scanf("%d",&y);if(y=1)printf("請輸入學院名稱n");scanf("%s",&x);for(i=0;i<N;i+)if(strcmp(stui.xueyu
49、an,x)=0)g=g+1;if(g=0)printf("該學院的總?cè)藬?shù)為:0或沒有該學院n");elseprintf("該學院的總?cè)藬?shù)為:%dn",g);elseprintf("請輸入專業(yè)名稱n");scanf("%s",&x);for(i=0;i<N;i+)if(strcmp(stui.zhuanye,x)=0)g=g+1;if(g=0)printf("該專業(yè)的總?cè)藬?shù)為:0或沒有該專業(yè)");elseprintf("該專業(yè)的總?cè)藬?shù)為:%d",g);fclose(fp);fclose(fp3);printf("n");printf("-返回主菜單按:1-n");printf("-重新錄入按其他任意數(shù)字-n");scanf("%d",&t);if(t=1)main();elsedi8();)3.11排序voiddi9()/*按學號的大小對所有學生的信息進行排序*/(inti;inth;intt;ints;chark20;FILE*fp;FILE*fp3;fp3=fopen("Num.txt","
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)借款合同書
- 二零二五年度爆破拆除施工現(xiàn)場管理包清工施工合同
- 處理房屋漏水協(xié)議書
- 債務(wù)擔保合同
- 二手房買賣合同標準
- 投資分析指南
- 2025年度報紙雜志廣告業(yè)務(wù)貸款還款協(xié)議
- 建筑工程水電消防安裝合同
- 企業(yè)向個人租賃車輛協(xié)議書
- 融資居間服務(wù)協(xié)議模板
- 教師資格考試高級中學美術(shù)學科知識與教學能力試題與參考答案(2024年)
- 2025年人教版高考生物一輪復(fù)習:綜合PCR的基因工程問題
- 鋼筋焊接工藝性試驗方案
- 2024年福建省新高考生物試卷真題(含答案解析)
- 自然科學基金項目申報書(模板)
- GB/T 44273-2024水力發(fā)電工程運行管理規(guī)范
- 醫(yī)院突發(fā)性事件、護理重點環(huán)節(jié)、醫(yī)院病區(qū)等應(yīng)急預(yù)案
- 2024年政工職稱考試題庫(含答案)
- 2024年南京市中考歷史試題及答案
- 2024年四川省涼山州中考物理適應(yīng)性試卷(附答案解析)
- 1.1區(qū)域及其類型-課件
評論
0/150
提交評論