《程序設(shè)計基礎(chǔ)課程設(shè)計》題目77382_第1頁
《程序設(shè)計基礎(chǔ)課程設(shè)計》題目77382_第2頁
《程序設(shè)計基礎(chǔ)課程設(shè)計》題目77382_第3頁
《程序設(shè)計基礎(chǔ)課程設(shè)計》題目77382_第4頁
《程序設(shè)計基礎(chǔ)課程設(shè)計》題目77382_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題目1 使用菜單選擇程序 菜單是應(yīng)用程序的界面,控制語句用來改變程序執(zhí)行的順序,是實現(xiàn)結(jié)構(gòu)化程序設(shè)計的基礎(chǔ)。設(shè)計一個比較實用的菜單,通過菜單選擇不同的功能。 設(shè)計分為兩步:首先設(shè)計一個含有多個菜單項的菜單演示程序,然后再為這些菜單項配上相應(yīng)的功能。一、設(shè)計一個菜單程序 (1)菜單內(nèi)客程序運行后,給出6個菜單項的內(nèi)容和輸入提示。 1FindNum 2FindRoot 3Detective 4Bear 5Diamond 6Goodbye! Input 1-6: ()設(shè)計要求使用數(shù)字1-6來選擇菜單項,其他輸人則不起作用。二、增加菜單項的處理功能 以設(shè)計的菜單為基礎(chǔ),增加菜單項的處理功能。菜單項設(shè)計

2、要求 這其實是5道編程題,目的是鍛煉使用控制語句的能力。 ()FindNum 一只老鼠咬壞了賬本,公式中符號口代表是被老鼠咬掉的地方。要想恢復下面的等式,應(yīng)在口中填上哪個相同的數(shù)字? 3口×6237=口3×3564 利用計算機的計算速度快的特點,把所有可能的數(shù)都試一下,從中找出符合條件的數(shù)。這就是所謂的窮舉法。 某位的數(shù)字只有0-9個數(shù)字,顯然已經(jīng)排除了為0的可能性,將1-9種可能性拿來試驗,即可找到合適的數(shù)字。由此可見,就是尋找滿足下式面的i值: (30+i)×6237=(10×i+3)×3564 ()FindRoot 這里要求編制一個求方程

3、ax2+bx+c=0的根的程序。一般將系數(shù)設(shè)計成float型,可以把變量設(shè)為double型,使用庫函數(shù)sqrt求平方根,sqrt在頭文件math.h中定義。假設(shè) d=b×b4×a×c可以根據(jù)d大于、等于或小于零來決定求解方法。 if(d0)/有兩個不相等的實數(shù)解else if ( d = = 0 ) /有兩個相等的實數(shù)解 else /有兩個不相等的虛數(shù)解()Detective這是一道偵探題。一輛汽車憧人后逃跑。4個目擊者提供如下線索: 甲:牌照三、四位相同; 乙:牌號為31xxxx; 丙:牌照五、六位相同; ?。喝涣皇且粋€整數(shù)的平方。為了從這些線索中求出牌照號

4、碼,只要求出后四位再加上310000即可。這四位又是前兩位相同,后兩位也相同,互相又不相同并且是某個整數(shù)的平方的數(shù)??梢匀匀皇褂酶F舉法,利用計算機的計算速度快的特點,把所有可能的數(shù)都試一下,從中找出符合條件的數(shù)。因為后面4位數(shù),1000的平方根>31,所以窮舉實驗時不需從1開始,而是從31開始尋找一個整數(shù)的平方。下面直接使用for語句格式,給出算法思想。 for ( i=1 ; i<=9 ; i+) for ( j=0 ; j<=9 ; i) if ( i != j ) k = i *1000 + i * 100 + j * 10 + j; for ( c = 31 ; c

5、* c < k ; c +) if ( c * c = = k) cout<<”牌照號碼是:”<<310000 + k; ()Bear本題是一個笑話,話說有一只狗熊到玉米地里掰玉米,一邊掰一邊吃。第一天吃了一半,又拿走一個回去喂小狗熊。第二天又去吃了剩下的一半,走時仍然帶一個回去喂小狗熊。以后每天都吃前一天剩下的一半,拿走一個。到第十天時,地里只剩下一個玉米。求地里一共有多少玉米。這里可以使用回溯算法。假設(shè)狗熊每次吃掉的為x2,則第10天時的x2=1,第9天地里剩下的玉米xl = (x2 + l) ×2,這也是狗熊在第8天時吃掉的玉米數(shù)量。因此可以使用如

