版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課程設計報告(完整版)(文檔可以直接使用,也可根據(jù)實際需要修改使用,可編輯歡迎下載)
課程設計報告(完整版)(文檔可以直接使用,也可根據(jù)實際需要修改使用,可編輯歡迎下載)湖南軟件職業(yè)學院信息工程系《電子元器件與電子設計制作》綜合實訓報告題目:聲光控走廊燈專業(yè):電子信息工程技術班級:電子信息工程技術1001班姓名:蒲瀟凱學號:202103030206課程設計任務書題目聲光控走廊燈設計時間2011年12月30日設計目的:燈座聲光控開關是一種節(jié)電型的好產(chǎn)品,它主要用于夜間公寓的樓道和走廊上或光線不足的場所。只要發(fā)出聲音,燈座聲控開關就會自動的將路燈打開,當行人做過1-2分鐘后就會自動關燈,起到節(jié)能的的作用,同時也環(huán)保。設計要求:1.調試和檢修是最好用220V隔離變壓器進行,注意安全?;蛘呓?V的直流穩(wěn)壓電源。2.調試時,先用黑布遮光敏電阻,看YF2的3腳有無變化,若無變化在該級查明原因。3.將13腳觸地,檢查單穩(wěn)壓態(tài)是否翻轉,及翻轉時間,有C3,R6決定。4.敏度調整安裝也R1,R4有關.總體方案實現(xiàn):見附錄1指導教師評語:見附錄1調試過程及結果分析從圖中可以看出,原理圖可分為四個部分。以YF1組成的為聲控放大電路;以YF2組成的為光控反相器電路;以YF3和YF4組成的電路為單穩(wěn)態(tài)微分電路;可控硅為控制電路。在YF1的電路中,C1為音頻耦合電容,R1為BM取得話筒電壓,R2是YF1的反饋電阻,C2為電路整形與綠波,R5為單穩(wěn)提供一個偏置電壓,R4在電路中給音頻起降壓作用。在YF2電路中,R3和BG光敏電阻給YF2提供一個偏置電壓,供YF2工作電壓,VD1保證YF3的偏置。在YF3和YF4的電路中,加外圍電路C3和R6,構成分式單穩(wěn)態(tài)電路。
光亮時,RG光敏電阻較小,YF3輸出為低電平,控制了可控硅的柵極,是單向可控硅關斷。所以白天單穩(wěn)態(tài)不能工作。當天黑或者光線不充足時,由于光敏電阻RG不受光線照射,RG阻值變大。而當觸發(fā)脈沖負跳變到來時,經(jīng)R6、C3微分,這一負的脈沖,使YF3改變狀態(tài),YF3輸出為高電平而YF4輸出為低電平,反饋于YF3為一低電平,暫穩(wěn)態(tài)開始。X-RKD元件表燈頭塑料殼一套電解:100uFC4一支CD40111c一片電阻:10KR1一支駐極體BM一個電阻:2MR2一支可控硅SCR/600V一個電阻:82KR3一支IN4007VD2-6五支電阻:82KR4一支IN4148VD1一支電阻:120KR5一支瓷片103C1一支電阻:3.3MR6一支瓷片103C2一支電阻:56KR7一支電解:10uFC3一支電阻:82KR8一支螺絲導線若干電阻:光敏電阻RG一支電路板一塊燈頭附件一套設計及調試中的體會:通過這次實訓提高了字的分析能力,能夠發(fā)現(xiàn)問題所在,并且及時解決。了解聲光控走廊燈的工作原理.對本次課程設計的體會和建議:加強了自己的動手能力,但缺乏實際操作,仍然是我們的不足之處。不能熟練的安裝電路,建議多開設實訓課,來增強個人的動手能力。參考文獻[1].下面是經(jīng)典古文名句賞析??!不需要的朋友,可以下載后編輯刪除??!謝謝經(jīng)典古文名篇(一);1.陋室銘劉禹錫(唐)字夢得《劉夢得文集》;山不在高,有仙則名;2.馬說韓愈(唐)字退之《昌黎先生集》;世有伯樂,然后有千里馬;馬之千里者,一食(shí)或盡粟一石(dàn);策之不以其道,食(sì)之不能盡其材(才),鳴之;3.師說韓愈(唐);古之學者必有師;嗟乎!師道之不傳也久矣!欲人之無惑也難矣!古之圣;圣人無常師;李氏子蟠,年十七經(jīng)典古文名篇(一)1.陋室銘劉禹錫(唐)字夢得《劉夢得文集》山不在高,有仙則名。水不在深,有龍則靈。斯是陋室,惟吾德馨。苔痕上階綠,草色入簾青。談笑有鴻儒,往來無白丁??梢哉{素琴,閱金經(jīng)。無絲竹之亂耳,無案牘之勞形。南陽諸葛廬,西蜀子云亭。孔子云:何陋之有?2.馬說韓愈(唐)字退之《昌黎先生集》世有伯樂,然后有千里馬。千里馬常有,而伯樂不常有。故雖有名馬,只辱于奴隸人之手,駢死于槽櫪之間,不以千里稱也。馬之千里者,一食(shí)或盡粟一石(dàn)。食(sì)馬者不知千里而食(sì)也。是馬也,雖有千里之能,食(shí)不飽,力不足,才美不外見(現(xiàn)),且欲與常馬等不可得,安求其能千里也?策之不以其道,食(sì)之不能盡其材(才),鳴之而不能通其意,執(zhí)策而臨之,曰:“天下無馬!”嗚呼!其真無馬邪(ye)?其真不知馬也。3.師說韓愈(唐)古之學者必有師。師者,所以傳道受(授)業(yè)解惑也。人非生而知之者,孰能無惑?惑而不從師,其為惑也,終不解矣。生乎吾前,其聞道也固先乎吾,吾從而師之;生乎吾后,其聞道也亦先乎吾,吾從而師之。吾師道也,夫庸知其年之先后生于吾乎?是故無貴無賤,無長無少,道之所存,師之所存也。嗟乎!師道之不傳也久矣!欲人之無惑也難矣!古之圣人,其出人也遠矣,猶且從師而問焉;今之眾人,其下圣人也亦遠矣,而恥學于師。是故圣益圣,愚益愚。圣人之所以為圣,愚人之所以為愚,其皆出于此乎?愛其子,擇師而教之;于其身也,則恥師焉,惑矣。彼童子之師,授之書而習其句讀(d?u)者,非吾所謂傳其道解其惑者也。句讀之不知,惑之不解,或師焉,或不(fǒu)焉,小學而大遺,吾未見其明也。巫醫(yī)樂師百工之人,不恥相師。士大夫之族,曰師曰弟子云者,則群聚而笑之。問之,則曰:“彼與彼年相若也,道相似也,位卑則足羞,官盛則近諛?!眴韬簦煹乐粡?,可知矣。巫醫(yī)樂師百工之人,君子不齒,今其智乃反不能及,其可怪也歟!圣人無常師??鬃訋熪?tán)子、萇(cháng)弘、師襄、老聃(dàn)。郯子之徒,其賢不及孔子??鬃釉唬喝诵?,則必有我?guī)?。是故弟子不必不如師,師不必賢于弟子,聞道有先后,術業(yè)有專攻,如是而已。李氏子蟠,年十七,好古文,六藝經(jīng)傳皆通習之,不拘于時,學于余。余嘉其能行古道,作《師說》以貽之。4.愛蓮說周敦頤(北宋)字茂叔《周元公集》水陸草木之花,可愛者甚藩(fán)。晉陶淵明獨愛菊。自李唐來,世人甚愛牡丹。予獨愛蓮之出淤泥而不染,濯清漣而不妖,中通外直,不蔓不枝,香遠益清,亭亭凈植,可遠觀而不可褻玩焉。予謂菊,花之隱逸者也;牡丹,花之富貴者也;蓮,花之君子者也。噫!菊之愛,陶后鮮有聞。蓮之愛,同予者何人?牡丹之愛,宜乎眾矣!5.得道多助,失道寡助《孟子?公孫丑》(戰(zhàn)國)名軻字子輿天時不如地利,地利不如人和。三里之城,七里之郭,環(huán)而攻之而不勝。夫還而攻之,必有得天時者矣,然而不勝者,是天時不如地利也。城非不高也,池非不深也,兵革非不堅利也,米粟非不多也,委而去之,是地利不如人和也。故曰,域民不以封疆之界,固國不以山溪之險,威天下不以兵革之利。得道者多助,失道者寡助。寡助之至,親戚畔(叛)之。多助之至,天下順之。以天下之所順,攻親戚之所畔,故君子有不戰(zhàn),戰(zhàn)必勝矣。6.生于憂患,死于安樂《孟子?告子》舜發(fā)于畎畝之中,傅說(yua)舉于版筑之間,膠鬲舉于魚鹽之中,管夷吾舉于士,孫叔敖舉于海,百里奚舉于市。故天將降大任于是人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,曾(增)益其所不能。人恒過,然后能改;困于心,衡于慮,而后作;征于色,發(fā)于聲,而后喻。入則無法家拂(bì)士,出則無敵國外患者,國恒亡。然后知生于憂患,而死于安樂也。7.魚我所欲也《孟子》魚,我所欲也,熊掌,亦我所欲也,二者不可得兼,舍魚而取熊掌者也。生,亦我所欲也,義,亦我所欲也,二者不可得兼,舍生而取義者也。生亦我所欲,所欲有甚于生者,故不為茍得也。死亦我所惡,所惡有甚于死者,故患有所不避也。如使人之所欲莫甚于生,則凡可以得生者何不用也?使人之所惡莫甚于死者,則凡可以避患者何不為也?由是則生而有不用也;由是則可以避患而有不為也。是故所欲有甚于生者,所惡有甚于死者。非獨賢者有是心也,人皆有之,賢者能勿喪耳。一簞食,一豆羹,得之則生,弗得則死。呼爾而與之,行道之人弗受;蹴爾而與之,乞人不屑也。萬鐘則不辨禮義而受之,萬鐘于我何加焉!為宮室之美,妻妾之奉,所識窮乏者得我歟?向為身死而不受,今為宮室之美為之;向為身死而不受,今為妻妾之奉為之;向為身死而不受,今為所識窮乏者得我而為之:是亦不可以已乎?此之謂失其本心。8.勸學《荀子》(戰(zhàn)國)名況君子曰:學不可以已。青,取之于藍,而青于藍;冰,水為之,而寒于水。木直中(zh?ng)繩,以為輪,其曲中規(guī)。雖有(又)槁(gào)暴(pù),不復挺者,使之然也。故木受繩則直,金就礪則利,君子博學而日參(cān)省乎己,則知明而行無過矣。吾嘗終日而思矣,不如須臾之所學也;吾嘗跂(qí)而望矣,不如登高之博見也。登高而招,臂非加長也,而見者遠;順風而呼,聲非加疾也,而聞者彰。假輿馬者,非利足也,而致千里;假舟楫者,非能水也,而絕江河。君子生(性)非異也,善假于物也。積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,圣心備焉。故不積跬步,無以至千里;不積小流,無以成江海。騏驥一躍,不能十步;駑馬十駕,功在不舍。鍥而舍之,朽木不折;鍥而不舍,金石可鏤。蚓無爪牙之利,筋骨之強,上食埃土,不飲黃泉,用心一也。蟹六跪而二螯,非蛇鱔之穴無可寄托者,用心躁也。9.問說劉開(清)字明東、方來號孟涂君子學必好問。問與學,相輔而行者也,非學無以致疑,非問無以廣識。好學而不勤問,非真能好學者也。理明矣,而或不達于事,識其大矣,而或不知其細,舍問,其奚決焉?賢于己者,問焉以破其疑,所謂就有道而正也。不如己者,問焉以求一得,所謂以能問于不能,以多問于寡也。等于己者,問焉以資切磋,所謂交相問難(nàn),審問而明辨之也?!稌凡辉坪酰俊昂脝杽t裕?!泵献诱摗扒蠓判摹?,而并稱曰“學問之道”,學即繼以問也。子思言“尊德性”,而歸于“道問學”,問且先于學也。古之人虛中樂善,不擇事而問焉,不擇人而問焉,取其有益于身而已。是故狂夫之言,圣人擇之,芻蕘(ráo)之微,先民詢之,舜以天子而詢于匹夫,以大知而察及邇言,非茍為謙,誠取善之弘也。三代而下,有學而無問,朋友之交,至于勸善規(guī)過足矣,其以義理相咨訪,孜孜焉唯進修是急,未之多見也,況流俗乎?是己而非人,俗之同病。學有未達,強(qiǎng)以為知,理有未安,妄以臆度(duo),如是,則終身幾無可問之事。賢于己者,忌之而不愿問焉,不如己者,輕之而不屑問焉,等于己者,狎之而不甘問焉,如是,則天下幾無可問之人。人不足服矣,事無可疑矣,此唯師心自用耳。夫自用,其小者也;自知其陋而謹護其失,寧使學終不進,不欲虛以下人,此為害于心術者大,而蹈之者常十之。不然,則所問非所學焉:詢天下之異文鄙事以快言論;甚且心之所已明者,問之人以試其能,事之至難解者,問之人以窮其短。而非是者,雖有切于身心性命之事,可以收取善之益,求一屈己焉而不可得也。嗟乎!學之所以不能幾(jī)于古者,非此之由乎?且夫不好問者,由心不能虛也;心之不虛,由好學之不誠也。亦非不潛心專力之敵,其學非古人之學,其好亦非古人之好也,不能問宜也。智者千慮,必有一失。圣人所不知,未必不為愚人之所知也;愚人之所能,未必非圣人之不能也。理無專在,而學無止境也,然則問可少耶?《周禮》,外朝以詢萬民,國之政事尚問及庶人,是故貴可以問賤,賢可以問不肖,而老可以問幼,唯道之所成而已矣??孜淖硬粣u下問,夫子賢之。古人以問為美德,而并不見其有可恥也,后之君子反爭以問為恥,然則古人所深恥者,后世且行之而不以為恥者多矣,悲夫!10.前赤壁賦蘇軾(北宋)字子瞻號東坡居士壬戌之秋,七月既望,蘇子與客泛舟游于赤壁之下。清風徐來,水波不興。舉酒屬客,誦明月之詩,歌窈窕之章。少焉,月出于東山之上,徘徊于斗牛之間。白露橫江,水光接天??v一葦之所如,凌萬頃之茫然。浩浩乎如馮虛御風,而不知其所止;飄飄乎如遺世獨立,羽化而登仙。于是飲酒樂甚,扣舷而歌之。歌曰:“桂棹兮蘭槳,擊空明兮溯流光;渺渺兮予懷,望美人兮天一方。”客有吹洞簫者,倚歌而和之。其聲嗚嗚然,如怨,如慕,如泣,如訴,余音裊裊,不絕如縷。舞幽壑之潛蛟,泣孤舟之嫠婦。蘇子愀然,正襟危坐而問客曰:“何為其然也?”客曰:“‘月明星稀,烏鵲南飛’,此非曹孟德之詩乎?西望夏口,東望武昌,山川相繆,郁乎蒼蒼,此非曹孟德之困于周郎者乎?方其破荊州,下江陵,順流而東也,舳艫千里,旌旗蔽空,釃酒臨江,橫槊賦詩,固一世之雄也,而今安在哉?況吾與子漁樵于江渚之上,侶魚蝦而友麋鹿,駕一葉之扁舟,舉匏樽以相屬。寄蜉蝣于天地,渺滄海之一粟。哀吾生之須臾,羨長江之無窮。挾飛仙以遨游,抱明月而長終。知不可乎驟得,托遺響于悲風。”蘇子曰:“客亦知夫水與月乎?逝者如斯,而未嘗往也;盈虛者如彼,而卒莫消長也。蓋將自其變者而觀之,則天地曾不能以一瞬;自其不變者而觀之,則物與我皆無盡也,而又何羨乎?且夫天地之間,物各有主。茍非吾之所有,雖一毫而莫取。唯江上之清風,與山間之明月,耳得之而為聲,目遇之而成色,取之無禁,用之不竭,是造物者之無盡藏也,而吾與子之所共適?!笨拖捕?,洗盞更酌。肴核既盡,杯盤狼藉。相與枕藉乎舟中,不知東方之既白。11.后赤壁賦蘇軾是歲十月之望,步自雪堂,將歸于臨皋。二客從予,過黃泥之坂。霜露既降,木葉盡脫。人影在地,仰見明月。顧而樂之,行歌相答。已而嘆曰:“有客無酒,有酒無肴,月白風清,如此良夜何?”客曰:“今者薄暮,舉網(wǎng)得魚,巨口細鱗,狀如松江之鱸。顧安所得酒乎?”歸而謀諸婦。婦曰:“我有斗酒,藏之久矣,以待子不時之需?!庇谑菙y酒與魚,復游于赤壁之下。江流有聲,斷岸千尺,山高月小,水落石出。曾日月之幾何,而江山不可復識矣!予乃攝衣而上,履巉巖,披蒙茸,踞虎豹,登虬龍,攀棲鶻之危巢,俯馮夷之幽宮,蓋二客不能從焉。劃然長嘯,草木震動,山鳴谷應,風起云涌。予亦悄然而悲,肅然而恐,凜乎其不可留也。反而登舟,放乎中流,聽其所止而休焉。時夜將半,四顧寂寥。適有孤鶴,橫江東來,翅如車輪,玄裳縞衣,戛然長鳴,掠予舟而西也。須臾客去,予亦就睡。夢一道士,羽衣蹁躚,過臨皋之下,揖予而言曰:“赤壁之游樂乎?”問其姓名,俯而不答?!皢韬羿嫖∥抑?。疇昔之夜,飛鳴而過我者,非子也耶?”道士顧笑,予亦驚寤。開戶視之,不見其處。12.賣炭翁白居易(唐)字樂天號香山居士《白氏長慶集》賣炭翁,伐薪燒炭南山中。滿面塵灰煙火色,兩鬢蒼蒼十指黑。賣炭得錢何所營?身上衣裳口中食??蓱z身上衣正單,心憂炭賤愿天寒。夜來城外一尺雪,曉駕炭車碾冰轍。牛困人饑日以高,市南門外泥中歇。翩翩兩騎(jì)來是誰?黃衣使者白衫兒。手把文書口稱敕,回車叱牛牽向北。一車炭,千余斤,宮使驅將(jiāng)惜不得。半匹紅綃一丈綾,系(jì)向牛頭充炭直(值)。13.木蘭詩《樂府詩集》北朝民歌唧唧復唧唧,木蘭當戶織。不聞機杼聲,惟聞女嘆息。問女何所思,問女何所憶。女亦無所思,女亦無所憶。昨夜見軍帖(tiě),可汗大點兵,軍書十二卷,卷卷有爺名。阿爺無大兒,木蘭無長兄,愿為市鞍馬,從此替爺征。東市買駿馬,西市買鞍韉(jiān),南市買轡頭,北市買長鞭。旦辭爺娘去,暮宿黃河邊,不聞爺娘喚女聲,但聞黃河流水鳴濺濺(jiàn)。旦辭黃河去,暮至黑山頭,不聞爺娘喚女聲,但聞燕山胡騎鳴啾啾。萬里赴戎機,關山度若飛。朔氣傳金柝,寒光照鐵衣。將軍百戰(zhàn)死,壯士十年歸。歸來見天子,天子坐明堂。策勛十二轉,賞賜百千強??珊箚査咎m不用尚書郎;愿馳千里足,送兒還故鄉(xiāng)。爺娘聞女來,出郭相扶將(jiāng);阿姊聞妹來,當戶理紅妝;小弟聞姊來,磨刀霍霍向豬羊。開我東閣門,坐我西閣床,脫我戰(zhàn)時袍,著我舊時裳,當窗理云鬢,對鏡帖(貼)花黃。出門看火(伙)伴,火伴皆驚忙:同行十二年,不知木蘭是女郎。雄兔腳撲朔,雌兔眼迷離;雙兔傍(bàng)地走,安能辨我是雄雌?14.石鐘山記蘇軾《水經(jīng)》云:“彭蠡之口有石鐘山焉?!斌P元以為下臨深潭,微風鼓浪,水石相搏,聲如洪鐘。是說也,人常疑之。今以鐘磬置水中,雖大風浪不能鳴也,而況石乎!至唐李渤始訪其遺蹤,得雙石于潭上,扣而聆之,南聲函胡,北音清越,枹(fú)止響騰,余韻徐歇。自以為得之矣。然是說也,余尤疑之。石之鏗然有聲者,所在皆是也,而此獨以鐘名,何哉?元豐七年六月丁丑,余自齊安舟行適臨汝,而長子邁將赴饒之德興尉,送之至湖口,因得觀所謂鐘者。侍僧使小童扶斧,于亂石間擇其一二扣之,硿硿(kōng)焉,余固笑而不信也。至莫(暮)夜月明,獨與邁乘小舟,至絕壁下。大石側立千尺,如猛獸奇鬼,森然欲搏人;而山上棲鶻(hú),聞人聲亦驚起,磔磔(zh?)云霄間;又有若老人咳且笑于山谷中者,或曰此鸛(guàn)鶴也。余方心動欲還,而大聲發(fā)于水上,噌(zēng)吰(h?ng)如鐘鼓不絕。舟人大恐。徐而察之,則山下皆石穴罅,不知其淺深,微波入焉,涵淡澎湃而此為此也。舟回至兩山間,將入港口,有大石當中流,可坐百人,空中而多竅,與風水相吞吐,有窾(kuǎn)坎鏜(tāng)鞳(tà)之聲,與向之噌吰相應,如樂作焉。因笑謂邁曰:“汝識之乎?噌吰者,周景王之無射也,窾坎鏜鞳者,魏莊子之歌鐘也。古之人不余欺也!”事不目見耳聞,而臆斷其有無,可乎?驪元之所見聞,殆于余同,而言之不詳;士大夫終不肯以小舟夜泊絕壁之下,故莫能知!而漁工水師雖知而不能言。此世所以不傳也。而陋者乃以斧斤考擊而求之,自以為得其實。余是以記之,蓋嘆驪元之簡,而笑李渤之陋也。15.五人墓碑記張溥(明)字天如《七錄齋集》五人者,蓋當蓼(liǎo)洲周公之被逮(dài),激于義而死焉者也。至于今,郡之賢士大夫請于當?shù)?,即除魏閹廢祠之址以葬之;且立石于其墓之門,以旌(jīng)其所為。嗚呼,亦盛矣哉!夫五人之死,去今之墓而葬焉,其為時止十有一月耳。夫十有一月之中,凡富貴之子,慷慨得志之徒,其疾病而死,死而湮沒不足道者,亦已眾矣;況草野之無聞者歟?獨五人之皦皦(jiǎo),何也?C++課程設計報告(2021--2021年度第二學期)猜數(shù)游戲專業(yè)計算機科學與技術學生姓名班級學號指導教師王榕完成日期2013年目錄TOC\o"1-5"\h\z\u目錄 21概述 11.1課程設計目的 11.2課程設計內容 12系統(tǒng)總體設計 12.1系統(tǒng)目標 12.2主體功能 22.3系統(tǒng)流程 32.4開發(fā)環(huán)境 53系統(tǒng)詳細設計 53.1系統(tǒng)主界面設計 53.2提示鍵H、K的模塊設計 63.3統(tǒng)計分數(shù)模塊設計 84測試 94.1測試方案 94.2測試結果 105小結 11參考文獻 13附錄 14附錄1源程序清單 14猜數(shù)游戲的設計與實現(xiàn)1概述1.1課程設計目的a)鞏固并加深學生對C++語言程序設計知識的理解;b)培養(yǎng)學生面向對象的程序設計思想,使學生認識面向過程和面向對象兩種設計方法的區(qū)別;c)進一步掌握和應用VC++6.0集成開發(fā)環(huán)境;d)提高運用C++語言解決實際問題的能力;e)初步掌握開發(fā)小型實用軟件的基本方法,能獨立設計、實現(xiàn)具有實際功能的小系統(tǒng);f)掌握書寫程序設計開發(fā)文檔的能力(書寫課程設計實驗報告)1.2課程設計內容課程名稱:猜數(shù)游戲說明:用戶從鍵盤輸入4位不重復的數(shù),來匹配計算機給出的4位隨機數(shù),若數(shù)字和位置均等同,表示用戶贏了。每猜一次,計算機均給出提示信息(x,y),x表示數(shù)字、位置都匹配的個數(shù),y表示數(shù)字匹配但位置不匹配的個數(shù)。要求:a)設計友好的中文用戶交互界面。b)按H鍵,可得到更詳細的幫助信息。c)按K鍵后,可以查看計算機所給的4位數(shù),但查看前需要輸入密碼,密碼自定。d)猜的結果以分值的形式給出,每猜錯1次扣100分,若猜對1個數(shù),獎勵20分。e)每次游戲結束后將分值存盤,文件名自定。2系統(tǒng)總體設計2.1系統(tǒng)目標該題目是一個通過自己的推斷猜數(shù)字小游戲。編寫該程序要完成實現(xiàn)系統(tǒng)自定義四位不同數(shù)字、輸入四位不同數(shù)字、判斷輸入的四位不同數(shù)字的對錯情況的功能以及玩游戲時的提示功能、管理功能和與退出功能。這次課設是要求用C++編寫程序,實現(xiàn)數(shù)字之間的相互比較,讓玩家找出電腦寫的四位數(shù)字,而玩家在找出四位數(shù)字中,電腦需要給出玩家一些提示信息,用以幫助玩家找出答案。對于猜位數(shù)不等的四位數(shù),電腦需要在程序剛運行時,確定一個隨機的四位數(shù),且各個位數(shù)不相等。而在玩家輸入數(shù)字時,也需要檢驗玩家輸入的數(shù)字是否滿足條件,即一個各個位數(shù)不重復的四位數(shù)。只有玩家輸入正確的數(shù)字后,電腦才能進行比較數(shù)字的運算,如果玩家輸入的數(shù)字和電腦的不相等,輸出提示信息,并應從新讀取玩家的數(shù)字進行判斷,直到玩家放棄猜數(shù)字或數(shù)字猜對為止。當玩家在玩游戲時每輸入一次四位不同數(shù)字電腦都會給出位置數(shù)字對錯的的信息,并對此算出所得分數(shù)(每猜錯1次扣100分,若猜對1個數(shù),獎勵20分。)。但玩家經(jīng)過多次猜測還沒猜出答案可以使用提示的功能即比較詳細的敘述玩家所猜的數(shù)字的數(shù)字和位置的對錯情況。當玩家想知道電腦給出的數(shù)字時可以使用管理功能輸入正確的密碼可以知道電腦所給的正確答案。當玩家不想玩此游戲可是使用退出鍵并且在退出時電腦會給玩家正確的答案。2.2主體功能該游戲的主體功能主要有以下幾個重要的模塊:電腦實現(xiàn)自定義模塊、電腦對玩家所猜數(shù)字進行處理的模塊、電腦處理玩家游戲排名模塊以及電腦處理玩家退出游戲的模塊。其中電腦自定義模塊在玩家開始玩游戲時電腦事先確定好四位不同數(shù)字作為正確數(shù)字供玩家猜測;對玩家數(shù)字所猜測的數(shù)字處理模塊主要就是把玩家所猜測的數(shù)字與正確答案做個比較然后反饋給玩家;玩家排名模塊就是把各個玩家玩的游戲統(tǒng)計所得分數(shù)并且做出比較排列出前三名;退出模塊主要是玩家想放棄游戲時做游戲作出處理并與此同時告訴玩家答案。該游戲的各個模塊功能如下圖所示:猜數(shù)游戲猜數(shù)游戲電腦自定義一組四位不同數(shù)字玩家猜測的四位不同數(shù)字退出游戲游戲對錯程度判斷游戲的提示游戲管理顯示玩家前三名排行圖2-1系統(tǒng)功能模塊圖2.3系統(tǒng)流程如下圖所示我畫的總體流程圖想要展現(xiàn)的是,開始玩家進入游戲電腦自定義一組四位不同數(shù)字供玩家猜測,接著開始游戲玩家輸入四位不同數(shù)字電腦會對這組數(shù)字與正確答案做出比較并告知玩家,接著玩家可有兩種選擇一是是否繼續(xù)猜數(shù),二是是否需要提示。其中如果需要提示通過使用快捷鍵電腦會給玩家詳細的錯誤提醒。如果繼續(xù)游戲那么回到開始輸入四位不同數(shù)字階段,但是如果玩家想退出游戲可以使用快捷鍵退出游戲。在玩游戲的過程玩家每猜一次電腦都會給玩家所得分數(shù)NNYYN開始請輸入四位不同數(shù)字電腦初始化判斷輸入數(shù)字正確程度統(tǒng)計所得分數(shù)結束提示給出詳細對錯信息繼續(xù)退出程序圖2-2系統(tǒng)流程圖2.4開發(fā)環(huán)境該程序是在windows系統(tǒng)下的C++語言開發(fā)和應用VC++6.0集成開發(fā)環(huán)境。3系統(tǒng)詳細設計3.1系統(tǒng)主界面設計該界面清晰易懂,主要包括游戲的前三名、游戲的漢字提醒以及鍵盤輸入提醒。游戲名次排序可以展現(xiàn)玩家玩此游戲的熟練程度以及玩此游戲能力,說已設立了游戲的名次排序可以激發(fā)游戲者競爭意識。游戲界面的提醒部分可以使游戲者熟練的玩此游戲,以及游戲的功能。主要代碼有:cout<<"輸入您所猜測的4位不同的數(shù)字(輸入9999退出,輸入H幫助,輸入K管理):"<<endl;cout<<"****************游戲金榜****************"<<endl;cout<<"**第1名"<<mark1<<endl<<"**第2名"<<mark2<<endl<<"**第3名"<<mark3<<endl;其主要界面如下:圖3-1主界面設計圖圖3-1主界面設計圖3.2提示鍵H、K的模塊設計玩家在玩游戲時通過H、K鍵完成游戲的幫助和管理。當玩家想放棄玩游戲想知道正確答案時可以使用K鍵,但是因為屬于管理者的捷徑所以要輸入密碼。當密碼輸入錯誤時界面會提示輸入錯誤玩家會再次進入游戲狀態(tài)。但玩家玩游戲時覺得比較難不好猜測可以使用H鍵,電腦會給出詳細的提示(例如:玩家要猜測的數(shù)字4369可是玩家猜測是3568這時使用H鍵電腦會給出提示“您的第一位數(shù)字猜對,但位置不對;您的第三位數(shù)字猜對,位置猜對”)其詳細的流程圖如下:NNYNYYNY開始電腦初始化輸入四位不同數(shù)字給出詳細的對錯信息正確N提示統(tǒng)計所得分數(shù)輸入H鍵N繼續(xù)答案輸入K鍵請輸入密碼密碼正確答案結束Y圖3-2關于適用H、K鍵的流程圖3.3統(tǒng)計分數(shù)模塊設計玩家在玩游戲輸入四位不同數(shù)字之后電腦系統(tǒng)會為玩家做一次分數(shù)統(tǒng)計。游戲開始時電腦給玩家自定義分數(shù)為1000分,當玩家開始猜數(shù)的游戲時沒猜錯一次扣100分,若猜對一個數(shù),獎勵20分。(例如:玩家要猜數(shù)9852,但玩家輸入1234時玩家得分為960分當玩家再次輸入數(shù)字1235時玩家得分為920分) 其流程圖如下所示:YYN開始輸入四位不同數(shù)字判斷對錯情況n=1000數(shù)字對a個n=n-100圖3-3統(tǒng)計流程圖繼續(xù)輸出n結束正確YNn=n+a*204測試4.1測試方案測試方案一:測試執(zhí)行時出現(xiàn)重復的情況圖4-1錯誤輸入數(shù)字執(zhí)行圖測試方案二:測試在需要幫助時鍵盤輸h及H的情況圖4-2在鍵盤輸入小寫字母錯誤時執(zhí)行情況4.2測試結果測試結果一:但玩家想知道游戲答案時可以輸入大寫字母K并輸入密碼得以實現(xiàn)圖4-3玩家進行管理狀態(tài)執(zhí)行情況測試結果二:玩家如果想結束游戲輸入9999來實現(xiàn)圖4-4玩家終止游戲的情況測試結果三:玩家想知道游戲答案是密碼輸入密碼錯誤。圖4-5玩家執(zhí)行公布游戲答案密碼錯誤的情況5小結這周的課程設計就要結束了。從最開始的做題到現(xiàn)在的報告總結我完成一個過程。在這個過程里我領悟了很多。在最開始的做實驗報告時感覺挺難的之前根本就沒有寫過關于游戲的實驗報告,不過還好我以前沒事的時候玩過這游戲,所以比較了解這個游戲各個部分。雖然在中間寫的過程中還有很多不會的東西,但是通過查看書本和資料還有問同學和老師,基本上都解決了。其中有一部分的程序無法滿足題目的要求在老師的幫助下最后得到了解決,通過這件事我感覺自己還有還有很多不足,仍然有一些有待提高的地方。我覺得課程設計的作用一方面是最基本的就是要完成這一科目,差不多也是對自己的一個階段性的總結;還有就是在整個設計的過程中,讓我們認真的獨立思考,在和同學交流的過程中也增強了我們的語言組織能力和彼此之間的友誼。通過課程設計讓我們不斷的發(fā)現(xiàn)自己的不足從而去改善,這是一種學習的態(tài)度,不僅僅是在這次的課程設計中,在以后的無論生活還是學習方面都應該注意和努力改善。通過這次比較完整的一個程序的設計,我擺脫了單純的理論知識學習狀態(tài),和實際設計的結合鍛煉了我的綜合運用所學的基礎知識,解決實際問題的能力,同時也提高我查閱文獻資料、對程序整體的把握等其他能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富。這是我們都希望看到的也正是我們進行課程設計的目的所在。雖然設計內容繁多,過程繁瑣但我的收獲卻更加豐富。各種組件的運用,各種算法的應用,各種控件的利用我都是隨著設計的不斷深入而不斷熟悉并逐步掌握的。和老師以及同學的溝通交流更使我對程序整體的規(guī)劃與設計有了新的認識也對自己提出了新的要求。提高是有限的但提高也是全面的,正是這一次設計讓我積累了許多實際經(jīng)驗,也必然會讓我在未來的工作學習中表現(xiàn)出更高的應變能力和理解力。參考文獻[1]譚浩強.C++程序設計(第二版)[M].北京:清華大學出版社,2021.
[2]譚浩強.C++程序設計題解與上機指導(第二版)[M].北京:清華大學出版社,2021.附錄附錄1源程序清單#include<iostream>#include<cstdlib>#include<ctime>#include<fstream>#include<cstdlib>usingnamespacestd;intx1,x2,x3,x4;inty1,y2,y3,y4;//定義全局變量來記錄玩家猜數(shù)的情況voidFetchHisGuess(int&,int&,int&,int&);voidCompNumber(int&,int&,int&,int&);boolEnd(int,int,int,int);boolHelp(int,int,int,int,int&,int&,int&,int&,int&,int&,int&,int&);boolManage(int,int,int,int,int,int,int,int);voidTextX(int,int,int,int,int,int,int,int,int&,int&,int&,int&);voidTextY(int,int,int,int,int,int,int,int,int&,int&,int&,int&);boolBegin(int,int,int);voidrank();voidReadMark();//輸出保存得分的前三名intnCount=1000;staticintmark1=0,mark2=0,mark3=0;intmain(){ReadMark();intiHisA,iHisB,iHisC,iHisD;//用戶輸入值intiComA,iComB,iComC,iComD;boolbDone=false;boolbEnd=false;intiGuessCounter=1;while(bEnd==false){iHisA=0,iHisB=0,iHisC=0,iHisD=0; iComA=0,iComB=0,iComC=0,iComD=0; x1=0,x2=0,x3=0,x4=0; y1=0,y2=0,y3=0,y4=0; bDone=false; intiGuessCount=1; CompNumber(iComA,iComB,iComC,iComD); while(bDone==false) { nCount-=40; FetchHisGuess(iHisA,iHisB,iHisC,iHisD); nCount+=(x1+x2+x3+x4)*20;//每猜對1個數(shù)的位置加20 bEnd=End(iHisA,iHisB,iHisC,iHisD);if(Help(iHisA,iHisB,iHisC,iHisD,x1,x2,x3,x4,y1,y2,y3,y4)==true) continue; if(Manage(iHisA,iHisB,iHisC,iHisD,iComA,iComB,iComC,iComD)==true) continue; x1=0,x2=0,x3=0,x4=0; y1=0,y2=0,y3=0,y4=0; TextY(iHisA,iHisB,iHisC,iHisD,iComA,iComB,iComC,iComD,y1,y2,y3,y4); TextX(iHisA,iHisB,iHisC,iHisD,iComA,iComB,iComC,iComD,x1,x2,x3,x4); if(bEnd==true) { cout<<"[正確的結果]"<<iComA<<iComB<<iComC<<iComD<<endl; cout<<"您的最終得分:"<<nCount<<"歡迎下次再玩!"<<endl; bDone=true; rank(); } else { if((x1+x2+x3+x4)==4) { cout<<"正確"<<endl<<"您一共猜了"<<iGuessCounter<<"次"<<endl; nCount+=100; bDone=true; } else { cout<<"您有"<<x1+x2+x3+x4<<"位數(shù)字位置匹配,"<<y1+y2+y3+y4<<"位數(shù)字數(shù)字匹配,"<<4-(x1+x2+x3+x4)-(y1+y2+y3+y4)<<"位數(shù)字不對"<<endl; cout<<"您的得分是"<<nCount<<endl; rank(); iGuessCounter++; } } }}return0;}voidFetchHisGuess(int&iHisGuess1,int&iHisGuess2,int&iHisGuess3,int&iHisGuess4){ while(true) { cout<<"輸入您所猜測的4位不同的數(shù)字(輸入9999退出,輸入H幫助,輸入K管理):"<<endl; scanf("%c",&iHisGuess1); //10代表換行,去除上一次輸入之后的換行符 if(iHisGuess1==10) { scanf("%c",&iHisGuess1); } if(iHisGuess1==10) { scanf("%c",&iHisGuess1); } if(iHisGuess1=='K') { iHisGuess1=iHisGuess2=iHisGuess3=iHisGuess4=7; return; } if(iHisGuess1=='H') { iHisGuess1=iHisGuess2=iHisGuess3=iHisGuess4=8; return; } iHisGuess1=iHisGuess1-0x30; scanf("%1d%1d%1d",&iHisGuess2,&iHisGuess3,&iHisGuess4); if((iHisGuess1==9&&iHisGuess2==9&&iHisGuess3==9&&iHisGuess4==9)||(iHisGuess1==8&&iHisGuess2==8&&iHisGuess3==8&&iHisGuess4==8)||(iHisGuess1==7&&iHisGuess2==7&&iHisGuess3==7&&iHisGuess4==7)) { return; } if(iHisGuess1==iHisGuess2||iHisGuess1==iHisGuess3||iHisGuess1==iHisGuess4||iHisGuess2==iHisGuess3||iHisGuess2==iHisGuess4||iHisGuess3==iHisGuess4) { cout<<"錯誤的輸入,請重新輸入[需要輸入4位不同的數(shù)字]"<<endl; continue; } return; }}voidCompNumber(int&a,int&b,int&c,int&d){srand(time(0));boolbIS=false;while(bIS==false){a=1+(rand()%9); b=1+(rand()%9); c=1+(rand()%9); d=1+(rand()%9); if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d) { bIS=true; } else{bIS=false;}}}boolEnd(inta,intb,intc,intd){if(a==9&&b==9&&c==9&&d==9){returntrue;}else{returnfalse;}}boolHelp(inta,intb,intc,intd,int&x1,int&x2,int&x3,int&x4,int&y1,int&y2,int&y3,int&y4){if(a==8&&b==8&&c==8&&d==8){if(x1)cout<<"您的第1位數(shù)字和位置均不對"<<endl;if(x2)cout<<"您的第2位數(shù)字和位置均不對"<<endl;if(x3)cout<<"您的第3位數(shù)字和位置均不對"<<endl;if(x4)cout<<"您的第4位數(shù)字和位置均不對"<<endl; if(y1)cout<<"您的第1位數(shù)字猜對,但位置不對"<<endl;if(y2)cout<<"您的第2位數(shù)字猜對,但位置不對"<<endl;if(y3)cout<<"您的第3位數(shù)字猜對,但位置不對"<<endl;if(y4)cout<<"您的第4位數(shù)字猜對,但位置不對"<<endl; if(!(x1||x2||x3||x4||y1||y2||y3||y4))cout<<"您輸入的位置與數(shù)字均未猜對"<<endl;returntrue;}else returnfalse;}boolManage(inta,intb,intc,intd,intiComA,intiComB,intiComC,intiComD){intiPasswd;if(a==7&&b==7&&c==7&&d==7){ cout<<"請輸入密碼:"<<endl; scanf("%d",&iPasswd); if(iPasswd==1234) { cout<<"正確的數(shù)字為"<<iComA<<iComB<<iComC<<iComD<<endl; } else{cout<<"密碼錯誤"<<endl;} returntrue;}else{returnfalse;}}voidReadMark(){ifstreaminfile;infile.open("Game.dat",ios::in);if(infile)infile>>mark1>>mark2>>mark3;//輸出前三名cout<<"****************游戲金榜****************"<<endl;cout<<"**第1名"<<mark1<<endl<<"**第2名"<<mark2<<endl<<"**第3名"<<mark3<<endl;infile.close();}voidrank(){if(nCount>=mark1){mark3=mark2; mark2=mark1; mark1=nCount;}elseif(nCount>=mark2){mark3=mark2;mark2=nCount;}elseif(nCount>=mark3) mark3=nCount;ofstreamoutfile; outfile.open("Game.dat",ios::out); outfile<<mark1<<"\n"<<mark2<<"\n"<<mark3<<"\n"; outfile.close();}voidTextX(intiHisA,intiHisB,intiHisC,intiHisD,intiComA,intiComB,intiComC,intiComD,int&x1,int&x2,int&x3,int&x4){if(iHisA==iComA)x1++;//第一位的數(shù)字判斷if(iHisB==iComB)x2++;if(iHisC==iComC)x3++;if(iHisD==iComD)x4++;}voidTextY(intiHisA,intiHisB,intiHisC,intiHisD,intiComA,intiComB,intiComC,intiComD,int&y1,int&y2,int&y3,int&y4){if(iHisA==iComB||iHisA==iComC||iHisA==iComD)y1++;//第一位的位置判斷if(iHisB==iComA||iHisB==iComC||iHisB==iComD)y2++;if(iHisC==iComA||iHisC==iComB||iHisD==iComD)y3++;if(iHisD==iComA||iHisD==iComB||iHisD==iComC)y4++;}學校:太原科技大學班級:計算機07××××班學校:太原科技大學班級:計算機07××××班姓名:×××學號:20072001××××C++課程設計報告運動會分數(shù)統(tǒng)計系統(tǒng)1問題描述運動會分數(shù)統(tǒng)計系統(tǒng)參加運動會有n個系,系編號為1……n。比賽分成m個男子項目,和w個女子項目。項目編號為男子1……m,女子m+1……m+w。不同的項目取前五名或前三名積分;取前五名的積分分別為:7、5、3、2、1,前三名的積分分別為:5、3、2;哪些取前五名或前三名由學生自己設定。(m<=20,n<=20)2.基本要求:(1).可以輸入各個項目的前三名或前五名的成績;(2).能統(tǒng)計各系總分,(3).可以按系編號、系總分、男女團體總分排序輸出;(4).可以按系編號查詢系某個項目的情況;可以按項目編號查詢取得前三或前五名的系。3.測試數(shù)據(jù)《1》輸入:1進入添加系的界面,根據(jù)提示,再輸入:汽車系。再輸入:8,成功添加了一個系。再輸入:2進入運動項目添加界面,根據(jù)提示,再輸入:跳高;1;0;1;2;3。之后輸入0。再次進入系統(tǒng)界面?!?》輸入:3查看輸出結果。《3》:輸入:4查看輸出結果?!?》:輸入:5查看輸出結果?!?》:輸入:6查看輸出結果?!?》:輸入:7根據(jù)提示輸入項目編號:2。查看輸出結果?!?》:輸入:8根據(jù)提示輸入系編號:3。查看輸出結果。二、概要設計1.數(shù)據(jù)結構<1>系:名稱,編號,男子團體總分,女子固體總分。<2>運動項目:項目編號,名稱,男子項目,女子項目,前三名,前五名,第一名系的編號,第二名系的編號,第三名系的編號,第四名系的編號,第五名系的編號。2.程序模塊及之間的調用關系
三、詳細設計
1、數(shù)據(jù)類型定義(1)系的定義:typedefstructDepartment//系的結構{charname[20];//系的名稱intnumber;//系的編號intboy;//男子團體總分intgirl;//女子團體總分Department*next;}Department;(2)運動項目定義:typedefstructSport//運動項目結構{charname[20];//運動項目名稱intisboy;//0為女項目,1為男項目intis3;//0為取前五名,1為取前五名intnumber;//項目編號intfirst;//第一名系的編號intsecond;//第二名系的編號intthird;//第三名系的編號intfourth;//第四名系的編號intfifth;//第五名系的編號Sport*next;}Sport;、2、函數(shù)之間的調用關系系調用圖department_adddepartment_Order<1>Departmentdepartment_searchdepartment_addmarkdepartment_showdepartment_isexistdepartment_outputdepartment_readdepartment_writedepartment_getlongsport_isexistsport_addsport_getlongsport_write<2>Sportsport_readsport_outputsport_search3、算法設計主要算法的設計思想:本程序主要是使用鏈表來實現(xiàn)操作。一個運動會包括運動項目和參加運動會的成員。因此構造兩個鏈表Department,Sport。為了操作的方便,并且能夠保存輸入數(shù)據(jù),所以通過文件操作來實現(xiàn)數(shù)據(jù)的寫和讀。每次添加新的數(shù)據(jù)后都要輸入0退出,數(shù)據(jù)才能保存。對于總分的排序使用了冒泡排序。為了使整個程序看起來更加友好,又添加了程序啟動畫面。調試分析本程序相對來說比較容易看明白,其中涉及到的一些函數(shù)相對來說比較容易。通過調試,運行,基本上達到了要求,但還存在一些缺點。如:不夠人性化等。測試結果<1>多組數(shù)據(jù)輸入與輸出:(1)輸入:3輸出:系名編號男團總分女團總分總分法律系6000電子系5325數(shù)學系4606歷史系39716中文系2151126計算機系1211132旅游系7077(2)輸入:4輸出:系名編號男團總分女團總分總分法律系6000電子系5325數(shù)學系4606旅游系7077歷史系39716中文系2151126計算機系1211132(3)輸入:5輸出:法律系6000電子系5325數(shù)學系4606旅游系7077歷史系39716中文系2151126計算機系1211132(4)輸入:6輸出:法律系6000電子系5325數(shù)學系4606旅游系7077歷史系39716中文系2151126計算機系1211132(5)輸入:7輸出:請輸入項目編號:輸入:1回車輸出:項目名:100m項目類型:女子項目第一名:計算機系第二名:中文系第三名:法律系第四名:無第五名:無(6)輸入:8輸出:請輸入系的編號:再輸入2則輸出:系名:中文系男子團體總分:3女子團體部分:10總分:13(7)輸入:0退出用戶手冊
1、運行環(huán)境Windows,VC++6.0
2、用戶界面
4、操作過程(1)用戶進入程序啟動界面,等load完成后進入主菜單.主菜單有以下9個選項1.輸入系別2.輸入運動項目3.按系別編號輸出總分4.按總分排序5.按男團體總分排序6.按女團體總分排序7.按項目編號查詢8.按系別編號查詢0.退出(2)輸入0~8中的一個數(shù)(3)輸入1,進行添加系操作,分別輸入系的名稱和編號(4)輸入2,進行添加運動項目操作,分別輸入項目名稱,編號,項目類型,名次選取,排名情況(5)輸入0,則退出系統(tǒng),并且保存輸入的信息.每次添加完都要輸入0退出系統(tǒng)才有效(6)輸入3,輸出按系編號總分排名.(7)輸入4,輸出按總分排名(8)輸入5,輸出按男團體總分排序(9)輸入6,輸出按女團體總分排序(10)輸入7,進入按項目編號查詢界面.輸入要查詢的項目編號(11)輸入8,進入按系別編號查詢界面,輸入要查詢的系的編號參考文獻【1】《C++程序設計》作者:鄭莉,董淵,張瑞豐出版社:清華大學出版社時間:2003/12【2】《數(shù)據(jù)結構》嚴蔚敏,吳偉民出版社:清華大學出版社時間:2006/10【3】《數(shù)據(jù)結構教程上機實驗指導》嚴蔚敏,吳偉民,米寧出版社:清華大學出版社時間:2006/5【4】網(wǎng)址:://chinadforce附錄
1、源程序#include<iostream.h>#include<iomanip.h>#include<string.h>#include<fstream.h>#include<stdlib.h>#include<ctype.h>#include<stdio.h>#include<conio.h>typedefstructDepartment//系的結構{charname[20];//系的名稱intnumber;//系的編號intboy;//男子團體總分intgirl;//女子團體總分Department*next;}Department;typedefstructSport//運動項目結構{charname[20];//運動項目名稱intisboy;//0為女項目,1為男項目intis3;//0為取前五名,1為取前五名intnumber;//項目編號intfirst;//第一名系的編號intsecond;//第二名系的編號intthird;//第三名系的編號intfourth;//第四名系的編號intfifth;//第五名系的編號Sport*next;}Sport;intgetint(inta)//字符轉換成數(shù)字{return(int)(a-'0');}Department*head1;//啟動畫面函數(shù)voidCover(){system("color1b");charline[]={"程序讀取中請耐心等待..."};charbar[]={""};inti,j,k=0,x=0,y=0;for(i=0;i<=strlen(line)/2;){system("cls");for(j=0;j<9;j++)//改變行坐標cout<<endl;for(j=0;j<(75-strlen(line))/2;j++)//改變列坐標cout<<"";for(j=1;j<=i;j++)//進度顯示器cout<<"●";for(x=strlen(line)/2;x>i;x--)cout<<"○";if(k==4)i++;cout<<endl;for(j=0;j<(75-strlen(line))/2;j++)//行坐標定位cout<<"";cout<<line;//輸出線條cout<<endl;for(j=0;j<(65-strlen(bar))/2;j++)cout<<"";cout<<(i+7)*5<<"%Loading";cout.write(bar,k);cout<<endl;for(j=0;j<10;j++)cout<<endl;for(j=0;j<24;j++)cout<<"";cout<<"程序設計員:05計本4班李濤沈曉霖陳秀華"<<endl;for(j=0;j<24;j++)cout<<"";for(j=0;j<=18;j++)cout<<"─";cout<<endl;for(j=0;j<10000000;j++);//延時效果k++;if(k>4)k=0;}}voiddepartment_add()//添加系{Department*p;intmark=0;p=newDepartment;cout<<"請輸入系的名稱:";cin>>p->name;charc;while(mark!=1){cout<<"請輸入系的編號:";cin>>c;if(!isdigit(c))//是否為數(shù)字{cout<<"數(shù)據(jù)非法"<<endl;}else{mark=1;p->number=c;}}p->boy=0;p->girl=0;p->next=head1->next;head1->next=p;cout<<"成功添加了一個系"<<endl;}intdepartment_getlong(Department*first)//得到鏈表長度{inti=0;while(first->next!=NULL){i++;first=first->next;}returni;}voiddepartment_write()//將系數(shù)據(jù)寫入文本{Department*p;p=head1;p=p->next;ofstreamoutfile("Department.txt",ios::out);outfile<<department_getlong(p)+1<<"";while(p!=NULL){outfile<<p->name<<""<<p->number<<""<<p->boy<<""<<p->girl<<"";p=p->next;}outfile.close();cout<<"WriteSuccess!"<<endl;}voiddepartment_read()//從文本讀入系數(shù)據(jù){inti;ifstreaminfile("Department.txt",ios::in);infile>>i;while(i>0){Department*p;p=newDepartment;infile>>p->name>>p->number>>p->boy>>p->girl;p->next=head1->next;head1->next=p;i--;}cout<<"DepartmentDataReadSuccess!"<<endl;}voiddepartment_output(Department*p)//輸出系{cout<<"系名編號男團總分女團總分總分\t\n";while(p){cout<<p->name<<"\t"<<getint(p->number)<<"\t"<<p->boy<<"\t"<<p->girl<<"\t"<<(p->girl+p->boy)<<endl;p=p->next;}}intdepartment_isexist(inta)//檢驗系是否存在{intb=0;Department*p;p=head1;p=p->next;while(p){if(p->number==a){return1;}p=p->next;}return0;}voiddepartment_show(inta)//輸出所有系{Department*p;p=head1;p=p->next;while(p){if(p->number==a){cout<<p->name<<"";return;}p=p->next;}cout<<"無";}voiddepartment_search(inta)//按編號搜索系{Department*p;p=head1;p=p->next;while(p){if(p->number==a){cout<<"系名:"<<p->name<<""<<"男子團體總分:"<<p->boy<<""<<"女子團體總分:"<<p->girl<<""<<"總分:"<<(p->boy+p->girl)<<"";return;}p=p->next;}cout<<"無此編號";}voiddepartment_addmark(inta,intb,intc)//a為分數(shù),b為系編號,c=1表示男,c=0表示女{Department*p;p=head1;p=p->next;while(p){if(p->number==b){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2北京2024版物業(yè)公司轉讓合同:價格、流程與標的物
- 二零二五版自然人之間文化創(chuàng)意作品授權合同2篇
- 屋頂租賃違約金合同(2篇)
- 二零二五年度液化氣站送氣工勞動合同書3篇
- 二零二五版本二手房買賣合同含房屋交易資金監(jiān)管條款3篇
- 二零二五年高端活動贊助廣告發(fā)布合同模板3篇
- 二零二五年度離婚協(xié)議書起草與財務規(guī)劃服務合同3篇
- 2025年度汽車租賃行業(yè)擔保函制定與法律效力確認合同3篇
- 二零二五年車庫購置與車位租賃及產(chǎn)權登記服務合同樣本2篇
- 二零二五年污水處理廠污水處理能力提升合同3篇
- 2023年河南省公務員錄用考試《行測》真題及答案解析
- 2024年安徽省公務員錄用考試《行測》真題及答案解析
- 山西省太原市重點中學2025屆物理高一第一學期期末統(tǒng)考試題含解析
- 充電樁項目運營方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質技能考試題庫(附含答案)
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應練習題)
- 新版《鐵道概論》考試復習試題庫(含答案)
- 【律師承辦案件費用清單】(計時收費)模板
- 高中物理競賽真題分類匯編 4 光學 (學生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 2024年上海市中考語文試題卷(含答案)
評論
0/150
提交評論