1. 程式人生 > >C++之C++ primer plus 第五單超程式設計題第七題

C++之C++ primer plus 第五單超程式設計題第七題

題如下:

設計一個名為car的結構,儲存生產商(string字串或char陣列),生產年份(int)。要求:向用戶詢問有多少輛汽車i,new一下i個car結構組成的動態陣列。接著程式提示使用者輸入每輛車的生產商和年份資訊。執行結果如下:

How many cars do you wish to catalog?2

Car #1:

Please enter the make:dazhong

Please enter the year make:1254

Car #2:

Please enter the make: toyota

Please enter the year make:1564

Here is your collection:

1254 dazhong

1564 toyota

話說這一題也不是很難吧,可是還是折磨了我一下午呢。好好的第五單元的迴圈題,還加上上一單元的new結構體陣列,還要使用get(),getline()函式,只有把這些都複習一遍嘍,介面都能出來,就老是跳過輸入string字串這一步,簡直有毒,也沒有錯誤提示,很牛逼嘍,檢查錯誤還無從下手。哼,上圖:

執行情況如下:

可以看到,直接跳過了string字串的輸入,而直接輸入int數值。程式碼沒錯啊,沒錯誤提示也沒警告啊,於是我問了大神,程式碼修改如下:

就加了倆cin.get()而已啊,頭疼了下午,即使我小心地看了一下get(),getline()的使用區別,沒想到還是躺著上面了。以下連結詳解。