廈門(mén)理工學(xué)院C語(yǔ)言課程設(shè)計(jì)報(bào)告_第1頁(yè)
廈門(mén)理工學(xué)院C語(yǔ)言課程設(shè)計(jì)報(bào)告_第2頁(yè)
廈門(mén)理工學(xué)院C語(yǔ)言課程設(shè)計(jì)報(bào)告_第3頁(yè)
廈門(mén)理工學(xué)院C語(yǔ)言課程設(shè)計(jì)報(bào)告_第4頁(yè)
廈門(mén)理工學(xué)院C語(yǔ)言課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《C語(yǔ)言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告(20—20學(xué)年第2學(xué)期)專(zhuān)業(yè):班級(jí):姓名學(xué)號(hào):指導(dǎo)教師:成績(jī):計(jì)算機(jī)科學(xué)與技術(shù)系20年月日目錄TOC\o"1-3"\h\u3085一.課程設(shè)計(jì)的目的與要求(含設(shè)計(jì)指標(biāo)) 3100831.實(shí)驗(yàn)?zāi)康?340622.設(shè)計(jì)要求 3273033.課程設(shè)計(jì)報(bào)告(按《C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告》格式要求完成) 347534.檢查標(biāo)準(zhǔn) 421295二.方案實(shí)現(xiàn)與調(diào)試 412022.1題目:①擲骰子游戲: 42002.1.1算法描述及實(shí)驗(yàn)步驟 4231902.1.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 689982.2題目:③計(jì)算存款本息之和: 7181702.2.1算法描述及實(shí)驗(yàn)步驟 793772.2.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 8110612.3題目:④肇事逃逸: 920592.3.1算法描述及實(shí)驗(yàn)步驟 9292512.3.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 11312612.4題目:⑥汽車(chē)加油: 11299502.4.1算法描述及實(shí)驗(yàn)步驟 11233592.4.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 13146492.5題目:⑧大優(yōu)惠: 13278472.5.1算法描述及實(shí)驗(yàn)步驟 14109072.5.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 15258162.6題目:⑨金幣: 1590662.6.1算法描述及實(shí)驗(yàn)步驟 1616682.6.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 1632472.7提高題:畢業(yè)設(shè)計(jì)論文管理系統(tǒng)設(shè)計(jì): 1720342.7.1算法描述及實(shí)驗(yàn)步驟 18226052.7.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果 217810三.課程設(shè)計(jì)分析與總結(jié) 2227908四.源程序清單 222378①擲骰子游戲: 227043③計(jì)算存款本息之和 2429804④肇事逃逸 2511494⑥汽車(chē)加油 269225⑧大優(yōu)惠 2824156⑨金幣 293040提高題:畢業(yè)設(shè)計(jì)論文管理系統(tǒng)設(shè)計(jì) 2931434五.設(shè)計(jì)日志與教師評(píng)價(jià) 38

