![c語言-課程設(shè)計實驗報告網(wǎng)頁未完版_第1頁](http://file4.renrendoc.com/view/a850559b1bcc35aeac0a8fb4aa2d3035/a850559b1bcc35aeac0a8fb4aa2d30351.gif)
![c語言-課程設(shè)計實驗報告網(wǎng)頁未完版_第2頁](http://file4.renrendoc.com/view/a850559b1bcc35aeac0a8fb4aa2d3035/a850559b1bcc35aeac0a8fb4aa2d30352.gif)
![c語言-課程設(shè)計實驗報告網(wǎng)頁未完版_第3頁](http://file4.renrendoc.com/view/a850559b1bcc35aeac0a8fb4aa2d3035/a850559b1bcc35aeac0a8fb4aa2d30353.gif)
![c語言-課程設(shè)計實驗報告網(wǎng)頁未完版_第4頁](http://file4.renrendoc.com/view/a850559b1bcc35aeac0a8fb4aa2d3035/a850559b1bcc35aeac0a8fb4aa2d30354.gif)
![c語言-課程設(shè)計實驗報告網(wǎng)頁未完版_第5頁](http://file4.renrendoc.com/view/a850559b1bcc35aeac0a8fb4aa2d3035/a850559b1bcc35aeac0a8fb4aa2d30355.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
中南大學(xué)C語言程序設(shè)計實踐報告題目學(xué)生成績管理系統(tǒng)學(xué)生姓名木雕小象指導(dǎo)教師×××學(xué)院信息科學(xué)與工程學(xué)院專業(yè)班級電氣0900班完成時間2010年7月8日系統(tǒng)描述………功能模塊結(jié)構(gòu)……數(shù)據(jù)結(jié)構(gòu)設(shè)計……主要模塊的算法說明………………運行結(jié)果……………課程設(shè)計總結(jié)………附錄(源代碼)……一、系統(tǒng)描述學(xué)生成績管理系統(tǒng)對日常學(xué)生的基本成績信息進行管理,能實現(xiàn)對學(xué)生多種信息的存儲,可以對多種數(shù)據(jù)進行各種各樣的操作。管理系統(tǒng)首先能實現(xiàn)數(shù)據(jù)的輸入。學(xué)生的各種信息(比如:班級,學(xué)號,姓名,性別,年齡,選修課程編號,名稱,考試成績,平時成績,綜合成績)能正確的輸入,從而可以進行處理。待所有學(xué)生信息輸入以后,如果發(fā)現(xiàn)輸入有誤或者需要修改一些學(xué)生的信息,可以利用修改函數(shù)進行修改,并且可以修改任意需要修改的信息。同時當(dāng)學(xué)生管理系統(tǒng)需要進行學(xué)生的添加時(比如:新生轉(zhuǎn)學(xué)時),利用添加函數(shù)能及時的補充所需要的信息。當(dāng)所需的學(xué)生信息正確而完整的輸入后,該信息系統(tǒng)可以進行信息的查詢(本系統(tǒng)可按學(xué)生姓名和學(xué)號查詢),當(dāng)輸入正確的查詢信息后,該管理系統(tǒng)可以顯示出該生的所有信息。當(dāng)輸入信息不正確時,系統(tǒng)會提示錯誤,并允許重新輸入。此系統(tǒng)同時可以進行信息的刪除,當(dāng)有學(xué)生退學(xué)或休學(xué)時,利用刪除函數(shù)可以刪除特定的學(xué)生信息,從而減少冗余的信息。該系統(tǒng)可以顯示輸入的所有信息。利用該系統(tǒng)可以同時計算每個同學(xué)的平均成績,并對所有的學(xué)生按平均成績高低進行排序,同時輸出排序后的成績表。此系統(tǒng)同時還可以列出不及格學(xué)生的學(xué)號,姓名,課程和成績,便于進行統(tǒng)一的管理。二、功能模塊結(jié)構(gòu)該系統(tǒng)的模塊設(shè)計清晰,各模塊的算法簡單,高效,整個系統(tǒng)由主函數(shù)調(diào)用各個模塊而組成??梢园押瘮?shù)分為數(shù)據(jù)錄入模塊,數(shù)據(jù)修改模塊,數(shù)據(jù)添加模塊,數(shù)據(jù)查詢模塊(可分文姓名和學(xué)號查詢),數(shù)據(jù)刪除模塊,數(shù)據(jù)統(tǒng)計模塊(成績顯示模塊,成績計算及排序模塊,成績分類模塊),文件保存模塊共七大模塊,其中主函數(shù)中包含界面模塊主要模塊的結(jié)構(gòu)圖如下:主控函數(shù)主控函數(shù)數(shù)據(jù)錄入數(shù)據(jù)修改數(shù)據(jù)統(tǒng)計退出系統(tǒng)數(shù)據(jù)刪除數(shù)據(jù)查詢數(shù)據(jù)添加姓名查詢學(xué)號查詢?nèi)匡@示平均分不及格模塊功能描述主控模版:主控模版是整個系統(tǒng)的模塊交匯點,使用者使用系統(tǒng)時先進入主控模版,通過主控模版可以調(diào)用任意的模塊,達(dá)到預(yù)期的功能。數(shù)據(jù)錄入模塊:該模塊可以實現(xiàn)學(xué)生多種數(shù)據(jù)的錄入,錄入的信息儲存在數(shù)組中,其他模塊能夠調(diào)用。數(shù)據(jù)模塊修改:該模塊可以實現(xiàn)數(shù)據(jù)的修改。當(dāng)輸入修改的學(xué)生信息時,模塊會自動找尋,未找到則顯示不存在,若找到則進入下級列表,操作者可以根據(jù)界面標(biāo)號進行任意的修改數(shù)據(jù)添加模塊:該模塊將學(xué)生的信息完整的存入一個結(jié)構(gòu)體數(shù)組中,其他模塊可以調(diào)用。數(shù)據(jù)模塊查詢:該模塊可以對信息進行檢索,挑選出符合要求的信息,并顯示列表,如果沒有搜索的信息,則顯示未找到。(1)按姓名查詢(2)按學(xué)號查詢數(shù)據(jù)刪除模塊:該模塊可以刪除任意指定學(xué)生的信息,模塊首先會提醒操作者輸入特定的學(xué)號,數(shù)據(jù)輸入后進行搜尋,若無此學(xué)生的信息,則顯示不能找到,若找到此生信息,則顯示刪除成功。數(shù)據(jù)統(tǒng)計模塊(1)成績顯示模塊:輸入選擇號后,該模塊可以顯示已經(jīng)輸入系統(tǒng)的學(xué)生信息。(2)成績計算及排序模塊:該模塊可以利用平均成績函數(shù)計算每位學(xué)生的平均成績,并按學(xué)生平均成績的高低進行排序,然后將學(xué)生姓名列表顯示。(3)成績分類模塊:該模塊可以查找系統(tǒng)中不及格學(xué)生的信息,然后將該生的學(xué)號,姓名,不及格科目及分?jǐn)?shù)顯示出來。8、退出系統(tǒng)模塊三、數(shù)據(jù)結(jié)構(gòu)設(shè)計學(xué)生成績管理系統(tǒng)在使用中用到了眾多的數(shù)據(jù),數(shù)據(jù)多,數(shù)據(jù)類型復(fù)雜,給數(shù)據(jù)的管理和使用帶來了很大的麻煩。所以我使用了數(shù)組來存放數(shù)據(jù)。定義了結(jié)構(gòu)體來存放學(xué)生的各種類型的數(shù)據(jù),使存放更合理,便于管理。為避免學(xué)生基本信息結(jié)構(gòu)體stu太長,嵌套定義了一個選修課程結(jié)構(gòu)體coursestructcourse{課程編號整型intnum;課程名字符串charname[10];考試成績浮點型floatscore;平時成績浮點型floatusual;綜合成績浮點型floatintegral;};structstu{專業(yè)班級整型intclass;學(xué)生編號整型intnum;學(xué)生姓名字符串charname[10];性別字符串charsex[2];年齡整型intage;嵌套定義課程信息structcoursecourse[2];平均成績浮點型floatavescore;}程序后面的模塊都會要用到以上結(jié)構(gòu)體的信息,控制好循環(huán)結(jié)構(gòu),能隨時調(diào)用結(jié)構(gòu)體中的信息。四:數(shù)據(jù)模塊結(jié)構(gòu)說明本系統(tǒng)的功能都是由主函數(shù)調(diào)用各個模塊來實現(xiàn),每個模塊都是一個特定的自定義函數(shù),能分別實現(xiàn)不同的功能。采用的思想也就是“化整為零”,將一個問題分解為一個個的小問題,各自來攻破。下面將分寫介紹每個模塊的實現(xiàn)過程及功能。在最開始,定義了一個全局變量m,m是結(jié)構(gòu)體數(shù)組stu的有效長度,能夠?qū)竺娴牟迦?,刪除等范圍進行控制。voidmenu()改函數(shù)為主控函數(shù),起到功能菜單的作用,每個功能從這個界面選擇,實現(xiàn)功能后返回改界面,進而選擇其他功能。voidinput();此函數(shù)實現(xiàn)最開始數(shù)據(jù)的輸入功能。在屏幕的提示下,操作者能輸入相應(yīng)學(xué)生的信息,采用的是雙重循環(huán):外層循環(huán)for(i=0;i<m-1;i++)來控制學(xué)生的個數(shù),輸入基本信息;內(nèi)循環(huán)for(j=0,sum=0;j<COURSENUM;j++)控制課程門數(shù),此處COURSENUM是一個宏定義,指的是課程門數(shù),能相應(yīng)的輸入學(xué)生的選修課程信息。stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7,此式為綜合成績的計算表達(dá)式,當(dāng)integral<60時,為“Y”(由條件語句if來判斷實現(xiàn))。平均分也在此模塊求:總分sum為各科的綜合成績之和,除以課程數(shù),就是平均分。voidmodify();此函數(shù)實現(xiàn)修改功能。在屏幕提示下,操作者可選擇修改基本信息或課程信息,接著輸入相關(guān)的信息。修改成功會提示,否則顯示“無學(xué)生信息”。voidinsert()此函數(shù)實現(xiàn)插入功能。在屏幕提示下,操作者輸入要增加的學(xué)生信息,此時,信息被放在數(shù)組元素stu[m]中(即最后一個,m為全局變量)。插完一個人之后,m自增,屏幕會顯示“插入成功”,還會詢問操作者“繼續(xù)添加嗎?”此處定義了一個字符型變量ch,當(dāng)ch為Y或y時,繼續(xù)輸入,當(dāng)ch為其他字符時,停止添加。5.voidsearch()此函數(shù)實現(xiàn)查詢功能。定義了一個字符串?dāng)?shù)組來存放輸入的學(xué)生姓名。操作者在屏幕提示下輸入要查詢的名字或?qū)W號,本模塊采用了字符串比較函數(shù),當(dāng)輸入的字符串(名字或?qū)W號)與程序中的相同時,輸出該生的所有信息(包括基本信息,選修信息),由for循環(huán)控制。此處采用了查詢標(biāo)志p:當(dāng)查詢正確時,p被賦值為1,顯示信息;當(dāng)沒有查詢信息時,p被賦值為0,在if語句控制下,顯示“無學(xué)生信息”。由for語句控制循環(huán)。6.voiddelete()此函數(shù)實現(xiàn)刪除功能。定義了字符串變量name[15],刪除標(biāo)志p。運用了字符串比較函數(shù),當(dāng)輸入的字符串name與數(shù)據(jù)中的名字相同時,刪除分兩種情況:被刪除的學(xué)生不是最后一個。由for語句控制循環(huán),運用了字符串比較函數(shù),當(dāng)輸入的姓名存在時,從此學(xué)生開始,將后面的數(shù)組元素依次賦值給前面的數(shù)組元素(即覆蓋掉),實現(xiàn)了刪除的功能。同時,全局變量m會自減,p被賦值為1,顯示“刪除成功”。被刪除的學(xué)生是最后一個時,直接m自減,在后面的輸出函數(shù)output()的for(i=0;i<m-1;i++)語句中,m已經(jīng)減1了,于是不輸出最后一名同學(xué)的信息,沒有實現(xiàn)物理內(nèi)存上的刪除,但實現(xiàn)了刪除的功能。此時,p被賦值為1,顯示“刪除成功”。當(dāng)輸入的字符串name找不到相匹配的名字時,p被賦值為0,顯示“沒有學(xué)生檔案”。7.voidtongji()(1)voidoutput()此函數(shù)實現(xiàn)輸出功能。由printf函數(shù)將一系列的表格框架、表頭及相關(guān)的信息輸出,for(i=0;i<m-1;i++)語句控制基本信息循環(huán)。當(dāng)前面插入了學(xué)生信息時,m自增,此時,輸出函數(shù)會將加入的學(xué)生信息顯示出來;當(dāng)刪除了某生的信息時,m自減,此時,輸出函數(shù)不會顯示被刪學(xué)生信息。兩個for語句控制課程信息的循環(huán),輸出對應(yīng)學(xué)生的課程信息。(2)voidaverage()在前面輸入函數(shù)input()中已經(jīng)計算過平均分,此處實現(xiàn)輸出平均分的功能,并按平均分的高低實現(xiàn)從高到低的排序輸出。運用選擇法排序,定義了中間結(jié)構(gòu)體變量temp,for(i=0;i<m-1;i++)控制外層循環(huán)(排序的趟數(shù)),for(j=i+1;j<=m-1;j++)控制內(nèi)層循環(huán)(某趟中排序的次數(shù))。當(dāng)stu[i].avescore<stu[j].avescore時,運用中間變量,將二者的信息交換,以實現(xiàn)高分在前,低分“沉”到最后。在外層循環(huán)中,輸出學(xué)生姓名,實現(xiàn)從高到低的排序。(3)voidunpassed()此函數(shù)實現(xiàn)輸出不及格學(xué)生信息的功能。由if語句判斷,當(dāng)stu[i].course[j].integral<60(綜合分小于60)時,在for語句控制下,輸出相關(guān)信息(包括學(xué)生姓名,課程名稱,綜合分?jǐn)?shù)),便于對學(xué)生進行安排。8.voidanykey();此函數(shù)實現(xiàn)緩沖的功能,為操作者提供時間進行其他操作。當(dāng)某個模塊運行完之后,屏幕顯示“按任意鍵繼續(xù)”,按鍵之后,回到操作界面可以進行其他操作。主函數(shù)main()說明主模塊:首先輸入一個數(shù)字進入主菜單。包括輸入信息,修改信息,插入信息,查詢信息,刪除信息,信息統(tǒng)計(全部輸出,平均成績信息及排序,不及格名單),退出。在屏幕提示下,選擇一個數(shù)字,實現(xiàn)相應(yīng)的功能,實現(xiàn)之后,按任意鍵又回到主菜單,來實現(xiàn)下一個功能。直到按退出鍵“7”退出界面。此處由一個switch語句及它的多個case語句來完成,每個case語句中調(diào)用各個不同的數(shù)據(jù)模塊,調(diào)用結(jié)束后,由break函數(shù)跳出,返回主菜單,繼續(xù)執(zhí)行下一個任務(wù)。主菜單:一個選擇表格輸出來,末行會提示輸入相應(yīng)的數(shù)字。以進入相應(yīng)的模塊錄入模塊:調(diào)用input()函數(shù),輸入信息。修改模塊:調(diào)用modify()函數(shù),修改信息。插入模塊:調(diào)用insert()函數(shù),插入信息。查找模塊:調(diào)用search()函數(shù),查找信息。刪除模塊:調(diào)用delete()函數(shù),刪除信息。統(tǒng)計模塊:全部輸出output()函數(shù),輸出全部學(xué)生信息;平均分模塊調(diào)用average()函數(shù),輸出平均分信息及按平均分排序;輸出不及格名單unpassed()函數(shù),輸出綜合分<60的名單。退出系統(tǒng)。五、運行結(jié)果1、主界面×××2、選擇數(shù)據(jù)輸入3、修改數(shù)據(jù)界面,可分別修改學(xué)生基本信息和課程信息4、插入數(shù)據(jù),可添加新的信息5、數(shù)據(jù)查詢界面(1)下面是按姓名查詢結(jié)果6、數(shù)據(jù)刪除7、數(shù)據(jù)統(tǒng)計(1)顯示全部數(shù)據(jù)(2)計算平均成績并排序
(3)輸出不及格名單六、課程設(shè)計總結(jié)兩個星期的計算機實踐終于圓滿的完成了。能夠完整的將自己編的程序運行一遍,這是一件多么美妙的事情!從對C語言淺顯的認(rèn)識到更深刻的體會,這是一個從量變到質(zhì)變的過程。每一個人都會有很大的進步。說遠(yuǎn)比動手容易!這是我最深的體驗。剛拿到題目,覺得沒什么大不了,不就是定義幾個函數(shù),在主函數(shù)中運用一個switch語句,然后再調(diào)用嘛。隨便的想了一想,也沒太在意。之后的上機過程真的是給我潑了冷水,把我澆醒。一系列的變量定義,函數(shù)定義,輸入輸出,將我理想中的簡單程序變得越來越復(fù)雜……不是把數(shù)據(jù)類型弄錯,就是漏了什么東西,或者又打錯了什么,反正十次中有九次不能運行,還有一次運行結(jié)果不對。編程序很需要耐心,各個細(xì)節(jié)都很重要,一個小錯誤將會導(dǎo)致整個系統(tǒng)的錯誤。最更要命的是,我偷了一下懶,只給每位學(xué)生安排了一門課程,所以在這個地方,思路就錯了。綜合分變成了自己輸入,而不是按百分比計算,每個人的平均分也沒有。還好問的及時,老師指出了錯誤,不至于錯誤繼續(xù)延續(xù)下去,很值得慶幸。對課本上的知識不熟悉也導(dǎo)致了我編程進度緩慢??荚囍皇亲屛野阎R進行簡單的記憶,并沒有真正轉(zhuǎn)變成自己的,而這次的編譯程序過程做到了,經(jīng)歷之后,我還可以很熟練的寫出語句,很快的檢查出一些簡單的錯誤。這次的實踐,我很有收獲!七、源程序代碼#include<stdio.h>#include"stdlib.h"#defineCOURSENUM2/*宏定義課程數(shù)目*/voidmenu();voidinput();voiddelet();voidinsert();voidmodify();voidsearch();voidtongji();voidoutput();voidaverage();voidunpassed();voidanykey();staticintm=3;/*全局變量*/structcourse/*定義課程結(jié)構(gòu)體*/{intnum;charname[10];floatcredit;floatscore;floatusual;floatintegral;};structstu/*定義學(xué)生結(jié)構(gòu)體*/{intclass;intnum;charname[10];charsex[2];intage;structcoursecourse[2];floatavescore;}stu[50];voidinput()/*輸入函數(shù)*/{inti,j,sum;for(i=0;i<m;i++){printf("請輸入學(xué)生基本信息:\n");printf("班級:\n");scanf("%d",&stu[i].class);printf("學(xué)號:\n");scanf("%d",&stu[i].num);printf("姓名:\n");scanf("%s",stu[i].name);printf("性別:\n");scanf("%s",&stu[i].sex);printf("年齡:\n");scanf("%d",&stu[i].age);printf("請輸入課程基本信息:\n");for(j=0,sum=0;j<COURSENUM;j++){printf("課程編號:\n");scanf("%d",&stu[i].course[j].num);printf("課程名稱:\n");scanf("%s",stu[i].course[j].name);printf("學(xué)分:\n");scanf("%f",&stu[i].course[j].credit);printf("考試成績:\n");scanf("%f",&stu[i].course[j].score);printf("平時成績:\n");scanf("%f",&stu[i].course[j].usual);stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7;/*計算綜合分*/sum=sum+stu[i].course[j].integral;}stu[i].avescore=sum/COURSENUM;/*求平均成績*/}anykey();}voidmodify()/*數(shù)據(jù)修改函數(shù)*/{inti,j,q,p=0,sum;charname[15];printf("---------------------------------------\n");printf("|1.修改基本信息:|\n");printf("|2.修改課程信息:|\n");printf("---------------------------------------\n");scanf("%d",&q);switch(q)/*選擇項目*/{case1:printf("輸入被修改者姓名:\n");scanf("%s",name);printf("請輸入學(xué)生基本信息:\n");for(i=0;i<m;i++){if(strcmp(stu[i].name,name)==0){printf("班級:\n");scanf("%d",&stu[i].class);printf("學(xué)號:\n");scanf("%d",&stu[i].num);printf("姓名:\n");scanf("%s",stu[i].name);printf("性別:\n");scanf("%s",stu[i].sex);printf("年齡:\n");scanf("%d",&stu[i].age);printf("修改成功\n");p=1;}}if(p==0)printf("不存在");break;case2:printf("輸入被修改者姓名:\n");scanf("%s",name);for(i=0;i<m;i++){if(strcmp(stu[i].name,name)==0){printf("請輸入課程基本信息:\n");for(j=0,sum=0;j<COURSENUM;j++){printf("課程編號:\n");scanf("%d",&stu[i].course[j].num);printf("課程名稱:\n");scanf("%s",stu[i].course[j].name);printf("學(xué)分:\n");scanf("%f",&stu[i].course[j].credit);printf("考試成績:\n");scanf("%f",&stu[i].course[j].score);printf("平時成績:\n");scanf("%f",&stu[i].course[j].usual);stu[i].course[j].integral=stu[i].course[j].usual*0.3+stu[i].course[j].score*0.7;sum=sum+stu[i].course[j].integral;printf("修改成功\n");}}p=1;}if(p==0)printf("不存在");break;default:printf("不存在該學(xué)生信息\n");}anykey();}voidinsert()/*插入函數(shù)*/{intj,sum;charch;do{printf("請輸入學(xué)生基本信息:\n");printf("班級:");scanf("%d",&stu[m].class);printf("學(xué)號:");scanf("%d",&stu[m].num);printf("姓名:");scanf("%s",stu[m].name);printf("年齡:");scanf("%d",&stu[m].age);printf("性別:");scanf("%s",stu[m].sex);printf("請輸入課程基本信息:\n");for(j=0,sum=0;j<COURSENUM;j++){printf("課程編號:");scanf("%d",&stu[m].course[j].num);printf("課程名稱:");scanf("%s",stu[m].course[j].name);printf("學(xué)分:");scanf("%f",&stu[m].course[j].credit);printf("考試成績:");scanf("%f",&stu[m].course[j].score);printf("平時成績:");scanf("%f",&stu[m].course[j].usual);stu[m].course[j].integral=stu[m].course[j].usual*0.3+stu[m].course[j].score*0.7;sum=sum+stu[m].course[j].integral;}stu[m].avescore=sum/COURSENUM;m++;/*人數(shù)增加*/printf("插入成功\n");printf("是否繼續(xù)插入信息?(y/n)\n");ch=getch();}while(ch=='Y'||ch=='y');anykey();}voidsearch()/*查詢數(shù)據(jù)*/{inti,j,p=0,a,num;floatintegral;chars[15];printf("-----------------------------------------\n");printf("|1、按姓名查詢|\n");printf("|2、按學(xué)號查詢|\n");printf("-----------------------------------------\n");printf("請選擇:\n");scanf("%d",&a);switch(a){case1:printf("請輸入姓名\n");/*輸入查詢數(shù)據(jù)*/scanf("%s",s);for(i=0;i<m;i++){if(strcmp(stu[i].name,s)==0){printf("基本信息:\n");printf("------------------------------------------------------\n\|班級|學(xué)號|姓名|性別|年齡|\n");printf("|%6d|%6d|%6s|%6s|%6d|\n",stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);/*輸出表格*/printf("------------------------------------------------------\n");printf("課程基本信息:\n\------------------------------------------------------------\n");printf("|課程編號|課程名稱|學(xué)分|考試成績|平時成績|綜合成績|\n");for(j=0;j<COURSENUM;j++){printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,stu[i].course[j].usual,stu[i].course[j].integral);}printf("------------------------------------------------------------\n");p=1;anykey();}}if(p==0)printf("不存在該學(xué)生信息\n");break;case2:printf("請輸入學(xué)號\n");scanf("%d",&num);for(i=0;i<m;i++){if(strcmp(stu[i].num,num)==0){printf("基本信息:\n");printf("-----------------------------------------\n\|班級|學(xué)號|姓名|性別|年齡|\n");printf("|%6d|%6d|%6s|%6s|%6d|\n",stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);/*輸出表格*/printf("-----------------------------------------\n");printf("課程信息:\n\-----------------------------------------------------------\n");printf("|課程編號|課程名稱|學(xué)分|考試成績|平時成績|綜合成績|\n");printf("-----------------------------------------\n");for(j=0;j<COURSENUM;j++){printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,stu[i].course[j].usual,stu[i].course[j].integral);printf("------------------------------------------------------------\n");}p=1;anykey();break;}}if(p==0)printf("不存在該學(xué)生信息\n");break;}}voiddelet()/*刪除函數(shù)*/{inti,j,p=0;charname[15];printf("輸入需要刪除的學(xué)生姓名:\n");scanf("%s",&name);for(i=0;i<m-1;i++){if(strcmp(stu[i].name,name)==0){stu[i]=stu[i+1];m--;/*人數(shù)減少*/p=1;printf("刪除成功\n");}elseif(strcmp(stu[m-1].name,name)==0){m--;p=1;printf("刪除成功\n");}}if(p==0)printf("不存在該學(xué)生信息\n");anykey();}voidtongji()/*數(shù)據(jù)統(tǒng)計函數(shù)*/{intp;printf("-----------------------------------\n");printf("|1.全部輸出:|\n");printf("|2.計算平均成績|\n");printf("|3.不及格名單|\n");printf("-----------------------------------\n");scanf("%d",&p);switch(p){case1:output();break;case2:average();break;case3:unpassed();break;}}voidoutput()/*輸出函數(shù)*/{inti,j;printf("學(xué)生基本信息:\n");/*輸出表格和數(shù)據(jù)*/printf("--------------------------------------\n|班級|學(xué)號|姓名|性別|年齡|\n");printf("--------------------------------------\n");for(i=0;i<m;i++){printf("|%6d|%6d|%6s|%6s|%6d|\n",stu[i].class,stu[i].num,stu[i].name,stu[i].sex,stu[i].age);printf("--------------------------------------\n");}printf("課程信息:\n\--------------------------------------------------------------\n");printf("|課程編號|課程名稱|學(xué)分|考試成績|平時成績|綜合成績|\n");printf("--------------------------------------------------------------\n");for(i=0;i<m;i++){for(j=0;j<COURSENUM;j++){printf("|%10d|%10s|%6.2f|%10.2f|%10.2f|%10.2f|\n",stu[i].course[j].num,stu[i].course[j].name,stu[i].course[j].credit,stu[i].course[j].score,stu[i].course[j].usual,stu[i].course[j].integral);printf("--------------------------------------------------------------\n");}}}voidaverage()/*平均分和排序函數(shù)*/{inti,j;structstutemp;printf("平均分信息:\n");printf("--------------------------\n");printf("|姓名|平均分|\n");printf("--------------------------\n");for(i=0;i<m;i++){printf("|%10s|",stu[i].name);printf("%10.3f|\n",stu[i].avescore);printf("--------------------------\n");}printf("從高到低排列:\n");printf("--------------------------\n");printf("|姓名|平均分|\n");printf("--------------------------\n");for(i=0;i<m;i++){for(j=i+1;j<=m-1;j++){if(stu[i].avescore<stu[j].avescore){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}printf("|%10s|",stu[i].name);printf("%10.3f|\n",stu[i].avescore);printf("--------------------------\n");}anykey();}voidunpassed()/*不及格名單*/{inti,j,k=0,sum;printf("不及格名單:\n");printf("--------------------------------\n");printf("|姓名|課程名稱|綜合成績|\n");printf("--------------------------------\n");for(i=0;i<m;i++){for(j=0,sum=0;j<COURSENUM;j++){if(stu[i].course[j].integral<60){k=1;printf("|%6s|%10s|%10f|\n",stu[i].name,stu[i].course[j].name,stu[i].course[j].integral);stu[i].course[j].integral=stu[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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代企業(yè)現(xiàn)金流分析與優(yōu)化策略
- 國慶節(jié)漢服節(jié)活動方案
- 環(huán)境安全教育在校園的推廣與實踐
- Unit 4 Natural disasters Project 說課稿-2024-2025學(xué)年高中英語人教版(2019)必修第一冊
- 3 地球的形狀說課稿-2023-2024學(xué)年大象版科學(xué)四年級下冊
- 2023六年級語文上冊 第三單元 12 故宮博物院說課稿新人教版
- Unit1 Making friends Part C(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊001
- 2024年四年級品社下冊《第三單元 交通連著你我他》說課稿 山東版
- 27巨人的花園 說課稿 -2023-2024學(xué)年語文四年級下冊統(tǒng)編版
- Module 3 Unit 2 You can use the computers.(說課稿)-2023-2024學(xué)年外研版(一起)英語五年級下冊001
- 2025年上半年山東氣象局應(yīng)屆高校畢業(yè)生招考易考易錯模擬試題(共500題)試卷后附參考答案
- 第二單元 主題活動三《世界那么大我想去看看》(說課稿)-2023-2024學(xué)年六年級下冊綜合實踐活動內(nèi)蒙古版
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識點默寫小紙條(答案背誦版)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 全國第三屆職業(yè)技能大賽(無人機駕駛(植保)項目)選拔賽理論考試題庫(含答案)
- 《奧特萊斯業(yè)態(tài)淺析》課件
- 2022年湖南省公務(wù)員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 2023年山東藥品食品職業(yè)學(xué)院單招綜合素質(zhì)考試筆試題庫及答案解析
- 紡織廠各工種考核細(xì)則
評論
0/150
提交評論