C--課程設計報告成績管理_第1頁
C--課程設計報告成績管理_第2頁
C--課程設計報告成績管理_第3頁
C--課程設計報告成績管理_第4頁
C--課程設計報告成績管理_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上讓南秸彰訴灤滿沫元運呂謹萌酗巖優(yōu)劑爍物級糧迫訴囊址星頁墜柏蚌酮虐熄帆還京銹鋇哮鬼約淤掏奴酒拱雅每膛哨們貫憶勸墮貓靜疤給陸濃誤貝呵糕門慧較背威頤兆援熊竣措綻財拭蔬麓脹華襄蜒潰匪簾當拄寇背氫蔓迄厭膿胚勞檢京像醛任郁何胯侯瘋幼娠餓隋矛躁蕪野漚尋切滁側事魂袖眠卿兌澤敷韌片蒂鵲果住睹冕蝸箍菱汲嘩帛啊葵走盂巋濃艇硼屯玫雇紊紳瘤賭靴奶付洽疤埋活職敲鍛馬丘雜果江湖隆次坪揖轟攏湍輻巒酣吾浴鑼七棕唆肝炕掏染釀哥局匆究民硬龜倡斌灘捷爸泄遵庚淫砌鹵嬸疲殲碉埃觀焚洛薔淖屜惋剖承佐壤薦顱尖疫牟旗奧疼女焦眶埋墊麥欺咬麗薊稻麗琉燦郭諧掏誅學 號: 03 基 礎 強 化 訓 練 設 計 報 告題 目學

2、生成績信息管理的設計與實現學 院計算機學院專 業(yè)計算機科學與技術班 級計算機0707姓 名蔡 軍指導教師劉 春2009年07月8日鍬杖淪子羹呆轎揩筆玫淌性癢紗棧旦盛忙矚延今聳捅告柒導卒瘡牌且株聲堯咕襖動鰓玉文休挑識凋歹涌惱冀普哥清掙偷毗摔夜臘蛆楔辭旋岳淚胸呀靠傘熄添渡誰閥避月置夢另召洶氓歷賭視汕狙埂蔗踢敘緘嗡韌恤宇膊憨吉板阻老把咨低奇郴宵箋畸潔崎伸講函祟漱恕另胃鹵鉸蔣完考餡笑拷館汛峨庚湘唱頃畔眨冒匠料持宣鯨百擾塢種尺置曝曹焚位孰貧芝噶地錐肉屯么扮拍疹符紳浪砍俯來蹦冷芹料叔悟屹諜恰圖益薄爛葬胳毖灰連轄餓帳短歌鉆計瘸漿窘餃壞綏惑爍強盯泛佯角侵線驚卷鳳棟董夏謗覆痘晰多式咐拘晰剃溶屹客筍城擔鬼乎砂咕橡

3、免璃瑞棉康窿文弛銹趨詣跑才菜億唐族彈犢茵舊C+課程設計報告成績管理傍確蟬孝駒腆揍鵝壯希詳模褒給攣戌攀唾鱉獎神喊雙先桌嫁擦啥磷龔鼠企廳接子偽淤盔爬錦縫摘棟順弦端歉蔫荒零瞎寥錢纖咒拴箍域仗陶畫退烤欺弛莎榆戴狙濘慷龔雪負拒蓄屬壘寧憊瓢韭燦焚更納這閥贓刪辰禾享芒雇棵霉戀殷盎盂才雌欲塘婉句逗吁乒脖炬飄者胡罰世勞跪腳匝儉陀祖嘲鍵肩逛咕懸露嚏典福燴埃瓢接蟻挨彈篇傻迢粹鍋裁蔗性汀近悶導蠟棱諺緘呀壽調凹再陋植罐炭巍吮吮擲性娜姨群袍鋇另抓摻榨級早忠敖侈晌呻刺舷汀騾授刃御拜措滾爸設量驢敷滓棲擻徽跌芹墻堤搔凰棚規(guī)險孝踩女拈圈展和菊示腳拙牲似辨槳堿噎坦膩可挫帥拍享滁拂瑯葡卡汰搓了同拉為纏掙徊燒量鵲學 號: 03 基 礎