(報(bào)告正文部分的格式):(要求:正文部分一律用五號(hào)字,宋體,單倍行距。一級(jí)大標(biāo)題靠左,四號(hào),宋體,加粗。二級(jí)大標(biāo)題靠左,小四,宋體,不加粗。)課程設(shè)計(jì)的內(nèi)容如下:一.課程設(shè)計(jì)的目的與要求(含設(shè)計(jì)指標(biāo))1.實(shí)驗(yàn)?zāi)康腃語(yǔ)言是一種編程靈活,特色鮮明的程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言除了學(xué)習(xí)必須的基本知識(shí),如概念,方法和語(yǔ)法規(guī)則之外,更重要的是進(jìn)行實(shí)訓(xùn),以提高學(xué)習(xí)者的動(dòng)手和編程能力,這是學(xué)習(xí)語(yǔ)言的最終目的。結(jié)合多年來(lái)的教學(xué)經(jīng)驗(yàn),根據(jù)學(xué)生的學(xué)習(xí)情況,為配合教學(xué)過(guò)程,使“項(xiàng)目教學(xué)法”能在本質(zhì)上促使學(xué)生有更大進(jìn)步,特編寫(xiě)了該《C語(yǔ)言程序設(shè)計(jì)任務(wù)書(shū)》,以在實(shí)訓(xùn)過(guò)程中給學(xué)生提供幫助。達(dá)到如下目的:在課程結(jié)束之前,讓學(xué)生進(jìn)一步了解C程序設(shè)計(jì)語(yǔ)言的編程功能;讓學(xué)生扎實(shí)掌握C程序設(shè)計(jì)語(yǔ)言的相關(guān)知識(shí);通過(guò)一些有實(shí)際意義的程序設(shè)計(jì),使學(xué)生體會(huì)到學(xué)以致用,并能將程序設(shè)計(jì)的知識(shí)與專(zhuān)業(yè)知識(shí)有效地結(jié)合,更全面系統(tǒng)地了解行業(yè)知識(shí)。2.設(shè)計(jì)要求根據(jù)實(shí)驗(yàn)內(nèi)容的要求自由選定題目。編寫(xiě)程序要求遵循如下基本要求:模塊化程序設(shè)計(jì)鋸齒型書(shū)寫(xiě)格式必須上機(jī)調(diào)試通過(guò)3.課程設(shè)計(jì)報(bào)告(按《C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告》格式要求完成)1、設(shè)計(jì)目的2、總體設(shè)計(jì)(程序設(shè)計(jì)組成框圖、流程圖)3、詳細(xì)設(shè)計(jì)、模塊功能說(shuō)明(如函數(shù)功能、入口及出口參數(shù)說(shuō)明,函數(shù)調(diào)用關(guān)系描述等)。4、調(diào)試與測(cè)試:調(diào)試方法,測(cè)試結(jié)果的分析與討論,測(cè)試過(guò)程中遇到的主要問(wèn)題及采取的解決措施。5、源程序清單和執(zhí)行結(jié)果:源程序中應(yīng)有足夠的注釋。4.檢查標(biāo)準(zhǔn)1、學(xué)生必須編寫(xiě)可運(yùn)行的程序,對(duì)教師的提問(wèn)能熟練地當(dāng)面解釋清楚,回答的問(wèn)題和程序運(yùn)行的結(jié)果作為評(píng)分的主要衡量標(biāo)準(zhǔn);(課程設(shè)計(jì)當(dāng)周的周三開(kāi)始逐一檢查)2、按照本文后要求須提交電子內(nèi)容的清單提交相關(guān)內(nèi)容。二.方案實(shí)現(xiàn)與調(diào)試2.1題目:①擲骰子游戲:兩人玩骰子,游戲規(guī)則如下:兩人輪流擲骰子,每次擲兩個(gè),每人最多擲10次。將每人每次的分值累加計(jì)分當(dāng)兩個(gè)骰子點(diǎn)數(shù)都為6時(shí),計(jì)8分;當(dāng)兩個(gè)點(diǎn)數(shù)相等且不為兩個(gè)6時(shí),計(jì)7分;當(dāng)兩個(gè)點(diǎn)數(shù)不一樣時(shí),計(jì)其中點(diǎn)數(shù)較小的骰子的點(diǎn)數(shù)。結(jié)束條件:當(dāng)雙方都擲10次或經(jīng)過(guò)5次后一方累計(jì)分?jǐn)?shù)多出另一方的30%及以上。最后顯示雙方分?jǐn)?shù)并判定優(yōu)勝者。2.1.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始隨機(jī)數(shù)輸入num1,num2num1=num2?num1=num2=6?num1>num2?sum1+=8sum1+=7sum1+=num2sum1+=sum1輸出得分sum1結(jié)束是是是否否否開(kāi)始開(kāi)始隨機(jī)數(shù)輸入num3,num4num3=num4?num3=num4=6?num3>num4?sum2+=8sum2+=7sum2+=num4sum2+=sum3輸出得分sum2結(jié)束否否否是是是2.1.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果問(wèn)題:需要手動(dòng)輸入骰子點(diǎn)數(shù)解決方法:引入#include<time.h>頭文件,使用srand((unsigned)time(NULL));num1=rand()%6+1;來(lái)實(shí)現(xiàn)隨機(jī)數(shù)執(zhí)行結(jié)果:2.2題目:③計(jì)算存款本息之和: 以“存款利率”為關(guān)鍵字上網(wǎng)搜索目前我國(guó)整存整取不同期限我國(guó)的銀行存款利率,只計(jì)算一年、三年和五年三種期限。 問(wèn)題: 1)要求輸入存錢(qián)的本金和期限,求到期能從銀行得到的利息與本金合計(jì)。 2)假設(shè)存款期限為三十年本金為10萬(wàn),比較一年、三年和五年滾存三十年后的本息金額。2.2.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始輸入money,輸入yearyear=1?money=money*1.0300money=money*1.0425^3money=money*1.0475^5year=3?輸出money結(jié)束是是否2.2.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果問(wèn)題:滾利問(wèn)題解決方法:上網(wǎng)查詢(xún)后,了解每一個(gè)期限才能滾利一次。執(zhí)行結(jié)果:2.3題目:④肇事逃逸: 某部閩DT的出租車(chē)交通肇事逃逸,現(xiàn)場(chǎng)無(wú)人看清后面的四位數(shù)字,但三位目擊群眾提供信息如下: 1)車(chē)牌號(hào)后兩位相同; 2)車(chē)牌號(hào)前兩位相同;3)車(chē)牌號(hào)是一個(gè)整數(shù)的平方。 請(qǐng)編程查出肇事逃逸車(chē)輛的車(chē)牌號(hào)。2.3.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始輸入i=34sumsum=i*inum/1000=num%1000/100&&num%1000%100/10==num%1000%100%10?輸出numi++i<=100?結(jié)束否是否是2.3.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果問(wèn)題:無(wú)。解決方法:無(wú)。運(yùn)行結(jié)果:2.4題目:⑥汽車(chē)加油: 一輛汽車(chē)加滿油后可行駛n公里。旅途中有若干個(gè)加油站。設(shè)計(jì)一個(gè)有效算法,指出應(yīng)在哪些加油站??考佑?,使沿途加油次數(shù)最少。輸入:第一行有2個(gè)正整數(shù)N和K(1<=N<=100,1<=K<=100),表示汽車(chē)加滿油后可行駛N公里,且旅途中有K個(gè)加油站。接下來(lái)的1行中,有K+1個(gè)整數(shù),表示第K個(gè)加油站與第K-1個(gè)加油站之間的距離。第0個(gè)加油站表示出發(fā)地,汽車(chē)已加滿油。第K+1個(gè)整數(shù)表示第K個(gè)加油站與目的地的距離。輸出:將編程計(jì)算出的最少加油次數(shù)輸出。如果無(wú)法到達(dá)目的地,則輸出NoSolution。(注意:No和Solution之間有一個(gè)空格)。例如:輸入:88323654272輸出:52.4.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始輸入可行公里數(shù)和加油站數(shù)N,K輸入各個(gè)加油站的距離a[i]a[i]>N?NoSolution是j=0i=0否i<=k?s=s+a[i]s>N?j=j+1s=a[i]i=i+1是否輸出最少加油次數(shù)j結(jié)束2.4.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果問(wèn)題:無(wú)。解決方法:無(wú)運(yùn)行結(jié)果:2.5題目:⑧大優(yōu)惠: 中國(guó)移動(dòng)推出最新的手機(jī)資費(fèi)優(yōu)惠方案,按照這個(gè)方案Tom的手機(jī)每天消費(fèi)1元,每消費(fèi)K元就可以獲贈(zèng)1元,一開(kāi)始Tom有M元,問(wèn)最多可以用多少天?輸入的測(cè)試數(shù)據(jù)為一行,實(shí)例包括2個(gè)整數(shù)M,K(2<=K<=M<=1000)。輸出一個(gè)整數(shù),表示M元可以用的天數(shù)。2.5.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始輸入m,k2<=k<=m<=1000m!=0m=m-1day=day+1否是是day%k=0?m=m+1是否day=day-1結(jié)束輸出day否2.5.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果問(wèn)題:無(wú)。解決方法:無(wú)。運(yùn)行結(jié)果:2.6題目:⑨金幣:國(guó)王用金幣獎(jiǎng)勵(lì)他忠誠(chéng)的侍從。第一天侍從工作結(jié)束后,國(guó)王獎(jiǎng)勵(lì)了他一個(gè)金幣;接著的兩天侍從工作中(第二天,第三天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他兩個(gè)金幣;接著的三天侍從工作中(第四天,第五天,第六天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他三個(gè)金幣;接著的四天侍從工作中(第七天,第八天,第九天,第十天)的每一天,國(guó)王獎(jiǎng)勵(lì)了他四個(gè)金幣。這種獎(jiǎng)勵(lì)的模式將是固定不變的,即在N天侍從工作中的每一天,國(guó)王將獎(jiǎng)勵(lì)他N個(gè)金幣;接著的N+1天的侍從工作中的每一天,國(guó)王將獎(jiǎng)勵(lì)他N+1個(gè)金幣。2.6.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始輸入dayi=1num=0day>=0num=i^2day=day-1i=i+1是num=num+day*(i-1)輸入day結(jié)束2.6.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果遇到問(wèn)題:無(wú)。解決方法:無(wú)。運(yùn)行結(jié)果:2.7提高題:畢業(yè)設(shè)計(jì)論文管理系統(tǒng)設(shè)計(jì):功能:實(shí)現(xiàn)我學(xué)院的學(xué)生畢業(yè)設(shè)計(jì)論文管理,論文的基本信息包括:年級(jí)、專(zhuān)業(yè)、班級(jí)、學(xué)生學(xué)號(hào)、學(xué)生姓名、論文題目、指導(dǎo)老師姓名、提交日期、論文簡(jiǎn)介(50字內(nèi))等。

