版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
紫金學(xué)院VisualC++課程設(shè)計2014級計科(2)班PAGEPAGE1紫金學(xué)院VisualC++課程設(shè)計VC++課程設(shè)計報告課程:C++課程設(shè)計系別:計算機(jī)系班級:學(xué)號:姓名:選題名稱:學(xué)生電子投票平臺起止時間:指導(dǎo)教師:
2016年12月1問題描述學(xué)生電子投票平臺設(shè)計是通過界面錄入候選人的信息(姓名、編號、數(shù)學(xué)成績、英語成績、C++成績),運(yùn)行過后能夠顯示候選人的信息,并且統(tǒng)計總成績和排名。接下來進(jìn)行投票,投票人為候選人投票,顯示投票結(jié)果,且能在進(jìn)行增加候選人信息和查詢候選人信息及排名情況。(1)、運(yùn)用C++面向?qū)ο蟮闹R,解決學(xué)生電子投票平臺設(shè)計。(2)、利用結(jié)構(gòu)體、類、繼承、析構(gòu)函數(shù)、構(gòu)造函數(shù)及對以前積累知識來設(shè)計這一學(xué)生電子投票系統(tǒng)。(3)、全面提高學(xué)生的程序設(shè)計能力和開發(fā)能力。2基本要求1)功能齊全:界面操作靈活方便,至少實(shí)現(xiàn)以下基本功能:候選人為5名,投票人數(shù)最少為10人;候選人信息包括:編號、姓名和本學(xué)期三門課程的成績(英語、數(shù)學(xué)、C++程序設(shè)計語言);程序運(yùn)行時顯示簡單菜單,菜單內(nèi)容包括:錄入數(shù)據(jù):錄入候選人信息;顯示數(shù)據(jù):顯示候選人信息并統(tǒng)計三門課程總成績;投票;投票結(jié)果:顯示票數(shù)統(tǒng)計結(jié)果,并按得票數(shù)排序;⑤查詢:輸入編號查詢某候選人信息。2)友好性:界面友好、輸入有提示、盡量展示人性化。3)可讀性:源程序代碼清晰、有層次、主要程序段有注釋。4)健壯性:用戶輸入非法數(shù)據(jù)時,系統(tǒng)應(yīng)及時給出警告信息。5)在規(guī)定的時間內(nèi)完成課程設(shè)計任務(wù)6)完成課程設(shè)計報告3需求分析1主要任務(wù)錄入5個候選人的信息(編號,姓名,英語成績,數(shù)學(xué)成績,C++成績),至少10人為這5個候選人進(jìn)行投票。統(tǒng)計候選人總成績以及票數(shù),可以對票數(shù)進(jìn)行排序。輸入編號可以查詢候選人的在主函數(shù)通過一個判斷語句讓用戶選擇進(jìn)入與退出系統(tǒng),然后在候選人進(jìn)行信息的錄入并且存儲,同時對這些候選人進(jìn)行投票操作,最終通過調(diào)用一個fun函數(shù)來進(jìn)行各類信息的調(diào)用與查詢。主函數(shù)主要功能:輸出系統(tǒng)菜單、輸入候選人的信息、投票、輸入指令、輸出指令錯誤提示、調(diào)用display函數(shù)、輸出退出系統(tǒng)提示。display函數(shù)主要功能:接收主函數(shù)指令、判斷運(yùn)行功能、輸出功能結(jié)果。5詳細(xì)設(shè)計本程序主要有3個部分所組成:類,主函數(shù),display函數(shù)。1.類的設(shè)計定義一個類“Houxuan”,私有部分有編號,姓名,英語,數(shù)學(xué),C++,總成績,票數(shù)這些變量;公有部分通過9個函數(shù)來實(shí)現(xiàn)賦值,統(tǒng)計,排序,顯示等功能;最后定義一個數(shù)組變量a[5],即為存儲5個候選人的各種信息。如圖為類的主要代碼:2.主函數(shù)的設(shè)計主函數(shù)主要功能有菜單功能顯示,錄入候選人信息,為候選人投票,防錯誤提示及調(diào)用fun()函數(shù)的功能。1)錄入候選人信息通過調(diào)用類中的Hou()函數(shù)來為候選人進(jìn)行信息的錄入。主要代碼如下所示:2)為候選人投票通過一個循環(huán)來為5個候選人進(jìn)行投票,同時通過循環(huán)來保證輸入的編號是否正確。主要代碼如下:3)防錯誤提示定義兩個字符數(shù)組c[10]、c1[10],用以接收用戶輸入的指令。本系統(tǒng)所使用的指令均為單字符,即當(dāng)c[1]或c1[1]不為’\0’,則提示用戶重新輸入指令。主要防錯誤處理源程序如下圖所示3.display函數(shù)display()函數(shù)接收從主函數(shù)傳過來的指令(即:c1[0]),即voiddisplay(charx),display()函數(shù)的主要功能為判斷指令,并輸出運(yùn)行結(jié)果。1)接受指令當(dāng)用戶輸入正確的功能指令時,即存儲在c1[0]中的指令,則進(jìn)入循環(huán)調(diào)用fun()函數(shù),部分源程序如下圖所示:當(dāng)用戶輸入N時,即退出系統(tǒng),源程序如下圖:2)功能(1)顯示候選人錄入信息(2)統(tǒng)計候選人三門課程總成績(3)顯示票數(shù)統(tǒng)計結(jié)果(4)為統(tǒng)計完的票數(shù)進(jìn)行編號排序(部分代碼)(5)顯示候選人全部信息(6)輸入編號查詢候選人全部信息6設(shè)計調(diào)試分析設(shè)計問題:無法對類中的票數(shù)進(jìn)行排序解決辦法:逐一進(jìn)行比較,找出票數(shù)最高的,記錄循環(huán)序號后并輸出;然后再比較找出第2個人,當(dāng)它的循環(huán)序號與第一個循環(huán)序號相同時即跳過比較;按此類推進(jìn)行排序。部分程序如下: 調(diào)試問題:用戶輸入多個字符會且第一個字符不是系統(tǒng)字符時,會導(dǎo)致系統(tǒng)進(jìn)去無限循環(huán)。解決辦法:使用字符數(shù)字接收用戶指令,當(dāng)數(shù)組第二個元素不為‘\0’時即表示用戶輸入多個字符,應(yīng)重新輸入,當(dāng)且僅當(dāng)用戶輸入單字符且是系統(tǒng)指令時(即數(shù)組第一個元素為系統(tǒng)指令,第二個元素為’\0’)方可繼續(xù)運(yùn)行。未解決問題:防錯誤系統(tǒng)不完善:當(dāng)輸入類型為int型時,如果用戶輸入的類型不是int型,系統(tǒng)則會進(jìn)入死循環(huán)。票數(shù)排序時當(dāng)2人票數(shù)相同時,沒有規(guī)定排序方式(按照編號排序)。設(shè)計回顧與分析:本程序的設(shè)計主要難點(diǎn)不在于能夠完成各個功能,而是在于各個輸入信息的防錯誤處理以及對各種功能的循環(huán)調(diào)用。能夠全面協(xié)調(diào)各個模塊之間調(diào)用關(guān)系,并且用戶能夠簡單化的使用該系統(tǒng),此才是本系統(tǒng)的重要之處。7用戶使用說明運(yùn)行程序后,會自動進(jìn)入系統(tǒng)。系統(tǒng)提示用戶進(jìn)行輸入,即:“是否繼續(xù)?Y是,N否.請輸入:”輸入Y繼續(xù)操作,輸入N退出系統(tǒng)。輸入Y后,系統(tǒng)會顯示系統(tǒng)操作指南,系統(tǒng)并且會提示用戶錄入候選人信息并進(jìn)行投票。當(dāng)完成(3)后,系統(tǒng)會提示用戶輸入指令,即:“請輸入編號1-6進(jìn)行查詢(輸入N退出系統(tǒng)):”來進(jìn)行各項(xiàng)查詢功能。輸入N退出系統(tǒng)。8測試結(jié)果1.程序菜單顯示,輸入”Y”繼續(xù)運(yùn)行程序顯示菜單指南2.錄入候選人信息3.為候選人進(jìn)行投票完成錄入功能4.顯示候選人錄入信息(輸入1)5.統(tǒng)計候選人三門課程總成績(輸入2)6.顯示票數(shù)統(tǒng)計結(jié)果(輸入3)7.按得票數(shù)為候選人排序(輸入4)8.顯示候選人全部信息(輸入5)9.輸入編號查詢候選人全部信息(輸入6-106-101)10.退出系統(tǒng)(輸入N)9課程設(shè)計總結(jié)這次課程設(shè)計橫跨了2個星期,在這斷斷續(xù)續(xù)的幾天之中,發(fā)現(xiàn)了自身很多不足之處,自己對知識點(diǎn)的理解漏洞百出,也有許多重來沒有聽說過的東西,從而讓我明白知識扎實(shí)的重要性,理解實(shí)踐能力的重要性!因?yàn)榛A(chǔ)知識的不扎實(shí)讓我在這次課程設(shè)計中走了許多彎路,不過我認(rèn)為是值得的,它大大的補(bǔ)充了我知識不足的那一面,我始終相信付出必有收獲。這次的課程設(shè)計,可以說是苦樂交加。在程序設(shè)計過程中,不僅檢驗(yàn)、鞏固了我所學(xué)的知識,也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。它為學(xué)生提供了一個既動手又動腦,獨(dú)立實(shí)踐的機(jī)會,將課本上的理論知識和實(shí)際有機(jī)的結(jié)合起來,鍛煉學(xué)生的分析解決實(shí)際問題的能力。提高學(xué)生運(yùn)用所學(xué)知識解決實(shí)際問題的能力。課程設(shè)計這類實(shí)踐訓(xùn)練是我們邁向社會,從事職業(yè)工作前一個必不少的過程。通過這次系統(tǒng)的設(shè)計,我在多方面都有所提高。首先,整體與局部的把握,在系統(tǒng)設(shè)計前,需要整體思考系統(tǒng)所包含的信息及其實(shí)現(xiàn)的功能,在設(shè)計過程中,再思考局部功能實(shí)現(xiàn)的完整性與整個程序的結(jié)合。其次,在實(shí)現(xiàn)各種功能時,通過查閱課本、資料,實(shí)踐,對字符串的使用更加熟悉、了解,能夠熟練運(yùn)用字符串,而且加強(qiáng)了對類中參數(shù)傳值的使
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 債務(wù)糾紛合同(2篇)
- 公共事業(yè)資產(chǎn)管理合同
- 2025年無機(jī)械動力飛機(jī)項(xiàng)目發(fā)展計劃
- 《職場溝通》電子教案 項(xiàng)目九 商務(wù)談判溝通教案
- 門店租賃協(xié)議模板
- 福州汽車租賃合同
- 廠房租賃合同書范文
- 公寓別墅租賃服務(wù)合同
- 八年級語文上冊第一單元5國行公祭為佑世界和平教案新人教版1
- 八年級道德與法治上冊第三單元勇?lián)鐣?zé)任第七課積極奉獻(xiàn)社會第2框服務(wù)社會教案新人教版
- 高考?xì)v史二輪復(fù)習(xí)熱點(diǎn)主題二關(guān)注民生-構(gòu)建和諧社會“制度自信”讓生活更美好課件
- 針灸推拿治療失眠PPT
- ISO-8467-1993高錳酸鹽指數(shù)
- 防雷和接地監(jiān)理實(shí)施細(xì)則-
- 糧食倉儲組織架構(gòu)設(shè)計及全套管理規(guī)章制度
- 《人員素質(zhì)測評理論與方法》電子版本
- 陶瓷色料的技術(shù)PPT課件
- 幼兒園食品安全工作計劃四篇
- 課程設(shè)計YA32-350型四柱萬能液壓機(jī)液壓系統(tǒng)設(shè)計
- 中國工業(yè)數(shù)據(jù)庫介紹
- 弱電智能化設(shè)計服務(wù)建議書(共35頁)
評論
0/150
提交評論