6、下算法描述: int day =10,x2=1,x1; while(day>0) x1=(x2+1)×2; x2=xl; day-; ()Diamond本題要求編制打印以下圖案的程序,注意題目還要求在左邊留出一定空格。 通過觀察圖像的組成特點,可以把它們解剖成兩部分:上面4行和下面3行。上面行按遞增計數(shù),下面則按遞減計數(shù)。假設(shè)第一個“”距左邊15個空格,使用字符“1”模擬的顯示圖形如如下:111111111111111*11111111111111*1111111111111*111111111111*1111111111111*11111111111111*111111111

7、111111*()Goodbye!這里除了輸出一個簡單的信息之外,還必須結(jié)束程序運行。題目2 用結(jié)構(gòu)數(shù)組設(shè)計職工文件 本章課程設(shè)計的目的是學習使用結(jié)構(gòu)數(shù)組建立職工檔案信息文件。為了節(jié)省篇幅,設(shè)計 不要求使用多文件編程,但要求使用頭文件和菜單,并組成一個工程文件。功能設(shè)計要求:(1)建立wkrs職工數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)含有姓名、序號、性別和年齡信息。(2)設(shè)計一個readin函數(shù),以便采用問答式輸入10個職工的信息。并建立一個文件用來存儲這10個職工的信息,約定文件名為workers。(3)編寫一個display函數(shù),要求使用結(jié)構(gòu)指針作為參數(shù),用來輸出職工文件的內(nèi)容。(4)建立wks職工簡明數(shù)據(jù)結(jié)構(gòu),

8、結(jié)構(gòu)只含有姓名和年齡信息。(5)編制一個srt函數(shù),根據(jù)wks結(jié)構(gòu)建立的職工情況,把職工姓名和工資信息抽出來,另外建一個只含職工姓名和年齡的文件,約定文件名為wk_saw。(6)編制一個delwk函數(shù),可以從簡明數(shù)據(jù)文件wk_saw中刪去指定的職工記錄,如果文件里沒有要刪去的職工,則輸出沒有這個職工的信息。如果將內(nèi)容全部剛除,則給出一個已經(jīng)刪空的提示信息并退出該操作。(7)將上述函數(shù)編制在一個文件里,共用一個頭文件。 (8)用一個簡單的菜單提供上述操作。菜單信息為:1輸入數(shù)據(jù)2顯示原始數(shù)據(jù)3制作簡明數(shù)據(jù)4刪除簡明數(shù)據(jù) 5退出運行 左邊數(shù)字對應(yīng)功能選擇請選1-5:題目3 學生成績管理程序設(shè)計一個

9、實用的小型學生成績管理程序,它要求不用鏈表,而用數(shù)組來設(shè)計這個程序。它有查詢和檢索等功能,并且能夠?qū)χ付ㄎ募僮?,也可將多個文件組成一個文件。功能設(shè)計要求 設(shè)計要求實現(xiàn)的功能較多,所以將它們分為幾個部分敘述。 1建立文件 (1)可以使用默認文件名或指定文件名將記錄存儲到文件; (2)文件保存成功返回0,失敗返回-1; (3)設(shè)置保存標志savedTag作為是否已對記錄進行存儲操作的信息; (4)寫同名文件將覆蓋原來文件的內(nèi)容; 2增加學生記錄 (1)可在已有記錄后面追加新的記錄; (2)可以隨時用它增加新的記錄,它們僅保存在結(jié)構(gòu)數(shù)組中; (3)可以將一個文件讀入,追加在已有記錄之后; (4)如

10、果已經(jīng)采取用文件追加的方式,在沒有保存到文件之前,將繼續(xù)保持文件追加狀態(tài),以便實現(xiàn)連續(xù)文件追加操作方式; (5)如果沒有記錄存在,給出提示信息。 3新建學生信息文件 (1)用來重新建立學生信息記錄; (2)如果已經(jīng)有記錄存在,可以覆蓋原記錄或者在原記錄后面追加,也可以將原有記錄信息保存到一個指定文件,然后重新建立記錄; (3)給出相應(yīng)的提示信息。 4顯示記錄 (1)如果沒有記錄可供顯示,給出提示信息;(2)可以隨時顯示內(nèi)存中的記錄;(3)顯示表頭。5文件存儲(1)可以按默認名字或指定名字存儲記錄文件;(2)存儲成功返回0,否則返回-1;(3)更新存儲標志。6讀取文件(1)可以按默認名字或指定名

11、字將記錄文件讀入內(nèi)存;(2)讀取成功返回0,否則返回-1;(3)可以將指定或默認文件追加到現(xiàn)有記錄的尾部;(4)可以將文件連續(xù)追加到現(xiàn)有記錄并更新記錄的名次。(5)更新存儲標志。7刪除記錄(1)可以按“學號”、“姓名”或“名次”方式刪除記錄;(2)給出將被刪除記錄的信息,經(jīng)確認后再刪除;(3)如果已經(jīng)是空表,刪除時應(yīng)給出提示信息并返回主菜單;(4)如果沒有要刪除的信息,輸出沒有找到的信息;(5)應(yīng)該更新其他記錄的名次;(6)刪除操作僅限于內(nèi)存,只有執(zhí)行存記錄時,才能覆蓋原記錄;(7)更新存儲標志。8修改記錄(1)可以按“學號”、“姓名”或“名次”方式修改記錄內(nèi)容;(2)給出將被修改記錄的信息,

