C語言課程設(shè)計報告書2_第1頁
C語言課程設(shè)計報告書2_第2頁
C語言課程設(shè)計報告書2_第3頁
C語言課程設(shè)計報告書2_第4頁
C語言課程設(shè)計報告書2_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

西安鄴雷孥院

西安鄴雷孥院C語言課程設(shè)計報告書(xianyoudiandaxue)系部名稱電子信息與工程系學(xué)生姓名張倩專業(yè)名稱電子信息工程一班級電子0701班學(xué)號05071013指導(dǎo)教師 街霞2008年06月09日至?xí)r間2008年06月20日實驗題目 學(xué)生信息管理系統(tǒng)一、 實驗?zāi)康模海?) 本課程設(shè)計為學(xué)生提供了一個既動手又動腦,自學(xué),查資料,獨立實踐的機會。將本學(xué)期課本上的理論知識和實際有機的結(jié)合起來,鍛煉學(xué)生實際分析問題和解決問題的能力,提高學(xué)生適應(yīng)實際、實踐編程的能力,使對C語言系統(tǒng)編程有一個大致的了解。(2) C語言的實踐。掌握C語言函數(shù)的定義方法,函數(shù)的聲明及函數(shù)的調(diào)用過程。掌握結(jié)構(gòu)體類型變量的定義和使用,綜合應(yīng)用C語言的知識,實現(xiàn)一個完整的系統(tǒng),提高編程能力,體會軟件程序的開發(fā)過程。二、 實驗內(nèi)容:(1) 運用結(jié)構(gòu)體數(shù)組編輯一個簡單的學(xué)生管理系統(tǒng),使之能夠完成學(xué)生信息的創(chuàng)建、添加,查詢、修改,刪除、統(tǒng)計、排序等操作,并對文件進行保存和讀取。(2) 執(zhí)行編譯操作,并根據(jù)提示調(diào)試此程序,排除所有的錯誤和警告。直到編譯成功為止。(3) 執(zhí)行運行操作,逐一對每個模塊進行調(diào)試。直到全部程序運行成功為止。(4) 請老師檢查,向老師演練此程序,并能回答老師提出的相關(guān)問題。三、 需求分析:(1) 根據(jù)學(xué)生信息管理的需要,建立一個“學(xué)生信息管理系統(tǒng)”系統(tǒng)具有輸入、輸出、查詢、修改、刪除、統(tǒng)計、排序等基本功能;以方便對信息的管理操作。每一條記錄包括一個學(xué)生的學(xué)號、姓名、成績、性別,年齡,出生年月日,家庭住址.系統(tǒng)的各個功能模塊都用函數(shù)的形式來實現(xiàn);可以將學(xué)生成績信息保存在文件中,并從文件中讀取出來。有一個清晰美觀界面來調(diào)用各個功能。本程序是由C語言的基本單位一函數(shù)來設(shè)計實現(xiàn)與其功能的多次使用函數(shù)調(diào)用以及函數(shù)的嵌套調(diào)用。本程序分為7個模塊,分別為創(chuàng)建學(xué)生資料;添加學(xué)生的資料;查詢學(xué)生的成績;修改學(xué)生的資料;刪除學(xué)生的資料;統(tǒng)計學(xué)生的成績;對學(xué)生的資料進行排序。本程序可以處理多個學(xué)生的成績的輸入、添加、修改、排序等問題。本程序的使用特別方便,每做完一個模塊,下面都有提示信息。使用環(huán)境為Tc。(2) 創(chuàng)建該學(xué)生成績管理系統(tǒng)目的就是能夠?qū)W(xué)生基本信息進行創(chuàng)建、追加、查詢、修改、刪除、統(tǒng)計、排序等功能,這樣可以簡化許多人工做起來很復(fù)雜的問題。譬如:“排序”,有了此程序只需將信息輸入,計算機就可自動執(zhí)行,省時、省力。另外,它還可以重復(fù)使用,方便、快捷。(3) 該學(xué)生基本信息管理系統(tǒng)是在WIN-TC中文簡體環(huán)境下運行。該系統(tǒng)要測試的數(shù)據(jù)如下:輸入模塊:(輸入5個學(xué)生的信息)

