《C++ Primer Plus (第6版)》4.13 程式設計練習
環境:Win8 + C-Free 5.0
1. 編寫一個C++程式, 如下述輸出示例所示的那樣請求並顯示資訊:
What is your first name? Betty Sue
What is your last name? Yewe
What letter grade do you deserve? B
What is your age? 22
Name: Yewe, Betty Sue
Grade: C
Age: 22
注意,該程式應該接受的名字包含多個單詞。另外,程式將向下調整成績,即向上調一個字母。假設使用者請求A、B或C, 所以不必擔心D和F之間的空檔。
2. 修改程式清單4.4, 使用C++ string 類而不是char 陣列。
3. 編寫一個程式,它要求使用者首先輸入其名,然後輸入其姓;然後程式使用一個逗號和空格將姓和名組合起來,並存儲和顯示組合結果。請使用char陣列和標頭檔案cstring中的函式。下面是該程式執行時的情形:
Enter your first name: Flip
Enter your last name: Fleming
Here's the information in a single string: Fleming, Flip
4. 編寫一個程式,它要求使用者首先輸入其名,然後輸入其姓;然後程式使用一個逗號和空格將姓和名組合起來,並存儲和顯示組合結果。請使用string物件和標頭檔案string中的函式。下面是該程式執行時的情形:
Enter your first name: Flip
Enter your last name: Fleming
Here's the information in a single string: Fleming, Flip
5. 結構CandyBar包含3個成員。第一個成員儲存了糖塊的品牌;第二個成員儲存糖塊的重量(可以有小數);第三個成員儲存了糖塊的卡路里含量(整數)。請編寫一個程式,宣告這個結構,建立一個名為snack的CandyBar變數,並將其成員分別初始化為"Mocha Munch"、2..3和350。初始化應在宣告snack時進行。最後,程式顯示snack變數的內容。
6. 結構CandyBar包含3個成員,如變成練習5所示。請編寫一個程式,建立一個包含3個元素的CandyBar陣列,並將它們初始化為所選擇的值,然後顯示每個結構的內容。
7. William Wingate 從事披薩餅分析服務。對於每個披薩餅,他都需要記錄下列資訊:
披薩餅公司的名稱,可以有多個單片語成;
披薩餅的直徑;
披薩餅的重量;
請設計一個能夠儲存這些資訊的結構, 並編寫一個使用這種結構變數的程式。程式將請求使用者輸入上述資訊,然後顯示這些資訊。請使用cin和cout。
8. 完成程式設計練習7, 但使用new來為結構分配記憶體,而不是宣告一個結構變數。另外,讓程式在請求輸入披薩餅公司名稱之前輸入披薩餅的直徑。
9. 完成程式設計練習6,但使用new來動態分配陣列,而不是宣告一個包含3個元素的CandyBar陣列。
這裡要注意名稱空間的位置。
10. 編寫一個程式,讓使用者輸入三次40碼跑的成績,並顯示次數和平均成績。請使用一個array物件 來儲存資料。
因為c-free 5.0不支援array物件,所以該題目用陣列完成。
至此,第四章練習完成。