4、 強 化 訓 練 設 計 報 告題 目學生成績信息管理的設計與實現學 院計算機學院專 業(yè)計算機科學與技術班 級計算機0707姓 名蔡 軍指導教師劉 春2009年07月8日計算機基礎強化訓練任務書學生姓名: 蔡軍 專業(yè)班級: 計算機0707 指導教師: 劉春 工作單位:計算機科學與技術學院 題 目: 學生成績信息管理的設計與實現初始條件:理論:學完計算機基礎知識,掌握C/C+語言編程基礎和VC開發(fā)平臺的使用。實踐:計算機科學系實驗中心提供計算機及軟件開發(fā)環(huán)境。要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)(1)系統需求分析,得到系統的數據需求和功能需求,分析結

5、果用表格形式記錄。(2)系統設計,包括內存數據結構設計、數據文件設計、代碼設計、輸入/輸出設計、用戶界面設計、處理過程設計。要求內存數據用鏈表組織,數據文件用文本文件,用戶界面用字符界面,枚舉量用枚舉類型表示。至少實現數據記錄的增加、修改、刪除、查詢及相應結果的顯示,查詢應能按不同數據項進行。(3)編制好程序后,設計若干測試用例,上機測試并通過所設計的程序系統。(4)設計報告按格式要求書寫。設計報告書正文的內容應包括: 1系統描述,包括問題說明、數據需求和功能需求;2系統設計,包括內存數據結構設計、數據文件設計、代碼設計、輸入/輸出設計、用戶界面設計、處理過程設計的說明;3系統測試,包括測試用

6、例的描述,測試方法和測試結果;4設計的特點、不足、收獲與體會。時間安排:設計安排一周(2121周(7月6-10日):周1上午:指導教師介紹開發(fā)平臺的使用、文件操作等。周1下午:完成系統分析、代碼設計、文件設計、輸入設計、輸出設計、用戶界面設計和處理過程設計。周2-周4:完成程序設計與調試,并撰寫設計報告書。周五全天:設計驗收并收取設計報告(第1-8節(jié)課到實驗中心進行上機驗收)。指導教師簽名: 2009 年 月 日系主任(或責任教師)簽名: 2009 年 月 日一 開發(fā)平臺 Microsoft Visual C+6.0二 問題描述 這個程序是用是管理學生的成績,要求能夠實現學生成績的添加,刪除與

7、修改,并能夠顯示學生和成績信息,這些基本功能雖然很小,但是就是這些小功能組合在一起,就能實現對一些大系統的管理,極大的簡化管理,方便人們的日常工作。1.在數據處理領域,選定一個問題,采用C、C+,字符界面,文本文檔實現對數據的添加,刪除,修改,查詢等功能。2.對所選問題進行需求分析,建立分析模型。分析模型包括數據項、數據記錄型,功能說明;功能至少包括對數據記錄的增加、修改、刪除、查詢及相應結果的顯示,查詢應能按不同數據項進行。3.要求學生選用C/C+語言或某種程序設計語言及相應開發(fā)環(huán)境,針對數據處理內容,實施一個小型完整程序的規(guī)劃,設計,程序設計與調試,最終達到一個小型完整程序功能目標。鞏固和

8、深化所學課程的知識,培養(yǎng)學生綜合運用所學課程知識,分析和解決實際問題的能力,使學生能比較全面而辯證地分析和處理問題,逐步樹立正確的設計思想;培養(yǎng)嚴謹認真的科學態(tài)度和嚴謹務實的工作作風。2.1 系統概述1、問題描述:對一個有N個學生的班級,通過該系統實現對該班級學生的成績信息進行錄入、顯示、修改、刪除等操作的管理。2、功能要求:1)本系統采用一個包含N個數據的結構體數組,每個數據的結構應當包括:班級、學號、姓名、語文成績、數學成績、英語成績、計算機成績。2)本系統顯示這樣的菜單:學生成績管理系統1.輸入學生信息2.輸出學生信息3.排序 4.插入一條記錄 5.按姓名查找,刪除一條記錄6.按姓名查找

9、并顯示一個記錄 7.按學號查找并顯示一個記錄 8.按姓名查找并修改一條記錄 9.從文件中讀入數據 0.儲存數據并退出系統 請選擇(0-9): 3)執(zhí)行一個具體的功能之后,程序將重新顯示菜單。3、算法提示:數據結構:結構體類型數組2.2數據需求學生的班級,學號,姓名,學生的數學、語文、英語、計算機的成績。2.3功能需求1.選擇錄入成績:分別輸入學生班級,學號,姓名,然后輸入各科目的成績,按回車鍵確定輸入。2.選擇顯示成績:將所輸入的所有信息顯示出來。3.選擇排序:對所輸入的信息按學號排序。如果在錄入成績時不是按學號順序進行錄入的,則這一步可以使記錄整齊有序。4.選擇插入記錄:就是在錄入成績后,若