序號姓名學(xué)號成績年齡性別家庭住址出生年月日01MaryA10019818femaleshandong1988-5-602LindaA10028618fameladalian1988-12-2303TomA10249519malenanshang1988-9-804JimA10258019malebeishang1988-5-2305SusanA10477818femalexishan1988-8-9添加模塊:(再加1個信息)06KingA10485619malenanjing1989-9-23查詢模塊:(查詢Jim的基本信息)A1024(按學(xué)號即可查詢)或Jim(按姓名也可查詢)修改模塊:(修改Linda的信息)(輸入)1(修改名字)(輸入)2(修改學(xué)號)(輸入)3(修改成績)(輸入)4(修改性別)(輸入)5(修改年齡)(輸入)6(修改家庭住址)(輸入)7(修改出生年月日)刪除模塊:(刪除King的基本信息)學(xué)號即可刪除)統(tǒng)計模塊:可統(tǒng)計男女人數(shù),統(tǒng)計各分數(shù)段人數(shù)。排序模塊:按成績,學(xué)號,分別進行排序。四、概要設(shè)計(1)主函數(shù)結(jié)構(gòu)圖:(2)模塊功能詳細說明:入、輸入模塊:此模塊可以連續(xù)輸入30個學(xué)生的資料,若學(xué)生數(shù)少于30,則可以在輸入序號處輸入0便可退出此模塊,并把輸入的信息保存到c:\\students文件中。B、輸出模塊:此模塊中先打開c:\\students文件中的學(xué)生信息,后輸出要學(xué)生信息."更新模塊:此模塊包括添加,修改,刪除模塊.修改模塊:此模塊中可以修改學(xué)生的任何一個信息。修改完畢后輸入尸可以繼續(xù)修改,輸入口則退出此模塊。刪除模塊:此模塊中用到的刪除原理為覆蓋要刪除的學(xué)生的資料。過程簡述,先輸入要刪除的學(xué)生的學(xué)號,系統(tǒng)找到此學(xué)生的信息后給它復(fù)制下一個學(xué)生的信息,給下一個學(xué)生的紀錄復(fù)制下下一個學(xué)生的信息,一直到最后一個學(xué)生的信息復(fù)制給倒數(shù)第二個學(xué)生的信息為止。然后文件中的學(xué)生總數(shù)減一含了三個小模塊.添加模塊:此模塊中先打開c:\\students統(tǒng)計文件中的學(xué)生,后輸入要添加的學(xué)生的學(xué)號,系統(tǒng)確認此學(xué)號在c:\\students不存在時開始紀錄新學(xué)生的資料,便清楚使用者。D.查詢模塊:此模塊中使用者可以用三種方式查詢學(xué)生成績。分別為(1)按學(xué)號查詢(2)按姓名查詢。在這里以按學(xué)號查詢?yōu)榱校合冗x擇按學(xué)號查詢,輸入要查詢的學(xué)生的學(xué)號,系統(tǒng)確認此學(xué)號在c:\\stud存在后讀取信息并在屏幕上輸出學(xué)生紀錄。F、 排序模塊:此模塊用的為指針。在此模塊中可以按兩種方法進行排序,分別為(1)按成績排序(2)按學(xué)號排序(3)按序號排序輸出時分別以從大到小和從小到大從小到大的循序進行輸出。G、 此模塊較簡單,統(tǒng)計文件c:\\students中的男和女的學(xué)生個數(shù)和各成績段的人數(shù)。五、詳細設(shè)計及運行結(jié)果(1)各個模塊的程序流程圖添加模塊:刪除模塊:排序模塊:

(2)函數(shù)之間相互調(diào)用的圖示:(3)主要函數(shù)之間相互調(diào)用如下:主函數(shù)的調(diào)用:main(){intchoice;sum=read_message();bioskey(0);printf("pressanykeytocontinue:\n");getch();do{**************studentmanagesystemsystem("cls");**************studentmanagesystemprintf("\n\n\n**************\n\n");l.inputmessage\n\n");2.outputmessage\n\n");l.inputmessage\n\n");2.outputmessage\n\n");3.renewmessage\n\n");4.inquiremessage\n\n");5.sortmessage\n\n");printf("printf("printf("printf("printf(" 6.countmessage\n\n");printf(" 0.exitthesystem\n\n");printf(" pleaseselectthechoice");scanf("%d",&choice);switch(choice){case1:input_message();break;case2:output_message();break;case3:renew_message();break;case4:inquire_message();break;case5:sort_message();break;case6:count_message();break;case0:break;}}while(choice!=0);save_message(sum);printf("\n-messagehassaved!-(filename:students.txt)\n");刪除函數(shù)的調(diào)用delete_message()(chardelete_number[10];inti;system("cls");printf("pleaseinputthenumberyouwanttodelete:");scanf("%s”,delete_number);for(i=0;i<sum;i++){if(strcmp(stud[i].number,delete_number)==0){for(;i<sum;i++)stud[i]=stud[i+1];sum=sum-1;printf("themessagehasbeendeleted!");}elseprintf("thestudentisnotexist!");}}

