九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

[計算機(jī)軟件及應(yīng)用]學(xué)生管理系統(tǒng)與車輛管理系統(tǒng) 課程設(shè)計報告

  • 資源ID:27753512       資源大?。?span id="24d9guoke414" class="font-tahoma">734KB        全文頁數(shù):81頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

[計算機(jī)軟件及應(yīng)用]學(xué)生管理系統(tǒng)與車輛管理系統(tǒng) 課程設(shè)計報告

通信工程學(xué)院課程設(shè)計報告 姓名:陳志 學(xué)號:52101610 專業(yè):通信工程 班級:10級16班 (車輛管理系統(tǒng)課程設(shè)計實驗報告) 目錄1. 課程設(shè)計任務(wù)22.設(shè)計結(jié)構(gòu)圖與流程圖.23.程序代碼設(shè)計.51.1 頭文件.51.2 源文件.54.編碼與調(diào)試分析55.使用說明及運(yùn)行結(jié)果66.課程設(shè)計心得體會.77.附錄(程序清單).81.課程設(shè)計任務(wù)1.1實驗?zāi)康氖褂肅語言實現(xiàn)交通車輛違章管理系統(tǒng)的違章信息錄入、違章情況查詢、針對每臺車輛統(tǒng)計罰款總金額等基本操作。進(jìn)一步鞏固C語言的學(xué)習(xí),培養(yǎng)一定的綜合編程能力。1.2需要處理的基礎(chǔ)數(shù)據(jù)設(shè)違章種類分為違章停車、闖紅燈、超速等三種。設(shè)違章停車每次罰款100元、闖紅燈每次罰款200元、超速每次罰款500元。需處理的車輛及違章基本信息包括:車牌號、車主姓名、違章停車次數(shù)、闖紅燈次數(shù)、超速次數(shù)。1.3系統(tǒng)功能1車輛及違章信息的錄入。2基于車牌號查詢每臺車輛的違章情況。3基于車牌號統(tǒng)計每臺車輛的罰款總金額。2.設(shè)計結(jié)構(gòu)圖與流程圖 2.1設(shè)計結(jié)構(gòu)圖 程序設(shè)計圖分幾個小模塊,下面是程序的簡易結(jié)構(gòu)圖 輸入0結(jié)束輸入并推出系統(tǒng),輸入1繼續(xù) !車輛管理系統(tǒng)輸入車輛信息輸入車牌號查詢其違章情況輸入車牌號統(tǒng)計其罰款總金額2.2程序設(shè)計流程圖 開始輸入車輛信息輸入為1嗎?是輸入車牌號查詢其違章情況輸入為1碼?輸入車牌號統(tǒng)計該臺車輛的罰款總金額否是否輸入為1碼? 結(jié)束是否 3.程序代碼設(shè)計 3.1 頭文件 為了使用系統(tǒng)中一些函數(shù),引入一些系統(tǒng)函數(shù)的頭文件#include<iostream.h>#include<string.h>定義一個車輛結(jié)構(gòu)體,用來記錄車輛的相關(guān)信息:typedef struct Pechar vno8;/*車牌號*/char name15; /*車主姓名*/int times1;/*違章停車次數(shù)*/int times2;/*闖紅燈次數(shù)*/int times3;/*超速次數(shù)*/PECCANCY;之后就是編寫的程序,該程序為未定義其他的函數(shù),所有功能都是在main函數(shù)中實現(xiàn)!3.2 源文件 該系統(tǒng)只有一個mian函數(shù),無定義函數(shù)和自定義函數(shù).4.編碼與調(diào)試分析1).剛設(shè)計時,本來設(shè)計了很多的小函數(shù)來實現(xiàn)各個分功能,不過遇到了困難,就是各個分函數(shù)不能共享數(shù)據(jù),于是就改成在一個主函數(shù)實現(xiàn)所有的功能.2).還有每次用戶輸入完一項功能,詢問是否繼續(xù),如果不繼續(xù),就自動進(jìn)入下一個功能.5. 使用說明及運(yùn)行結(jié)果5.1 進(jìn)入系統(tǒng)界面提示輸入車輛信息,如下:5.2 之后按0結(jié)束輸入,或按1繼續(xù)錄入信息! 按0進(jìn)入查詢車輛信息界面.如下:5.3 同樣根據(jù)提示繼續(xù)查詢按1,否則按0結(jié)束查詢,輸入1進(jìn)入根據(jù)車牌號查詢該車總罰款金額,如下:5.4 按1繼續(xù)查詢其他車輛的總罰款金額,按0退出系統(tǒng)!6. 課程設(shè)計心得體會 通過自己編寫車輛違章管理系統(tǒng)這一程序,讓我學(xué)會了很多。以前學(xué)C語言、C+時,自己只是會運(yùn)用所學(xué)的知識編寫一些非常簡單的程序,從沒有編寫過較大的程序,更別說編寫一車輛管理系統(tǒng)了,不過這次通過自己的努力以及老師的精心指導(dǎo),成功的做出了車輛管理系統(tǒng),雖然該系統(tǒng)功能較少,但畢竟是我自己通過所學(xué)的知識做出的產(chǎn)品,看著一個個數(shù)據(jù)的輸入,之后得到了自己想要的結(jié)果,一種成就感從心里油然而生,同時讓我發(fā)現(xiàn)了編程中更大的樂趣,本來我對編程就挺感興趣,通過此次實踐,讓我對編程越來越感興趣了,當(dāng)然編程過程中也遇到了一些困難,通過自己的努力以及老師的指導(dǎo)與幫助,一個個困難都迎刃而解了,讓我學(xué)會很多東西,同時讓我明白了編程要細(xì)心,否則調(diào)試程序時會帶來沒必要的困難,總而言之,此次編程設(shè)計讓我受益匪淺!,希望我的編程能力越來越高,將來能在激烈的社會競爭中脫穎而出 !7.附錄(程序清單)#include<iostream.h>#include<string.h>#define p 1000typedef struct Pechar vno8;/*車牌號*/char name15; /*車主姓名*/int times1;/*違章停車次數(shù)*/int times2;/*闖紅燈次數(shù)*/int times3;/*超速次數(shù)*/PECCANCY;void main() int i,e,a,c,d,m=0,n=0,s;char k8,j8; PECCANCY bp; cout<<"輸入車輛信息"<<endl; for(i=0;i<p;i+) cout<<"輸入車牌號:"<<endl; cin>>bi.vno; cout<<"輸入車主姓名:"<<endl; cin>>bi.name; cout<<"輸入違章停車次數(shù):"<<endl; cin>>bi.times1; cout<<"輸入闖紅燈次數(shù):"<<endl; cin>>bi.times2; cout<<"輸入超速次數(shù):"<<endl; cin>>bi.times3; cout<<"輸入0結(jié)束錄入,輸入1繼續(xù)錄入車輛信息"<<endl; cin>>a; if(a=0) break; cout<<endl;cout<<endl;cout<<endl; cout<<"輸入車牌號查詢其違章情況"<<endl; for(e=0;e<p;e+) m=0; cout<<"輸入車牌號:"<<endl; cin>>j; for(i=0;i<p;i+) if(strcmp(j,bi.vno)=0) cout<<"車主姓名:"<<bi.name<<endl<<"違章停車次數(shù):"<<bi.times1<<endl<< "闖紅燈次數(shù):"<<bi.times2<<endl<<"超速次數(shù):"<<bi.times3<<endl; m=1; break; if(m!=1) cout<<"未找到符合條件的車輛"<<endl; cout<<"輸入0結(jié)束查詢,輸入1繼續(xù)輸入車牌號查詢"<<endl; cin>>c; if(c=0) break; cout<<endl;cout<<endl;cout<<endl;cout<<"輸入車牌號統(tǒng)計該臺車輛的罰款總金額"<<endl;for(e=0;e<p;e+) n=0; cout<<"輸入車牌號:"<<endl; cin>>k;for(i=0;i<p;i+) if(strcmp(k,bi.vno)=0)s=(bi.times1)*100+(bi.times2)*200+(bi.times3)*500; cout<<"車牌號為"<<k<<"的罰款總金額為:"<<s<<endl; n=1; break; if(n!=1) cout<<"未找到該車牌號!"<<endl; cout<<"輸入0結(jié)束輸入并退出該系統(tǒng),輸入1繼續(xù)查詢"<<endl; cin>>d; if(d=0) break; (學(xué)生管理系統(tǒng)課程設(shè)計報告) 目錄1.課程設(shè)計任務(wù).132設(shè)計結(jié)構(gòu)圖及流程圖143程序代碼設(shè)計.203.1頭文件.203.2源文件.214編碼與調(diào)試分析.225使用說明及運(yùn)行結(jié)果.226課程設(shè)計心得體會.297附錄(程序清單).301.課程設(shè)計任務(wù)1.1實驗?zāi)康氖褂脴?biāo)準(zhǔn)C或C+實現(xiàn)學(xué)生成績管理系統(tǒng)的錄入、查詢、刪除、統(tǒng)計等基本操作。進(jìn)一步鞏固C語言的學(xué)習(xí),以提高學(xué)生對開發(fā)環(huán)境的進(jìn)一步認(rèn)識和綜合編程能力。1.2需要處理的基礎(chǔ)數(shù)據(jù)學(xué)生基本信息:學(xué)號(例如2003級12班6號寫作20031206)、姓、名、性別、出生年月日、課程名稱(外語SCORE0、高數(shù)SCORE1、C語言SCORE2、馬哲SCORE3)、考試成績等。1.3系統(tǒng)功能1學(xué)生基本情況錄入。2允許對已經(jīng)錄入的數(shù)據(jù)進(jìn)行顯示。3允許進(jìn)行數(shù)據(jù)的插入。4刪除基本數(shù)據(jù)的相關(guān)信息。5基于姓名的查詢。如:姓張的所有同學(xué)。6. 對性別、出生年月日的合理性進(jìn)行判斷(如0代表“女”,1代表“男”,輸入其他值非法,年齡不能為負(fù),月份不能大于13等)7基于各種基本數(shù)據(jù)的統(tǒng)計計算。如:統(tǒng)計每個學(xué)生各門功課的平均成績,并按平均成績從高到低的次序排名輸出每個學(xué)生各門功課的綜合成績和平均成績(名次、學(xué)號、姓名、平均成績、各門功課的考試成績)。列出90分以上(包括90)、80分以上(包括80)、70分以上(包括70)、60分以上(包括60)、不及格學(xué)生清單(學(xué)號、姓名、不及格的課程和成績)。統(tǒng)計并輸出各門功課的平均成績和總平均成績。按班級統(tǒng)計并輸出總成績。(需要對學(xué)號進(jìn)行解析)2.設(shè)計結(jié)構(gòu)圖及流程圖2.1程序設(shè)計結(jié)構(gòu)圖如下: 學(xué)生課程管理系統(tǒng)輸入學(xué)生信息刪除學(xué)生信息插入學(xué)生信息修改學(xué)生信息學(xué)生成績排名輸出學(xué)生信息學(xué)生成績計算保存學(xué)生信息學(xué)生成績排名顯示學(xué)生信息讀入學(xué)生信息查詢學(xué)生信息按學(xué)號查詢按學(xué)生姓查找按學(xué)生班級查找 2.2 程序設(shè)計流程圖如下: 各函數(shù)塊流程圖:創(chuàng)建函數(shù)creat_stu()P1->num=0?N對p1新空間賦值,p2=p1,p2->next=p1Y結(jié)束開辟一空間使*p1,*p2指向它開辟一新空間*p1指向它開始對*p1指向的空間賦值,取出P1->num的值查找函數(shù)search_NO()開始獲得頭指針headP=head->next輸入一要查找的姓名/學(xué)號給數(shù)組a15a15是否等于P->num/p->name?查找成功調(diào)用打印輸出結(jié)束P=P->nextYN插入函數(shù)insert_stu()開始創(chuàng)建一新空間給*PP對*PP空間賦值P=head->nextPP->sum<P->sum?P=P->next將*PP鏈結(jié)接于*P后是否繼續(xù)插入?結(jié)束NYYN開始聲明變量:a=0,b=0。c=0,d=0,e=0a+b+c+e+d+sum>=90?Sum>=80?Sum>=70?Sum>=60?輸出個分?jǐn)?shù)段人數(shù),a,b,c,d,e的值結(jié)束YNYYYNNN按分?jǐn)?shù)段輸出函數(shù)jieduan()其他函數(shù)過于簡單就不再畫出其流程圖。3程序代碼設(shè)計3.1 頭文件先是,為了用到一些系統(tǒng)函數(shù),所以引用一些庫文件: #include <stdio.h>#include <stdlib.h>#include <string.h>#define PF printf#include "time.h "下一個就是存放學(xué)生的基本信息,包括指向下一個節(jié)點的指針.定義了一個學(xué)生結(jié)構(gòu)體用來存放學(xué)生基本信息:typedef struct St1 char IDNumber16;/*學(xué)號*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性別(0代表"女",1代表"男")*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score0,score1,score2,score3; /*成績*/ float sum; /*總分*/ float average; /*平均分*/ struct St1 *next; StudentNode;3.2 源文件,包括自己定義的函數(shù) void show_menu(); /顯示菜單void menu(); /執(zhí)行菜單void creat_stu(); /建立鏈表 void input_stu(); /輸入學(xué)生信息void print_stu(); /顯示鏈表中所有記錄信息void search_NO(); /以學(xué)號方式查詢信息void search_name(); /以姓方式查詢信息void arrage_stu(); /學(xué)生成績排名void del_stu(); /刪除學(xué)生信息void revise_stu(); /修改學(xué)生信息void save(); /保存信息void jisuan(); /計算所有學(xué)生的以及各科總分和均分 void search_clas(); /按班級查詢顯示學(xué)生信息 void insert_stu(); /插入學(xué)生記錄到表中void sort(float x,int n); /對學(xué)生按總分進(jìn)行從高到底排序void search_allscore(); /按學(xué)生總成績查詢,用來輸出排名信息void jieduan(); /用來輸出按平均分階段輸出信息,其中用了按 平均分輸出信息的程序。void Loadf(); /從文件中讀出所有學(xué)生記錄4編碼與調(diào)試分析 本程序比較大,調(diào)試過程中遇到了許多困難,在這里只是列舉少部分.我程序中按學(xué)生總分排名是先將所有學(xué)生的總分放在一個全局?jǐn)?shù)組中,然后再用冐泡法排序,不過我先前沒有將該數(shù)組寫入文件,所以當(dāng)退出系統(tǒng)重進(jìn)系統(tǒng)后,從文件中讀入數(shù)據(jù)后,該系統(tǒng)排序功能不好用了.后來我就將該數(shù)組也保存到文件中去,不過此時又遇到了困難,我先是將數(shù)組一下寫入文件,后來出錯了.文件中各數(shù)據(jù)完全不匹配了,后來我采用循環(huán)的方式一個個將數(shù)組中的數(shù)據(jù)寫入文件中保存起來,就解決了該問題!還有就是當(dāng)我編譯時沒有錯誤,運(yùn)行時系統(tǒng)就彈出一個對話框說莫莫數(shù)據(jù)不匹配,后來我發(fā)現(xiàn)原來是運(yùn)用輸入函數(shù)scanf時,要求數(shù)據(jù)類型與要輸入的數(shù)據(jù)類型不同,不過編譯器不能查出這個文題,所以以后編程時一定注意這個問題! 總之, 編碼與調(diào)試分析部分是編程步驟中非常重要的一部分,是一個程序能投入使用必須執(zhí)行的部分,非常重要!5使用說明及運(yùn)行結(jié)果 5.1 進(jìn)入系統(tǒng)界面如下:輸入1,進(jìn)行學(xué)生信息的錄入,年份輸入必須保證人的年齡在0-100歲之間,月份不大于31,否則提示重新輸入!如下:每次結(jié)束一個操作后,菜單界面就會自動彈出,而且操作完后自動保存數(shù)據(jù).輸入2時,進(jìn)行刪除學(xué)生操作!如下:每次刪除時會提示出你要刪除的學(xué)生記錄,并提示刪除完畢保存!菜單3是顯示文件中已經(jīng)保存所有學(xué)生的記錄,界面如下:圖片太小,下面還有所有的學(xué)生記錄!菜單4是按學(xué)生的姓查找學(xué)生記錄,輸入輸出界面如下:該操作可以找出該姓的所有學(xué)生記錄并顯示出來!輸入5將數(shù)據(jù)保存到文件中,操作界面如下:輸入6就是從文件中讀入數(shù)據(jù)并顯示出來,該界面就不給出了!輸入7來計算所有學(xué)生各科總分和均分,輸入輸出界面如下:輸入8按班級查詢學(xué)生記錄,該功能可以輸出該班級(學(xué)生學(xué)號按20101601格式書寫只要輸入前六位就是班級)所有學(xué)生記錄!操作界面如下:輸入9就是插入學(xué)生記錄,該界面就不顯示了,注意插入學(xué)生記錄是插入到最后一天記錄!輸入10是按學(xué)號查詢學(xué)生信息,只要輸入學(xué)生學(xué)號就可以找到該學(xué)生,如沒找到,會給出錯誤提示,該功能每個步驟都有!,該界面和按班級查找差不多,此處也不給出了.輸入11,給學(xué)生排名,并按名次從高到低顯示出來!界面如下:輸入12是修改學(xué)生信息,該界面是先提示輸入要修改學(xué)生的學(xué)號,然后顯示要修改的學(xué)生的全部信息確認(rèn)一下,后輸入正確的信息,改后自動保存!該界面也不給出了! 輸入13時按平均分分段輸出學(xué)生信息,界面如下:輸入0是退出該系統(tǒng)! 到這里該系統(tǒng)所有功能影示完畢,操作非常簡單,該系統(tǒng)具備對學(xué)生管理的全部基礎(chǔ)操作,具有可行性!而且非常具有人性化!歡迎使用!6課程設(shè)計心得體會本次實驗,就是一個較大的C語言編程。以前,我們編寫一些小程序都是一些小函數(shù),不存在一個特定功能的系統(tǒng)。因此,在編寫調(diào)試時不需要懂得太多的調(diào)試技巧。這次實驗編寫的是一個系統(tǒng),代碼相對較多,函數(shù)調(diào)用頻繁,對各個函數(shù)的兼容性調(diào)試,是很大的一項工程。整個系統(tǒng),一開始以為很大了對我們是個不小的考驗。后面自己分析之后,發(fā)現(xiàn)不過就是一個一個的小函數(shù)拼接而成,沒有什么難的。在對一個一個功能函數(shù),調(diào)試正確后,變開始設(shè)計界面,組裝函數(shù)為系統(tǒng)。在這過程中確實遇到了不少的麻煩但大多是些語法錯誤,幾經(jīng)調(diào)試也就好了。系統(tǒng)的完善。在基本功能無誤后,開始想辦法把系統(tǒng)做的更人性化一點。就比如,在每次函數(shù)輸出后,進(jìn)行清屏使每次實現(xiàn)新功能時,是在獨自的屏幕下進(jìn)行。對系統(tǒng)的退出進(jìn)行提示,以免誤動作退出系統(tǒng)。將性別輸出的字符型,改成漢子的男/女輸出,這在人性方面無疑是便于操作的。要說這次實驗最大獲得是什么,就是調(diào)試,調(diào)試,再調(diào)試。完善,完善,在完善。還有就是提高了我對編程的興趣!希望自己的編程能力越來越好,將來可以在激烈的社會競爭中脫穎而出!7.附錄(程序清單)#include <stdio.h>#include <stdlib.h>#include <string.h>#define PF printf#include "time.h " #define LEN sizeof(struct St1)/定義結(jié)構(gòu)體/typedef struct St1 char IDNumber16;/*學(xué)號*/ char FamilyName16; /*姓*/ char GivenName16; /*名*/ int sex; /*性別(0代表"女",1代表"男")*/ int BirthYear; /*出生年*/ int BirthMonth; /*出生月*/ int BirthDay; /*出生日*/ float score0,score1,score2,score3; /*成績*/ float sum; /*總分*/ float average; /*平均分*/ struct St1 *next; StudentNode;int time()struct tm* ptm;long ts;int y,m,d,h,n,s;ts = time(NULL); ptm = localtime(&ts); y = ptm-> tm_year+1900; /年 m = ptm-> tm_mon+1; /月d = ptm-> tm_mday; /日h = ptm-> tm_hour; /時n = ptm-> tm_min; /分s = ptm-> tm_sec; /秒return(y); StudentNode *head=NULL; /全局指針 int n,i=0,c=0,d=0,j=0; /全局變量 j在函數(shù)中作數(shù)組下標(biāo)或循環(huán)變量 c為總分?jǐn)?shù)組中元素個數(shù) d為平均分?jǐn)?shù)組元素個數(shù)float English=0.0,Math=0.0,C=0.0,Mazhe=0.0,Sum100,Avr100; /全局變量/自定義函數(shù)/void show_menu(); /顯示菜單void menu(); /執(zhí)行菜單void creat_stu(); /建立鏈表 void input_stu(); /輸入學(xué)生信息void print_stu(); /顯示鏈表中所有記錄信息void search_NO(); /以學(xué)號方式查詢信息void search_name(); /以姓方式查詢信息void arrage_stu(); /學(xué)生成績排名void del_stu(); /刪除學(xué)生信息void revise_stu(); /修改學(xué)生信息void save(); /保存信息void jisuan(); /計算所有學(xué)生的以及各科總分和均分 void search_clas(); /按班級查詢顯示學(xué)生信息 void insert_stu(); /插入學(xué)生記錄到表中void sort(float x,int n); /對學(xué)生按總分進(jìn)行從高到底排序void search_allscore(); /按學(xué)生總成績查詢,用來輸出排名信息void jieduan(); /用來輸出按平均分階段輸出信息,其中用了按平均分輸出信息的程序。void Loadf(); /從文件中讀出所有學(xué)生記錄void main() printf("*"); printf("n");printf(" 歡迎來到學(xué)生管理系統(tǒng) !"); printf("n"); printf("n"); printf(" 制作人:陳志52101610"); creat_stu(); menu();/*創(chuàng)建鏈表*void creat_stu() FILE *fp; long size; StudentNode *p1,*p2; head=(StudentNode *)malloc(sizeof(StudentNode); head->next=NULL; if(fp=fopen("fname.txt","r")=NULL) printf("這是新表n"); return; fseek(fp,0L,2); size=ftell(fp); if(!size) printf("這是空表n"); return; /開始創(chuàng)建鏈表 rewind(fp); /移動到文件首 p2=head->next; /找到當(dāng)前位置 while(!feof(fp) p1=(StudentNode *)malloc(sizeof(StudentNode); fscanf(fp,"%s %s %s %d %d %d %d %f %f %f %f %f %fn",p1->IDNumber,p1->FamilyName,p1->GivenName, &p1->sex,&p1->BirthYear,&p1->BirthMonth,&p1->BirthDay,&p1->score0,&p1->score1,&p1->score2,&p1->score3,&p1->sum, &p1->average); p1->next=NULL; /創(chuàng)建節(jié)點完 if(head->next=NULL) head->next=p1; else p2->next=p1; p2=p1; n+; p2->next=NULL; fclose(fp);/*執(zhí)行菜單*void menu() int c; show_menu(); while(1) scanf("%d",&c); switch(c) getchar();case 1:input_stu();break;case 2:del_stu(); break;case 3:print_stu();break;case 4:search_name(); break;case 5:save();break;case 6:Loadf();break;case 7:jisuan(); break;case 8:search_clas(); break;case 9:insert_stu() ; break;case 10:search_NO(); break;case 11:arrage_stu();break;case 12:revise_stu(); break;case 13:jieduan();break;case 0:exit(0); /執(zhí)行菜單選項 show_menu(); /*顯示菜單*void show_menu() PF("n"); PF("n*菜單*n"); PF("tt* 1.輸 入 學(xué) 生 信 息 *n"); PF("tt* 2.刪 除 學(xué) 生 信 息 *n"); PF("tt* 3.顯示鏈表中所有記錄信息 *n"); PF("tt* 4.按照學(xué)生的姓查找記錄 *n"); PF("tt* 5.將鏈表中記錄保存到文件中 *n"); PF("tt* 6.從文件中讀入記錄 *n"); PF("tt* 7.計算所有學(xué)生以及各科總分和均分 *n"); PF("tt* 8.按班級查詢顯示學(xué)生信息 *n"); PF("tt* 9.插入記錄到表中 *n"); PF("tt* 10.按學(xué)號查詢學(xué)生信息 *n"); PF("tt* 11.學(xué)生成績排名 *n"); PF("tt* 12.修改學(xué)生信息 *n"); PF("tt* 13.按平均分階段輸出學(xué)生信息 *n"); PF("tt* 0. 退 出 *n"); PF("*n"); PF("n請選擇n");/*輸入學(xué)生信息*void input_stu() /輸入學(xué)生信息float a,b; /a,b分別用來存放該生的各科總成績和平均成績int y,j;y=time(); n=0; StudentNode *p1=NULL,*p2=NULL; p1=( StudentNode *)malloc(sizeof(StudentNode); PF("n*輸入學(xué)生信息*n"); /輸入學(xué)生信息 PF("tt輸入學(xué)生學(xué)號:t"); scanf("%s",p1->IDNumber); /學(xué)號 PF("tt輸入學(xué)生的姓:t"); scanf("%s",p1->FamilyName); /姓 PF("tt輸入學(xué)生的名:t"); scanf("%s",p1->GivenName); /名 PF("tt輸入學(xué)生性別(0代表女,1代表男):t"); scanf("%d",&p1->sex); /性別 for(j=0;j+) /判斷輸入年份是否合理,假設(shè)人年齡在0-100歲之間為正常 PF("tt輸入學(xué)生出生年:t"); scanf("%d",&p1->BirthYear); /出生年 if(y-p1->BirthYear)>100|(p1->BirthYear>y) PF("tt年份輸入錯誤不符合要求,請重新輸入出生年份:t"); else break;for(j=0;j+) /判斷輸入月份是否合理 PF("tt輸入學(xué)生出生月:t"); scanf("%d",&p1->BirthMonth); /出生月 if(p1->BirthMonth<1|p1->BirthMonth>12) PF("tt月份輸入錯誤不符合要求,請重新輸入出生月份:t"); else break;for(j=0;j+) / 判斷輸入出生日是否合理 PF("tt輸入學(xué)生出生日:t"); scanf("%d",&p1->BirthDay); /出生日 if(p1->BirthDay<1|p1->BirthDay>31) PF("tt出生日輸入錯誤不符合要求,請重新輸入出生日:t"); else break; PF("tt輸入學(xué)生的外語成績:t"); scanf("%f",&p1->score0); /各科成績 PF("tt輸入學(xué)生的數(shù)學(xué)成績:t"); scanf("%f",&p1->score1); PF("tt輸入學(xué)生的C語言成績:t"); scanf("%f",&p1->score2); PF("tt輸入學(xué)生的馬哲成績:t"); scanf("%f",&p1->score3); a=p1->score0+p1->score1+p1->score2+p1->score3; /求該生的各科總成績 b=(a/4); /求該生的平均成績 p1->sum=a; p1->average=b; English=English+p1->score0; /求學(xué)生英語總分 Math=Math+p1->score1; /求學(xué)生數(shù)學(xué)總分 C=C+p1->score2; /求學(xué)生C語言總分 Mazhe=Mazhe+p1->score3; /求學(xué)生馬哲總分 Sumc+=a; /將各學(xué)生的總成績輸入到一個全局?jǐn)?shù)組當(dāng)中,方便按成績排序 Avrd+=b; /將個學(xué)生的平均分輸入到一個全局?jǐn)?shù)組中存放 n+; if(head->next=NULL) head=(StudentNode *)malloc(LEN); head->next=p1; else for(p2=head;p2->next!=NULL;p2=p2->next); /*找到最后的結(jié)點,然后 將增加的結(jié)點掛在它上面*/ p2->next=p1; p1->next=NULL; save();/保存到文件/*顯示鏈表中所有記錄學(xué)生信息*void print_stu() /學(xué)生信息瀏覽StudentNode *p=NULL; if(head=NULL) /判斷鏈表是否為空 PF("文檔中無記錄!n"); return; for(p=head->next;p!=NULL;p=p->next) /讀出信息 PF("*查看鏈表中所有記錄學(xué)生信息*n"); PF("t學(xué)生學(xué)號:t%sn",p->IDNumber); PF("t學(xué)生姓:t%sn",p->FamilyName); PF("t學(xué)生名:t%sn",p->GivenName); PF("t學(xué)生性別:t%dn",p->sex); PF("t學(xué)生出生年:t%dn",p->BirthYear); PF("t學(xué)生出生月:t%dn",p->BirthMonth); PF("t學(xué)生出生日:t%dn",p->BirthDay); PF("t學(xué)生英語成績:t%fn",p->score0); PF("t學(xué)生數(shù)學(xué)成績:t%fn",p->score1); PF("t學(xué)生C語言成績:t%fn",p->score2); PF("t學(xué)生馬哲成績:t%fn",p->score3); PF("t學(xué)生總成績:t%fn",p->sum); PF("t學(xué)生平均成績:t%fn",p->average); PF("n"); /輸出信息 PF("t各個學(xué)生總分分別為:"); for(n=0;n<c;n+) PF("%ft",Sumn); PF("n"); PF("t各個學(xué)生平均分分別為:"); for(n=0;n<d;n+) PF("%ft",Avrn); /*按照學(xué)生姓查找記錄*void search_name() /按照學(xué)生姓查找記錄int i=0;StudentNode *p=NULL; char FamilyName20; if(head=NULL) /判斷鏈表是否為空 PF("文檔中無記錄!n"); return; PF("輸入學(xué)生姓:"); scanf("%s", FamilyName); for(p=head->next;p!=NULL;p=p->next) /讀出信息 if(!strcmp(p->FamilyName, FamilyName) PF("tt您查找的學(xué)生有:n"); PF("n"); PF("tt學(xué)生學(xué)號:t%sn",p->IDNumber); PF("tt學(xué)生姓:t%sn",p->FamilyName); PF("tt學(xué)生名:t%sn",p->GivenName); PF("tt學(xué)生性別:t%dn",p->sex); PF("tt學(xué)生出生年:t%dn",p->BirthYear); PF("tt學(xué)生出生月:t%dn",p->BirthMonth); PF("tt學(xué)生出生日:t%dn",p->BirthDay); PF("tt學(xué)生英語成績:t%fn",p->score0); PF("tt學(xué)生數(shù)學(xué)成績:t%fn",p->score1); PF("tt學(xué)生C語言成績:t%fn",p->score2); PF("tt學(xué)生馬哲成績:t%fn",p->score3); PF("tt學(xué)生總成績:t%fn",p->sum); PF("tt學(xué)生平均成績:t%fn",p->average); PF("n"); i=1; /輸出信息 if(i!=1) PF("無該姓氏學(xué)生信息!請查證:"); /沒找到信息時的處理 /*按照學(xué)生學(xué)號信息查找*void search_NO() /學(xué)生學(xué)號信息查找int i=0;StudentNode *p=NULL; char IDNumber20; if(head=NULL) /判斷鏈表是否為空 PF("文檔中無記錄!n"); return; PF("請輸入學(xué)生學(xué)號:"); scanf("%s",IDNumber); for(p=head->next;p!=NULL;p=p->next) /讀出信息 if(!strcmp(p->IDNumber,IDNumber) PF("tt您查找的學(xué)生是:n"); PF("n"); PF("tt學(xué)生學(xué)號:t%sn",p->IDNumber); PF("tt學(xué)生姓:t%sn",p->FamilyName); PF("tt學(xué)生名:t%sn",p->GivenName); PF("tt學(xué)生性別:t%dn",p->sex); PF("tt學(xué)生出生年:t%dn",p->BirthYear); PF("tt學(xué)生出生月:t%dn",p->BirthMonth); PF("tt學(xué)生出生日:t%dn",p->BirthDay); PF("tt學(xué)生英語成績:t%fn",p->score0); PF("tt學(xué)生數(shù)學(xué)成績:t%fn",p->score1); PF("tt學(xué)生C語言成績:t%fn",p->score2); PF("tt學(xué)生馬哲成績:t%fn",p->score3); PF("tt學(xué)生總成績:t%fn",p->sum); PF("tt學(xué)生平均成績:t%fn",p->average); PF("n"); i=1; /輸出信息 if(!i) PF("無該生信息!請查證:"); /沒找到信息時的處理 /*按照學(xué)生班級統(tǒng)計并輸出總成績*void search_clas() /學(xué)生學(xué)號信息查找int i=0,j=0;StudentNode *p=NULL; char a6,b6; if(head=NULL) /判斷鏈表是否為空 PF("文檔中無記錄!n"); return; PF("請輸入學(xué)生班級:"); scanf("%s",a); for(p=head->next;p!=NULL;p=p->next) /讀出信息 for(j=0;j<6;j+) bj=p->IDNumberj; if(a0=b0&&a1=b1&&a2=b2&&a3=b3&&a4=b4&&a5=b5) PF("tt您查找的班級學(xué)生有:n"); PF("n"); PF("tt學(xué)生學(xué)號:t%sn",p->IDNumber); PF("tt學(xué)生姓:t%sn",p->FamilyName); PF("tt學(xué)生名:t%sn",p->GivenName); PF("tt學(xué)生性別:t%dn",p->sex); PF("tt學(xué)生出生年:t%dn",p->BirthYear); PF("tt學(xué)生出生月:t%dn",p->BirthMonth); PF("tt學(xué)生出生日:t%dn",p->BirthDay); PF("tt學(xué)生英語成績:t%fn",p->score0); PF("tt學(xué)生數(shù)學(xué)成績:t%fn",p->score1); PF("tt學(xué)生C語言成績:t%fn",p->score2); PF("tt學(xué)生馬哲成績:t%fn",p->score3); PF("tt學(xué)生總成績:t%fn",p->sum); PF("tt學(xué)

注意事項

本文([計算機(jī)軟件及應(yīng)用]學(xué)生管理系統(tǒng)與車輛管理系統(tǒng) 課程設(shè)計報告)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!