12、經(jīng)確認后進行修改;(3)如果已經(jīng)是空表,應(yīng)給出提示信息并返回主菜單;(4)如果沒有找到需要修改的信息,輸出提示信息;(5)應(yīng)該同時更新其他記錄的名次;(6)修改操作僅限于內(nèi)存,只有進行存儲操作時,才能覆蓋原記錄;(7)更新存儲標志。9查詢記錄(1)可以按“學號”、“姓名”或“名次”方式查詢記錄;(2)能給出查詢記錄的信息;(3)如果查詢的信息不存在,輸出提示信息。10對記錄進行排序 (1)可以按學號進行升序或降序排序; (2)可以按名稱進行升序和降序排序; (3)可以按名次進行升序和降序排序; (4)如果屬于選擇錯誤,可以立即退出排序; (5)更新存儲標志。 11頭文件 (1)使用條件編譯定義

13、頭文件; (2)函數(shù)原型聲明; (3)數(shù)據(jù)結(jié)構(gòu)及包含文件;12測試程序 (1)應(yīng)列出測試大綱對程序進行測試; (2)應(yīng)保證測試用例測試到程序的各種邊緣情況是基本要求,希望通過對本章設(shè)計的理解,重新考慮如何改進設(shè)計。題目4 鏈表信息管理設(shè)計的目的是學習建立鏈表,使用鏈表存儲結(jié)構(gòu)信息,增加鏈表結(jié)點及刪除鏈表結(jié)點等基本操作。實際設(shè)計時,可以增加數(shù)據(jù)信息及檢索等功能。功能設(shè)計要求 設(shè)計要求實現(xiàn)如下功能: (1)本課程設(shè)計是將重點放在整體設(shè)計上,只選成員代號和電話。 (2)如果已經(jīng)有記錄,只能在其后追加。 (3)顯示整個記錄的內(nèi)容(含有新追加的新記錄)。 (4)使代號可由6位字符和數(shù)字的混合編碼組成,例

14、如下面的形式: A201 3405d 01001 (5)使電話號碼可由18位字符和數(shù)字組成,例如下面的形式: (86)-551-36994698345613900110011(6)可以刪除全部記錄,可以隨時增加新紀錄。(7)使用菜單實現(xiàn)增加、刪除和顯示等功能的選擇。 (8)使用宏定義動態(tài)申請存儲空間。(9)測試程序。題目5 實用的小型通訊錄 設(shè)計一個實用的小型通訊錄程序,它是在鏈表程序的基礎(chǔ)上,增加查詢功能,并且能夠打開指定文件或修改指定文件及將多個文件組成一個文件。功能設(shè)計要求 設(shè)計要求實現(xiàn)的功能較多,所以將它們分為幾個部分敘述。 1建立文件 (1)存儲文件可以使

15、用默認文件名或指定文件名; (2)可以不保存輸入記錄,但需要確認是否保存輸入記錄; (3)如果已經(jīng)有文件,只能在其后追加; (4)新增的記錄可以不存人原文件中,也可以用原來的文件覆蓋內(nèi)存的內(nèi)容; (5)可以將兩個文件合并到一個文件中。 2文件的存取和顯示 (1)可以單獨存取文件; (2)可以隨時顯示內(nèi)存中記錄的全部內(nèi)容; (3)可以直接存取默認文件或指定文件。 3刪除記錄 (1)可以按“姓名”或“電話”方式刪除記錄并更新內(nèi)存鏈表內(nèi)容; (2)能給出被刪除記錄的信息; (3)如果已經(jīng)是空表,刪除時應(yīng)給出提示信息并返回主菜單; (4)如果沒有要刪除的信息,輸出沒有找到的信息; (5)刪除操作僅限于內(nèi)存,只有執(zhí)行存記錄時,才能覆蓋原記錄; 4.查詢記錄(1)可以按“姓名”或“電話”方式查詢記錄; (2)能給出查詢記錄的信息;(3)如果查詢的信息不存在,輸出沒有找到的信息。 5.整體功能 (1)應(yīng)可以隨時檢索、刪除或增加新記錄,保存或取消新的記錄。 (2)使姓名可由16位字符和數(shù)字的混合編碼組成; (3)使電話號碼可由18位字符和數(shù)字組成; (4)將輸出

溫馨提示

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

評論

0/150

提交評論