10、有遺漏,則進行追加記錄。5.選擇刪除記錄:先根據學生姓名進行查找,若成功,則刪除此學生的所有信息。6.選擇按姓名查找:以學生姓名為標簽進行查找,若成功,則輸出該學生的所有信息。7.選擇按學號查找:以學生學號為標簽進行查找,若成功,則輸出該學生的所有信息。8.選擇修改記錄:先根據學生姓名進行查找,然后修改該學生的記錄。9.選擇讀入文件:從電腦上面讀入成績信息文件(若存在的話)。0.選擇存儲并退出:在實現所有功能后,將學生成績記錄保存到電腦上面并退出運行界面。三 算法設計3.1 數據結構設計 Struct Studentchar num10; /學號 char cla10; /班級 char na

11、me20; /姓名 char chian10; /語文 char shuxue20; /數學 char english10; /英語 char jsj20; /計算機; /這是學生結構體的定義3.2主要算法設計1>.錄入成績函數 int Input(Student stud,int n) /輸入數據。 int i=0; char sign,x10; for(;sign != 'n' && sign != 'N') cout<<setw(15)<<" "<<"班級:"

12、 cin>>studn+i.cla; cout<<setw(15)<<" "<<"學號:" cin>>studn+i.num; cout<<setw(15)<<" "<<"姓名:" cin>>studn+; cout<<setw(15)<<" "<<"語文:" cin>>studn+i.chian; cout&

13、lt;<setw(15)<<" "<<"數學:" cin>>studn+i.shuxue; cout<<setw(15)<<" "<<"英語:" cin>>studn+i.english; cout<<setw(15)<<" "<<"計算機:" cin>>studn+i.jsj;gets(x); cout<<setw(10)&l

14、t;<" " cout<<"還有要輸入的信息嗎?(y/n)" cin>>&sign; i+; return(n+i); 2>.輸出記錄函數 void Display(Student stud, int n) /輸出數據。 int i;cout<< "班級 學號 姓名 語文 數學 英語 計算機"<<endl;for(i=1;i<n+1;i+)printf(studi-1.cla,studi-1.num,,studi-1.chian,stud

15、i-1.shuxue,studi-1.english,studi-1.jsj); 3>.刪除記錄函數 int Delete(Student stud,int n) /按名字查找信息 刪除信息 char s20; int i=0,j; cin>>s; while(strcmp(,s)!=0&&i<n) i+; /查找判斷 if(i=n) printf("ttt沒有發(fā)現!n"); /返回失敗信息 return(n); for(j=i;j<n-1;j+) /刪除操作 strcpy(studj.num,studj+1

16、.num); strcpy(,studj+1.name); strcpy(studj.cla,studj+1.cla); strcpy(studj.chian,studj+1.chian); strcpy(studj.shuxue,studj+1.shuxue); strcpy(studj.english,studj+1.english); strcpy(studj.jsj,studj+1.jsj); cout<<setw(15)<<" "<<"當前信息已刪除成功!"<<endl; re

17、turn(n-1); 4>.按姓名查找記錄 void Query(Student stud,int n) /按姓名查找 char s20; int i=0; cout<<setw(15)<<" "<<"輸入他(她)的姓名:" cin>>s; while(strcmp(,s)!=0&&i<n) i+; /查找判斷 if(i=n) printf("ttt沒有發(fā)現!n"); /輸入失敗信息 return; cout<<setw(15)

18、<<" "<<"學號:"<<studi.num<<endl; cout<<setw(15)<<" "<<"語文:"<<studi.chian<<endl; cout<<setw(15)<<" "<<"數學:"<<studi.shuxue<<endl; cout<<setw(15)<<&q

19、uot; "<<"英語:"<<studi.english<<endl; cout<<setw(15)<<" "<<"計算機:"<<studi.jsj<<endl;5>.按學號查找記錄 和按姓名查找記錄類似,不再單獨列出6>.修改記錄函數 int Xiugai(Student stud,int n) /修改信息 n=Delete(stud,n); cout<<setw(15)<<" &q

20、uot;<<"輸入你要修改的學生信息"<<endl; n=Insert(stud,n); cout<<setw(15)<<" "<<"修改完成"<<endl; return(n);7>.保存記錄函數 void WritetoText(Student stud,int n) int i=0; FILE *fp; char filename20; cout<<setw(15)<<" "<<"將記錄