添加函數(shù)的調(diào)用insert_message(){inti=sum,j,flag=0;charchoice;system("cls");printf("\n\n addanewstudent\n");printf(" \n");do{stud[i].num=++sum;printf("\n thenewstudent'snum:%d",stud[i].num);printf("\n thenewstudent'sname:");scanf("%s",stud[i].name);printf("\n thenewstudent'snumber:");scanf("%s",stud[i].number);printf("\n thenewstudent'sscore:");scanf("%d",&stud[i].score);printf("\n thenewstudent'sage:");scanf("%d",&stud[i].age);printf("\n thenewstudent'ssex:");scanf("%s",stud[i].sex);printf("\n thenewstudent'saddress:");scanf("%s",stud[i].address);printf("\n thenewstudent'sbirthday:");scanf("%d %d %d",&stud[i].birthday.year,&stud[i].birthday.month,&stud[i].birthday.(ay);printf("\nDoyouwanttocontinue?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\ncontinue!\n");i++;flag=1;}elseflag=0;六、調(diào)試情況,設(shè)計技巧及體會(1)、調(diào)試中的問題:剛開始沒有那個初始化函數(shù),程序運行后沒有輸入任何數(shù)據(jù)就試得去執(zhí)行顯示功能,結(jié)果output_message顯示的是一些亂碼!加入初始化函數(shù)后,這種現(xiàn)象也隨之消失。在輸入函數(shù)中設(shè)了最大值,可以輸入30個學(xué)生的成績信息,當輸入數(shù)字‘0’時停止,并保存信息。在沒有輸入任何信息的情況下,不能執(zhí)行查詢、修改、刪除、統(tǒng)計、排序功能。有時候,忘記定義就直接調(diào)用,使得出錯。定義的成績是浮點型的,但輸入數(shù)據(jù)的時候卻忘記輸成整型,導(dǎo)致輸入和輸出均錯誤。最后,將定義的成績改為整型才正確。我這時候才真正體會到了一致性的重要。檢查程序很多遍但卻始終不知道輸入的數(shù)據(jù)有錯,很令人頭疼。(2)對自己程序的總結(jié)與評價:本程序是由C語言的基本單位一函數(shù)來設(shè)計實現(xiàn)與其功能的多次使用函數(shù)調(diào)用以及函數(shù)的嵌套調(diào)用。本程序分為7個模塊,分別為(1)輸入學(xué)生資料。(2)輸出學(xué)生的資料(3)更新學(xué)生的成績(4)查詢學(xué)生的資料(5)排序?qū)W生的資料(6)統(tǒng)計學(xué)生的成績(7)退出信息管理系統(tǒng)。本程序可以處理多個學(xué)生的信息的輸入、添加、修改、排序等問題。本程序的使用特別方便,每做完一個模塊,下面都有提示信息。使用環(huán)境為Tc。此程序的不足之處在學(xué)生基本信息方面還不夠完善,另一方面就是在運行此程序時,需要執(zhí)行操作的提示語不夠具體和完善.改進方法:可以在學(xué)生基本信息的結(jié)構(gòu)體中添加更多的學(xué)生信息,像是多輸入幾門課的成績,刪除的時候,應(yīng)多加一個按照序號刪除,查詢時也應(yīng)加入一個按照序號查詢,使得學(xué)生信息更加完善,應(yīng)用的時候更加的方便,快捷。此外,還可以在編程時加一些必要的提示語,用printf("”);語句直接可輸入.(3)、在設(shè)計過程中的感受:首先經(jīng)過兩周的編程實習(xí),并在后一段的報告總結(jié),我對C語言這門科有新的認識,本人實在是獲益不淺!要想編寫一個準確、高效并有使用價值的程序,一定先要對課本知識熟悉,還要掌握必要的上機操作能力,寫程序其實很容易而關(guān)鍵在于調(diào)試程序。這次設(shè)計,讓我重新掌握了C語言,而且還得到了用C語言解決實際問題的寶貴經(jīng)驗。其次,通過此次編程我也發(fā)現(xiàn)了自己在學(xué)習(xí)中的錯誤和不足,復(fù)習(xí)了以前學(xué)過的知識。同時也學(xué)到了一些沒學(xué)過的知識,讓我從中收益非淺,也為期末考試準備了一下!更重要的是培養(yǎng)了獨立思考問題和解決問題的能力,熟悉了一些基本操作和解決問題的方法!再則,因為初次接觸等原因此次設(shè)計遇到了許多問題,我深刻體會到老師發(fā)揮的重要作用,C語言程序?qū)ξ覀儊碚f比較難,在匆忙的學(xué)習(xí)中更是難上加難,似乎覺得自己僅是個匆匆過客,但在老師的幫助下我學(xué)會了如何調(diào)試,如何查找系統(tǒng)沒有提示的錯誤,最后終于排除萬難把程序搞定,體會到原來編程也挺有意思的快感.我想沒有老師的幫助我很難在短期內(nèi)把程序設(shè)計做的這樣好,在此特地感謝老師的幫助。(4)測試數(shù)據(jù):輸入模塊:序號:01姓名:mary學(xué)號:a1005成績:89年齡:19性別:女家庭住址fangdong:出生年月曰:1988-9-16序號:02姓名:jim學(xué)號:a1021成績:76年齡:18性別:男家庭住址linhe:出生年月曰:1989-6-12序號:03姓名:ham學(xué)號:a1012成績:68年齡:18性別:男家庭住址kongtou:出生年月日:1989-1-23輸出模塊:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01marya10058919女fangdong1988-9-1602jima10217618男Linhe1989-6-1203hama10126818男kongtou1989-1-23添加模塊:序號:04姓名:susan學(xué)號:a1025成績:78年齡:18性別:女家庭住址kongtou:

出生年月日:1989-6-30輸出:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01marya10058919女fangdong1988-9-1602jima10217618男Linhe1989-6-1203hama10126818男kongtou1989-1-2304susana10257818女kongtou1989-6-30刪除模塊:輸入要刪除的學(xué)號:a1025輸出:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-23修改模塊:輸入要修改的學(xué)號:a1021你想修改哪一項?姓名學(xué)號成績年齡性別家庭住址出生年月日:請選擇(廣7)3成績:98序號姓名學(xué)號成績年齡性別家庭住址出生年月日02Jima10219818男l(wèi)inhe1989-6-12查詢模塊:按學(xué)號查詢:輸入你要查詢的學(xué)號:a1021序號姓名學(xué)號成績年齡性別家庭住址出生年月日02Jima10219818男l(wèi)inhe1989-6-12按姓名查詢:輸入你要查找的姓名:jim序號姓名學(xué)號成績年齡性別家庭住址出生年月日02Jima10219818男l(wèi)inhe1989-6-12統(tǒng)計模塊:統(tǒng)計男女人數(shù):男的:2女的:2統(tǒng)計成功!按任意鍵返回!統(tǒng)計各分數(shù)段人數(shù):90分以上:080分以上:170分以上:260分以上:360分以下:無統(tǒng)計成功!按任意鍵返回!排序模塊:按學(xué)號:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01Marya10058919女fangdong1988-9-1603Hama10126818男kongtou1989-1-2302jima10217618男l(wèi)inhe1989-6-122.按成績:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-233.按序號:序號姓名學(xué)號成績年齡性別家庭住址出生年月日01Marya10058919女fangdong1988-9-1602Jima10217618男Linhe1989-6-1203Hama10126818男kongtou1989-1-23程序運行:主 函NNNNKNNNNKNNNNStlldentFianagCSystemNNNKNNNNKNNNNN1.inputmessage2.outputmessagerenewmessage4.inquiremessagesortmessagecountmessageO.exitthesystempleaseselectthechoice1.輸入模塊:enterthestudents1messages<notmorethan30>the1thstudentstudentfsnun:lstudentfsname:marystudent1snumber:al008student1sscore:78student1sage:18studentfssex:fenalestudentfsaddress:111student1sbirthday:1988-5-6the2thstudentstudent1snum:2studentfsname:jinstudentfsnumber:al028student1sscore:89student1sage:19studentfssex:nalestudentfsaddress:fffstudent1sbirthday:1989-5-23the3thstudent

student1snum:0——2studentsmessagehauebeeninput?——pressan</keyreturntomenu?輸出模塊: studentmessagelist the1thpageum—name—number—score—age—sex—address—birtlidaij<year-month-day>,mary,al008,78,18,female,111,1988-5-6,jin,al028,89,19,male,ff£,1989-5-23ressanpkeytomenuf3 ^ 更新模塊MMJO<J<XMMXJO<MMXMXJOfnEWtllEStudentllEWWHgEMMMXMMMJOCMXMMXM1.insertmessagedeletemessagereuisemessage0.returntomenupleaseselectyourchoice:.插入模塊:addaneustudenttheneustudent1sinun:3theneustudent1sinane:dauidtheneustudent1sinunber:alO58theneustudent1j>score:89theneustudent1jiage:18theneustudent1j>sex:maletheneustudent1j>address:ssssstheneustudent1j;birthday:1989-6-20Doyou.uanttocontinue?<¥/N>pressanykeytomenu, studentmessagelist the1thpagenum一一name—number—score一一age一一sex—address一一birthd己y<year-nonth-day>mari/,al008,78,18,female,111,1988-5-6jim,al028,89,19,nale,fff,1989-5-233J.dauidJ.al058,89,18,maleJ.sssssJ.1989—6—20pressan^Fkeytomenuf.刪除模塊pleaseinputthenumberyouuanttodelete:al028 studentmessagelist the1thpagenum—name—number—score—age—sex—address—birthdav《year-month-day>nariF,al008,78,18,fenale,111,1988-5-6dauid,al058,89,18,male,sssss,1989——6——20pressmnykeytomenu!.修改模塊:inputthestudent1snumberijouuanttoreuise:al008——studentsmessage——num——name——number——score——age——sex——address——birtlida^r<year-month-day>1,al008,78,18,female,111,1988-5-6whichonedoyouwanttoreuise?namenumberscoresex5.ageaddressbirthdaypleaseselectyourchoice:3peuisedscore:98num一一name一一number一一score一一age一一sex一一address一一birthda<year-nonth-day>1,al008,98,18,female,111,1988-5-6Doi/ouuanttocontinuetoreuise?<¥/N>pressanykeyreturntonenuf studentmessagelist the1thpagenurn——name——number——score——age——sex——address——birth曲y<year-nontli-day>1,mari/,al008,98,18,female,111,1988-5-6dauid,al058,89,18,male,sssss,1989—6—20pressan</keytomenu!查詢模塊:1)按學(xué)號查詢:inputrequirednLimber:al008——studentsmessage——num一一name一一number一一score一一age一一sex一一address一一bii't}iday<yeai'-iiont}i-day>l,mary,al008,98,18,female,111,1988-5-62)按姓名查詢:inputtheinquiredname:dauid——studentsmessage——num一一name一一number一一score一一age一一sex一一address一一birthdavyear-month-day>3J.dauidJ.al058J.89,18J.male,sssss,1989—6—20排序模塊:MUOOCMJOOCMJOOCMMJCwtudEnt:SOFtIDEWW丑如><><>*JOCKXMJOCKMMMsortnumbersortscoresortnunB.retiiFntomenupleaseselectyourchoice:1)按學(xué)號排序:sortnumbersortnunnamenumberscoreagesexaddressbirthdaiF1nwyal0089818fenale1111988562dauida!0588918malesssss19896202)按成績排序:sortscoresortnumnamenumberscoreagesexaddressbirthday1marual0089818female1111988562dauidal0588918malesssss19896203)按序號排序:sortnumsortnumnamenumberscoreagesexaddressbirthdaymaryal0089818female111198856dauidal0588918malesssss19896206.統(tǒng)計模塊:

MMMMlOOOCMMMMMMMMMMMcDUnttheStudents^IDESS己卵***MMMMMMMMMMX1_countsex2.countscore0.returntomenupleaseselectyourchoice:1)統(tǒng)計男女:themale:1thefemale:lcountsuccessfully.pressanvkeytomenu2)統(tǒng)計成績:themorethanstudents:1themorethan80themorethan70themorethemorethanstudents:1themorethan80themorethan70themorethan60passedstudents:passedstudents:0countsuccessfully,pressanvkeytomenu?7.退出模塊七、源程序清單:#include<stdio.h>#include<string?h>#defineMAX30#definePAGE5#define PRINT1printf(" -\n")#define PRINT2printf("num--name--number--score--age--sex--address--birthday(year-month-day)\n")#define PRINT3printf("%d,%s,%s,%d,%d,%s,%s,%d-%d-%d\n〃,stud[i].num,stud[i].name,stud[i].number,stud[i].score,stud[i].age,stud[i].sex,stud[i].address,stud[i]?birthday?year,stud[i]?birthday.month,stud[i].birthday?day)intsum;structDATE{intyear;intint};struct{intmonth;day;studnum;charname[21];charnumber[10];intscore;intage;charsex[11];charaddress[27];structDATEbirthday;}stud[MAX];save_message(intsum){FILE*fp;inti;if((fp=fopen("students.txt","wb"))==NULL){printf("readfilewrong!\n");return;}for(i=0;i<sum;i++)if(fwrite(&stud[i],sizeof(structstud),1,fp)!=1)printf("writefilewrong!\n");fclose(fp);}input_message(){inti=0,s=MAX;system("cls");enterthestudents'messages(notmoreprintf("\n\nenterthestudents'messages(notmorethan%d)\n",s);printf("\n");do\n");do{printf("\nthe%dthstudent”,i+1);printf("\nstudent'snum:");scanf("%d",&stud[i].num);if(stud[i].num―0)break;printf("\nstudent'sname:");scanf("%s",stud[i].name);printf("\nstudent'snumber:");scanf("%s”,stud[i].number);printf("\nscanf("%d”,&stud[i].score);printf("\nscanf("%d",&stud[i].age);printf("\nscanf("%s",stud[i].sex);printf("\nscanf("%s",stud[i].address);printf("\nstudent'sscore:");student'sage:");student's 5、sex:);student'saddress:");student'sbirthday:");stud),1,fp)inti=0,j=0,page=1;system("cls");printf("\n\n--printf("\n\nstud),1,fp)inti=0,j=0,page=1;system("cls");printf("\n\n--printf("\n\nstudentmessagelistthe%dthscanf("%d-%d-%d",&stud[i]?birthday.year,&stud[i].birthday,month,&stud[i].birthday.day);i++;}while(i<MAX);printf("\n --%dstudentsmessagehavebeeninput!--\n",i);sum=i;printf("\npressanykeyreturntomenu!");bioskey(0);intread_message(){FILE*fp;inti=0;if((fp=fopen("students.txt","rb"))==NULL){printf("\n\n**thereisnomessage,pressanykeytomenuandinputmessage!*****\n");return;while(feof(fp)!=1)fread(&stud[i],sizeof(structstud),1,fp);if(stud[i].num==0)break;elsei++;fclose(fp);return;output_message()page\n\n",page);PRINT2;PRINT1;do{if(stud[i].num!=0){j++;if(j%PAGE!=0){PRINT3;PRINT1;}else{PRINT3;PRINT1;if(stud[i+1].num!=0){printf("pressanykeytocontinue!");bioskey(0);system("cls");printf("\n\n studentsmessagelistthe%dthpages\n\n",++page);PRINT2;PRINT1;}}}i++;}while(stud[i].num!=0);printf("pressanykeytomenu!");bioskey(0);}insert_message(){inti=sum,j,flag=0;charchoice;system("cls");printf("\n\naddanewstudent\n");printf(" \n");do{stud[i].num=++sum;printf("\n thenewstudent'snum:%d",stud[i].num);printf("\n thenewstudent'sname:");scanf("%s”,stud[i].name);printf("\n thenewstudent'snumber:");scanf("%s”,stud[i].number);printf("\n thenewstudent'sscore:");scanf("%d",&stud[i].score);printf("\n thenewstudent'sage:");scanf("%d",&stud[i].age);printf("\n thenewstudent'ssex:");scanf("%s",stud[i].sex);printf("\n thenewstudent'saddress:");scanf("%s",stud[i].address);printf("\n thenewstudent'sbirthday:");scanf("%d %d %d",&stud[i]?birthday,year,&stud[i]?birthday,month,&stud[i]?birthday.day);printf("\nDoyouwanttocontinue?(Y/N)");choice=getch();if(choice=='y'||choice=='Y'){printf("\ncontinue!\n");i++;flag=1;}elseflag=0;}while(flag==1);printf("\n pressanykeytomenu!");bioskey(0);}delete_message(){chardelete_number[10];inti;system("cls");printf("pleaseinputthenumberyouwanttodelete:");scanf("%s",delete_number);for(i=0;i<sum;i++){if(strcmp(stud[i].number,delete_number)==0){for(;i<sum;i++)stud[i]=stud[i+1];sum=sum-1;printf("themessagehasbeendeleted!");}elseprintf("thestudentisnotexist!");}}revise_message(){inti=0;intchoice,flag;charrevise_number[10];do{system("cls");printf("\n inputthestudent'snumberyouwanttorevise:");scanf("%s",revise_number);for(i=0;i<sum;i++)if(strcmp(stud[i].number,revise_number)==0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;printf("\nwhichonedoyouwanttorevise?\n");printf("\n 1.name\n");printf("\n 2.number\n");printf("\n 3.score\n");printf("\n 4.sex\n");printf("\n 5.age\n");printf("\n 6.address\n");printf("\n 7.birthday\n");printf("\n pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:printf("\n revisedname:");scanf("%s",stud[i].name);break;case2:printf("\n revisednumber:");scanf("%s",stud[i].number);break;case3:printf("\n revisedscore:");scanf("%d",&stud[i].score);break;case4:printf("\n revisedage:");scanf("%d",&stud[i].age);break;case5:printf("\n revisedsex:");scanf("%s",stud[i].sex);break;case6:printf("\n revisedaddress:");scanf("%s",stud[i].address);break;case7:printf("\n revisedbirthday:");scanf("%d%d%d”,&stud[i].birthday.year,&stud[i].birthday.month,&stud[i].birthday.day);}PRINT1;PRINT2;PRINT3;break;}if(i==sum){printf("\n thestudentisnotexist!");bioskey(0);}printf("\n\nDoyouwanttocontinuetorevise?(Y/N)");choice=getch();if(choice==,Y,||choice==,y,){flag=1;printf("\ncontinue!\n");}elseflag=0;}while(flag==1);printf("\npressanykeyreturntomenu!");bioskey(0);}renew_message(){intchoice;do{system("cls");printf("\n\n\n ******************renewthestudentmessage***************\n\n");printf(" 1.insert message\n\n");printf(" 2.delete message\n\n");printf(" 3.revise message\n\n");printf(" 0.return tomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:insert_message();break;case2:delete_message();break;case3:revise_message();break;case0:break;}}while(choice!=0);}inquire_number(){inti,choice,j=0;charinquire_number[10];system("cls");printf("\ninputrequirednumber:");scanf("%s”,inquire_number);for(i=0;i<sum;i++)if(strcmp(stud[i].number,inquire_number)==0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\nthestudentnotexist!");bioskey(0);}inquire_name(){inti,choice,j=0;charinquire_name[10];system("cls");printf("\ninputtheinquiredname:");scanf("%s",inquire_name);for(i=0;i<sum;i++)if(strcmp(stud[i].name,inquire_name)==0&&stud[i].num!=0){printf("\n --studentsmessage--\n");PRINT1;PRINT2;PRINT3;}elsej++;if(j==sum)printf("\nthestudentnotexist!");bioskey(0);}inquire_message(){intchoice;do{system("cls");printf("\n\n\n **************inquirethestudents'message****************\n\n");printf(" 1.inquirenumber\n\n");printf(" 2.inquirename\n\n");printf(" 0.returntomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d”,&choice);switch(choice){case1:inquire_number();break;case2:inquire_name();break;case0:break;}}while(choice!=0);}count_sex(){structstud*p,*q[MAX];intm_num=0,f_num=0,i;system("cls");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){if(strcmp(q[i]->sex,"male")==0||strcmp(q[i]->sex,"MALE")==0)m_num++;elsef_num++;}printf("\nthemale:%d",m_num);printf("\nthefemale:%d",f_num);printf("countsuccessfully.pressanykeytomenu\n");bioskey(0);}count_score(){structstud*p,*q[MAX];inta=0,b=0,c=0,d=0,e=0;inti;system("cls");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++)TOC\o"1-5"\h\z{if(q[i]->score>=90) a++;if(q[i]->score>=80) b++;if(q[i]->score>=70) c++;if(q[i]->score>=60) d++;else e++;}printf("\nthemorethan90students:%d\n”,a);printf("\nthemorethan80students:%d\n”,b);printf("\nthemorethan70students:%d\n”,c);printf("\nthemorethan60students:%d\n",d);printf("\nnotpassedstudents:%d\n”,e);printf("countsuccessfully.pressanykeytomenu!");bioskey(0);}count_message(){intchoice;do{system("cls");printf("\n\n\n *******************countthestudents'message**************\n\n");printf(" 1.countsex\n\n");printf(" 2.countscore\n\n");printf(" 0.returntomenu\n\n");printf(" pleaseselectyourchoice:");scanf("%d",&choice);switch(choice){case1:count_sex();break;case2:count_score();break;case0:break;}}while(choice!=0);}sort_number(){structstud*p,*q[MAX];inti,j,k;system("cls");sortnumber\n");printf("\nsortnumber\n");printf(" \n");printf("\nsortnumnamenumberscoreagesexaddressbirthday\n");p=stud;for(i=0;i<sum;i++)q[i]=p++;for(i=0;i<sum;i++){k=i;for(j=i+1;j<sum;j++)if(strcmp(q[k]->number,q[j]->number)>0)k=j;if(k!=i){p=q[i];q[i]=q[k];q[k]=p;}}for(i=0;i<sum;i++)printf("\n%d%d%s%s%d%d%s%s%d%d%d\n",i+1,q[i]->num,q[i]->name,q[i]->number,q[i]->score,q[i]->age,q[i]->sex,q[i]->address,q[i]->birthday.year,q[i]->birthday.month,q[i]->birthday.day);bioskey(0);}sort_score(){structstud*p,*q[MAX];inti,j,k;system("cls");printf("\n sortscore\n");printf(" ——\n");printf("\nsortnumn

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論