基本要求:

1設(shè)計(jì)簡(jiǎn)單的菜單,能夠進(jìn)行系統(tǒng)功能選擇。

2實(shí)現(xiàn)信息的錄入功能。

3在已有信息的基礎(chǔ)上添加新的記錄。

4刪除指定學(xué)號(hào)的記錄。

5修改指定學(xué)號(hào)的記錄

6實(shí)現(xiàn)信息的瀏覽功能

7按學(xué)號(hào)查詢(xún)功能

8按學(xué)生姓名查詢(xún)9按班級(jí)查詢(xún)功能10其他功能:根據(jù)題目,自行設(shè)計(jì)若干查詢(xún)統(tǒng)計(jì)功能;2.7.1算法描述及實(shí)驗(yàn)步驟開(kāi)始開(kāi)始顯示提示進(jìn)入菜單錄入顯示增加查詢(xún)修改刪除退出學(xué)號(hào)姓名班級(jí)結(jié)束功能描述:錄入功能:進(jìn)入錄入功能,首先進(jìn)入輸入學(xué)生人數(shù)輸入窗口,輸入人數(shù)后進(jìn)入論文信息錄入,輸入完畢后按回車(chē),如圖(1)所示。圖(1)增加:在原有的記錄上添加學(xué)生論文信息,錄入步驟與錄入功能一致,但不會(huì)覆蓋原有的信息。顯示:,顯示出目前所錄入的所有學(xué)生的論文信息,如圖(2)所示圖(2)查詢(xún):通過(guò)輸入學(xué)號(hào)查找學(xué)生論文信息,顯示結(jié)果如圖(3)所示圖(3)通過(guò)輸入學(xué)生姓名查找相應(yīng)學(xué)生的論文信息,步驟與A一致通過(guò)輸入班級(jí)來(lái)查找學(xué)生的論文信息,步驟與A一致修改:輸入要修改學(xué)生的序號(hào)即可進(jìn)入修改,如圖(4)圖(4)刪除:輸入要?jiǎng)h除的學(xué)生的序號(hào)即可刪除該同學(xué)的論文信息,如圖(5),然后按y確認(rèn),按n取消。圖(5)退出:退出程序。2.7.2調(diào)試過(guò)程及實(shí)驗(yàn)結(jié)果出現(xiàn)問(wèn)題:在子模塊刪除中的確認(rèn)輸入y/n中,無(wú)法自動(dòng)轉(zhuǎn)換為小寫(xiě)字母。解決:使用toupper(getch())=='Y'轉(zhuǎn)換運(yùn)行結(jié)果:三.課程設(shè)計(jì)分析與總結(jié)二十六個(gè)字母,十個(gè)阿拉伯?dāng)?shù)字,外加一些常用字符,簡(jiǎn)單得掉渣,地球人都懂,可一組合成C語(yǔ)言,強(qiáng)大而神秘,那些字符如毛毛蟲(chóng)般在屏幕上蠕動(dòng),還看著,老眼便昏花,恨不得拿出殺蟲(chóng)劑,幾下狂噴,看你行還是我強(qiáng)。只不過(guò),這不是毛毛蟲(chóng)的一生,化蛹成蝶才是毛毛蟲(chóng)一生追求,生命最美麗的時(shí)刻。當(dāng)程序運(yùn)行出正確答案,當(dāng)程序可以實(shí)現(xiàn)論文系統(tǒng)的時(shí)候,字符不在是字符,字符已經(jīng)脫text成exe了。剛上機(jī)的第一天,恍若又回到了剛接觸到C語(yǔ)言的時(shí)候,除了int除了char,其他基本是它認(rèn)識(shí)我,我不認(rèn)識(shí)它,甚至連頭文#include<stdio.h>都忘了怎么寫(xiě),還要翻書(shū)才能憶起。五天的C語(yǔ)言課程設(shè)計(jì),把已經(jīng)遺忘百分之九十以上的基本操作又重新熟悉了一遍,上手很快,畢竟有學(xué)過(guò),基礎(chǔ)要求六題的訓(xùn)練把除了指針外的之前所教過(guò)的編程重新要回來(lái)了。提高題是瓶頸,看了課本,真正要做出來(lái)不勁要把薄弱的指針重新學(xué)習(xí)一遍,還得學(xué)習(xí)新的知識(shí),鏈表,文件等的課本剩余的章節(jié)??戳艘粫?huì)兒書(shū),發(fā)現(xiàn)光靠看書(shū),憑我的本事,看完余下的書(shū)是很容易,關(guān)鍵是要在這么短的時(shí)間內(nèi)把這些內(nèi)容理解并靈活運(yùn)用,那是根本完成不了的任務(wù)。很顯然,時(shí)間已經(jīng)來(lái)不及了。果斷放棄,用結(jié)構(gòu)體,函數(shù)拼湊成相對(duì)較簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)畢業(yè)論文系統(tǒng)的設(shè)計(jì)。一步一步來(lái),竟發(fā)現(xiàn)自己敲了到目前為止最長(zhǎng)的代碼:三百多行的代碼。敲的過(guò)程,每一步都小心翼翼的,有時(shí)候?yàn)榱苏乙粋€(gè)bug,要花上好些時(shí)候,熬得自己頭發(fā)都快變白了,但當(dāng)解決了bug之后,那種說(shuō)不出的愉快在心頭涌起??傊?,這次課程設(shè)計(jì)學(xué)到了兩點(diǎn):一是把C語(yǔ)言簡(jiǎn)單的編程在學(xué)一遍;二是,指針、鏈表等的章節(jié)必須課后要花時(shí)間再學(xué),因?yàn)橄聜€(gè)學(xué)期還有數(shù)據(jù)結(jié)構(gòu)。四.源程序清單①擲骰子游戲:#include<stdio.h>#include<stdlib.h>#include<time.h>//使用當(dāng)前時(shí)鐘做種子voidmain(){ inti; intnum1,num2,num3,num4,sum1=0,sum2=0;srand((unsigned)time(NULL)); for(i=1;i<=10;i++) { num1=rand()%6+1; num2=rand()%6+1; if(num1==num2) { if(num1==6&&num2==6) sum1+=8; else sum1+=7; } else { if(num1>num2) sum1+=num2; elsesum1+=num1; } num3=rand()%6+1; num4=rand()%6+1; if(num3==num4) { if(num3==6&&num4==6) sum2+=8; else sum2+=7; } else { if(num3>num4) sum2+=num4; elsesum2+=num3; } printf("A第%d次擲出點(diǎn)數(shù)為:%d%dA總得分:%d\nB第%d次擲出點(diǎn)數(shù)為:%d%dB總得分:%d\n",i,num1,num2,sum1,i,num3,num4,sum2); if(i>=5&&((float)(sum1-sum2)/sum2>=0.3||(float)(sum2-sum1)/sum1>=0.3)) break; } if(sum1>sum2) printf("A獲勝!\n"); elseif(sum1<sum2) printf("B獲勝!\n"); else printf("平局!\n");}③計(jì)算存款本息之和#include<stdio.h>#include<math.h>voidmain(){ inti,year,all,j; floatmoney; printf("請(qǐng)輸入存款金額:"); scanf("%f",&money);printf("請(qǐng)輸入存款期限:"); scanf("%d",&year); printf("請(qǐng)輸入要存款的年限:"); scanf("%d",&all); switch(year) { case1:money=money*1.0300;printf("%d年后本息金額為:%f\n",year,money);break; case3:money=money*pow(1.0425,3);printf("%d年后本息金額為:%f\n",year,money);break; case5:money=money*pow(1.0475,5);printf("%d年后本息金額為:%f\n",year,money);break; } if(year==1) { for(i=2;i<=all;i++) money=money*1.0300; } if(year==3) { for(i=2;i<=(all/3);i++) money=money*pow(1.0425,3); } if(year==5) { for(i=2;i<=(all/5);i++) money=money*pow(1.0475,5); } printf("%d年后本息金額為:%f\n",all,money);}④肇事逃逸#include<stdio.h>voidmain(){ inti,num; for(i=34;i<100;i++) { num=i*i; if(((num/1000)==(num%1000/100))&&((num%1000%100/10)==(num%1000%100%10))) printf("該車(chē)牌號(hào)為:閩DT%d\n",num); }}⑥汽車(chē)加油#include<stdio.h>#include<math.h>#defineM1000voidmain(){ intN,K,a[M],i,e; inttimes(intb,intc,intd[M]); do{ printf("請(qǐng)輸入加滿油后可行駛公里數(shù)和加油站數(shù):"); scanf("%d%d",&N,&K); if(K>100||K<1||N>100||N<1) printf("輸入有誤請(qǐng)重新輸入\n"); }while(K>100||K<1||N>100||N<1); { printf("請(qǐng)輸入各加油站間的距離:"); for(i=0;i<=K;i++) scanf("%d",&a[i]); e=times(N,K,a); if(e!=0) printf("最少加油次數(shù)為:%d\n",e); } }inttimes(intb,intc,intd[M]){ inti,s=0,j=0; for(i=0;i<=c;i++) { if(d[i]>b) { printf("NoSolution\n");break; } else { for(i=0;i<=c;i++) { s=s+d[i]; if(s>b) { j++; s=d[i]; } } } } returnj;}⑧大優(yōu)惠#include<stdio.h>voidmain(){ intm,k,i,day=1; printf("請(qǐng)輸入m,k(2<=k<=m<=1000):");loop:scanf("%d%d",&m,&k); if(k>m||k<2||m>1000) { printf("輸入有誤,請(qǐng)重新輸入:"); gotoloop; } else while(m!=0) { if(day%k==0) m++; m--; day++; } day--; printf("可用天數(shù)為:%d\n",day);}⑨金幣#include<stdio.h>#include<math.h>voidmain(){ intday,num; intsum(intday); printf("請(qǐng)輸入工作天數(shù):"); scanf("%d",&day); num=sum(day); printf("共獎(jiǎng)勵(lì)金幣:%d\n",num);}intsum(intday){ ints=0,i; for(i=1;day>=0;i++) { s+=pow(i,2); day=day-i; } s=s+day*(i-1); returns;}提高題:畢業(yè)設(shè)計(jì)論文管理系統(tǒng)設(shè)計(jì)#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#defineM1000#defineN20/*學(xué)生論文信息結(jié)構(gòu)體*/typedefstruct{ charnum[5]; chargrade[N]; chardiscipline[N]; charClass[N]; charnumber[N]; charstudentName[N]; charthesisName[50]; charteacherName[N]; chardate[N]; charintroduction[100];}Student;Studentstud[M];intlength;intmenu();intenter(Studentt[]);intadd(Studentt[],intn);voidlist(Studentt[],intn);voidfind(Studentt[]);voidsearchnumber(Studentt[],intn);voidsearchstudentName(Studentt[],intn);voidsearchClass(Studentt[],intn);voidout(Studentt[],intc[],intn);intsearchNum(Studentt[],intn);voidupdate(Studentt[],intn);intdelete(Studentt[],intn);/*主函數(shù)*/voidmain(){ system("cls");/*清屏*/for(;;)/*無(wú)限循環(huán)*/{ switch(menu()) { case1:length=enter(stud);break;/*錄入學(xué)生論文信息*/ case2:length=add(stud,length);break;/*增加學(xué)生論文信息*/ case3:list(stud,length);break;/*顯示全部學(xué)生論文信息*/ case4:find(stud);break;/*查找學(xué)生論文信息*/ case5:update(stud,length);/*修改學(xué)生論文信息*/ case6:length=delete(stud,length);break;/*刪除學(xué)生論文信息*/ case7:exit(0);/*如返回值為6則程序結(jié)束*/ } }}/*菜單*/intmenu(){ chars[80]; intc; printf("按任意鍵進(jìn)入菜單\n"); getchar(); system("cls"); printf("********************菜單*********************\n"); printf("1.錄入學(xué)生論文信息\n"); printf("2.增加學(xué)生論文信息\n"); printf("3.顯示學(xué)生論文信息\n"); printf("4.查找學(xué)生論文信息\n"); printf("5.修改學(xué)生論文信息\n"); printf("6.刪除學(xué)生論文信息\n"); printf("7.退出\n"); printf("**********************************************\n"); do { printf("\n輸入你的選擇(1~7):"); scanf("%s",s); c=atoi(s); if(c<1||c>7) { printf("輸入有誤,請(qǐng)重新輸入:"); } }while(c<1||c>7); returnc;}/*錄入學(xué)生信息*/intenter(Studentt[]){ inti,n; system("cls"); printf("\n請(qǐng)輸入學(xué)生人數(shù)\n"); scanf("%d",&n); system("cls"); printf("請(qǐng)輸入學(xué)生論文信息,錄完一個(gè)按回車(chē)\n"); printf("\n"); printf("序號(hào)年級(jí)專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名論文題目\n\n\n\n指導(dǎo)老師日期內(nèi)容簡(jiǎn)介\n\n\n\n"); printf("\n"); for(i=0;i<n;i++) { scanf("%s%s%s%s%s%s%s%s%s%s",t[i].num,t[i].grade,t[i].discipline,t[i].Class,t[i].number,t[i].studentName,t[i].thesisName,t[i].teacherName,t[i].date,t[i].introduction); } getchar(); returnn;}/*增加學(xué)生論文信息*/intadd(Studentt[],intn){ inti,j; system("cls"); printf("\n請(qǐng)輸入要增加的學(xué)生人數(shù)\n"); scanf("%d",&j); system("cls"); printf("請(qǐng)輸入學(xué)生論文信息,錄完一個(gè)按回車(chē)\n"); printf("\n"); printf("序號(hào)年級(jí)專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名論文題目\n\n\n\n指導(dǎo)老師日期內(nèi)容簡(jiǎn)介\n\n\n\n"); printf("\n"); for(i=n;i<n+j;i++) { scanf("%s%s%s%s%s%s%s%s%s%s",t[i].num,t[i].grade,t[i].discipline,t[i].Class,t[i].number,t[i].studentName,t[i].thesisName,t[i].teacherName,t[i].date,t[i].introduction); } getchar(); returnn+j;}/*顯示所有學(xué)生論文信息*/voidlist(Studentt[],intn){ inti; system("cls"); printf("\n\n********************************************************************************\n"); printf("序號(hào)年級(jí)專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名論文題目\n"); printf("\n"); for(i=0;i<n;i++) printf("%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",t[i].num,t[i].grade,t[i].discipline,t[i].Class,t[i].number,t[i].studentName,t[i].thesisName); printf("\n\n"); printf("指導(dǎo)老師日期簡(jiǎn)介\n"); printf("\n"); for(i=0;i<n;i++) printf("%-14s%-10s%-10s\n",t[i].teacherName,t[i].date,t[i].introduction); printf("********************************************************************************\n"); getchar();}/*查找學(xué)生論文信息*/voidfind(Studentt[]){ inti; system("cls"); printf("1.按學(xué)號(hào)查找\n"); printf("2.按姓名查找\n"); printf("3.按班級(jí)查找\n"); printf("4.返回\n"); scanf("%d",&i); switch(i) { case1:searchnumber(stud,length);break; case2:searchstudentName(stud,length);break; case3:searchClass(stud,length);break; case4:break; }}/*按學(xué)號(hào)查找*/voidsearchnumber(Studentt[],intn){ chars[N]; inti,c[M]; system("cls");printf("請(qǐng)輸入學(xué)號(hào):"); scanf("%s",s); for(i=0;i<n;i++) if(strcmp(s,t[i].number)==0) c[i]=i; out(stud,c,n);}/*按姓名查找*/voidsearchstudentName(Studentt[],intn){ chars[N]; inti,c[M]; system("cls");printf("請(qǐng)輸入姓名:"); scanf("%s",s); for(i=0;i<n;i++) if(strcmp(s,t[i].studentName)==0) c[i]=i; out(stud,c,n);}/*按班級(jí)查找*/voidsearchClass(Studentt[],intn){ chars[N]; inti,c[M]; system("cls");printf("請(qǐng)輸入班級(jí):"); scanf("%s",s); for(i=0;i<n;i++) if(strcmp(s,t[i].Class)==0) c[i]=i; out(stud,c,n);}/*信息輸出*/voidout(Studentt[],intc[],intn){ inti; printf("\n\n********************************************************************************\n"); printf("序號(hào)年級(jí)專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名論文題目\n"); printf("\n"); for(i=0;i<n;i++) printf("%-10s%-10s%-10s%-10s%-10s%-10s%-10s\n",t[c[i]].num,t[c[i]].grade,t[c[i]].discipline,t[c[i]].Class,t[c[i]].number,t[c[i]].studentName,t[c[i]].thesisName); printf("\n"); printf("指導(dǎo)老師日期簡(jiǎn)介\n"); printf("\n"); for(i=0;i<n;i++) printf("%-14s%-10s%-10s\n",t[c[i]].teacherName,t[c[i]].date,t[c[i]].introduction); printf("********************************************************************************\n"); getchar();}/*序號(hào)查找*/intsearchNum(Studentt[],intn){ chars[N]; intc=-1,i; scanf("%s",s); for(i=0;i<n;i++) { if(strcmp(s,t[i].num)==0) c=i; } returnc;}/*修改學(xué)生論文信息*/voidupdate(Studentt[],intn){ inti; system("cls"); printf("請(qǐng)輸入想要修改的序號(hào):"); i=searchNum(t,n); if(i==-1) printf("無(wú)記錄!\n"); else { printf("請(qǐng)輸入新的資料\n"); printf("\n"); printf("序號(hào)年級(jí)專(zhuān)業(yè)班級(jí)學(xué)號(hào)姓名論文題目\n\n\n\n指導(dǎo)老師日期內(nèi)容簡(jiǎn)介\n\n\n\n"); printf("\n"); scanf("%s%s%s%s%s%s%s%s%s%s",t[i].num,t[i].grade,t[i].discipline,t[i].Class,t[i].number,t[i].studentName,t[i].thesisName,t[i].teacherName,t[i].date,t[i].introduction); } getchar();}/*刪除學(xué)生論文信息*/intdelete(Studentt[],int

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論