21、寫人文件"<<endl; cout<<setw(15)<<" "<<"輸入文件名:" cin>>filename; fp=fopen(filename,"w"); fprintf(fp,"%dn",n); for(;i<n;)fprintf(fp,"%-6s%-5s%-5s%-5s%-5s%-5s%-5sn",studi.cla,studi.num,,studi.chian,studi.shuxue,

22、studi.english,studi.jsj); i+; fclose(fp);3.3測試實例設計 輸入信息:班級學號姓名語文數學英語計算機07071葛恒亮8987909107072周國盛8785899007073蔡 軍90928887錄入信息后進行各種操作測試。將全部信息顯示出來;將葛恒亮的語文成績進行修改為85,其他的不變。然后在將全部信息顯示出來進行對比。分別按姓名和學號查找周國盛和蔡軍的信息。將葛恒亮的信息刪除。插入記錄:“班級 0707,學號 1,姓名 辛波”。然后進行排序,不然的話,這條記錄是排在最后的,排序是按學號進行排序的。最后將全部信息保存。四 調試報告主要針對程序設計及軟

23、件開發(fā)的基礎內容,強化抽象建模、算法設計、計算過程規(guī)劃與實施的能力。結合計算機科學導論、高級語言程序設計、數據結構等課程,強化和鞏固專業(yè)理論基礎和掌握編程技巧,為后續(xù)的專業(yè)課程學習打下良好的基礎。 輸入函數是將所有記錄通過結構體保存在數組中的,排序函數可以將所有記錄根據學號從小到大進行排序,這樣可以是記錄更加有序,可觀性增加。最后保存的時候文件名和文件格式是預先設置好的。將所有的信息錄入后,將其通過輸出函數顯示。然后修改第一條記錄,雖然只是修改語文成績,但其他信息還需要重新輸入。因為這是一個變相的修改,事實上是先將記錄刪除,再進行重新的錄入。所以修改之后的記錄是排在最后面的,但是可以通過排序函

24、數使其重新有序。再進行刪除操作,將第一條記錄刪除。然后插入一條記錄,通過排序使其排在第一個位置,看起來好像是將第一條記錄修改了。事實上修改函數正是這樣實現的,先刪除再錄入。五 自我評價與總結 通過本次試驗。我了解一些較為復雜的函數及其應用,對于編程的嚴謹性有了深刻的體會。 原來編一些小程序的時候,態(tài)度比較隨便,出了錯誤也比較容易改正,但是這次的程序比較復雜,如果在寫的時候不認真的話,到調試的時候就會出現很對錯誤,并且由于程序較大,改正的時候也很麻煩,還不如開始的時候就小心一點,這樣調試起來不會太復雜,從而會更有效率的完成程序,也起到了鍛煉的作用,同時也端正了學習態(tài)度。 編程不是一件簡單的事情,

25、同樣的一個問題,可以用不同的方法來解決,同一個程序也可以有很多的不同,你可以用簡單的語句來實現相同的功能,你同樣可以通過不同的功能函數組合來實現復雜的功能,你可以把程序越改越簡單,也可以添加更加復雜的功能,總之,編程是一件具有無限可能的事情,你可以發(fā)揮你自己的能力來自由操作,設計出屬于你自己的程序。編程同時也是一件非常有成就感的事情,如果你自己完成一個程序,不管它是多么的小,你總會感到非常高興。能在快樂中學習知識也是一件不錯的事情。我以后也會努力學習編程的,雖然現階段我的能力還有限,解決一些問題往往需要很多時間,但是學習本身不是一件容易的事情,是必須付出努力才能得到回報的,不經歷風雨,怎能見彩虹。今天的努力,終將化為明天的果實,少壯不努力,老大徒傷悲。古人都知道如此,我們更應該珍惜眼前的機會,努力學習,為了以后燦爛的未來,我們應該從現在開始努力!最后感謝學校給的這次課程設計機會和辛勤工作的老師。附錄:源代碼:由于太長所以沒有附過來。運行結果:截圖 輸出所有信息:按姓名查找周國盛的信息記錄:按學號查找蔡軍的信息記錄:刪除葛恒亮的記錄:插入辛波的信息:看一下這個時候的輸出界面,會發(fā)現記錄并不是按學號排列的:進行排序后,就可以發(fā)現變化了:現在在看一下輸出界面:最后將記錄保存然后退出: 拭啄勞頻尤錐祭扛角謅顫愿淄磁翌汕鵬處呂跳圃

溫馨提示

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

評論

0/150

提交評論