一個拖拉且錯誤的猜數字程式

羅恩發表於2020-04-01

一個拖拉且錯誤的猜數字程式
看看這個程式好像沒啥錯誤,來執行一下吧。

一個拖拉且錯誤的猜數字程式
每次輸入除'y'的字元,程式會列印兩條訊息。 原因:是這個麻煩的換行符,緩衝輸入要求使用者按下Enter鍵傳送輸入。程式讀取了除'y'字元作為使用者否定了數字1,然後還讀取了一個換行符作為使用者否定了數字2.

多多理解)現在先來改進一下下:

一個拖拉且錯誤的猜數字程式
再新添一個while()迴圈,巢狀在與原來的while()迴圈裡面,使得while()迴圈丟棄輸入行後面的內容,包括換行符。這樣做的優點是:能把no和no way 簡單相應成n.這樣解決了換行符的問題。

一個拖拉且錯誤的猜數字程式
當然,這還不算結束。如果在程式中輸入的內容是 forget it,程式還是會把他理解為n。在編寫互動式程式時,應該事先預料到使用者可能會輸入錯誤,然後設計程式處理使用者的錯誤輸入。在使用者輸入錯誤時通知使用者再次輸入。

一個拖拉且錯誤的猜數字程式
若使用者輸入錯誤,則給出提示,要求重新輸入,且數字不會變。 程式如下:

一個拖拉且錯誤的猜數字程式
在上一個程式的基礎上新增了if()...else 語句,新增了一個char型變數response,用於接收輸入的第一個字元。

當然,作為一個猜數字程式,這個程式還有許多需要加強的地方。

比如:

  • 1)使用者的數字應該先確定下來,除程式以外,其他人都可以知道這個數字是什麼,當前的的程式讓使用者的數字具有可改變性

  • 2)程式猜數字的過程過於拖沓。 使用者的數字可能很大,程式是從1開始慢慢加起來的,整個過程耗時長,不能滿足使用者對該程式的好奇心。

相關文章