我在這裏有一種基本的問題,有沒有辦法阻止程序在「菜單」類型程序中執行字符,其中您選擇運行控制檯選項時只能輸入數字做步驟和瀏覽數據。如何限制輸入到數字只有c + +
我的程序是一本圖書目錄,您可以在其中查看,更改,添加或刪除信息。
事情不會那麼糟糕,但事實是,當你輸入一個字母或非數字字符的程序會變得混亂和卡住。
我不添加我的代碼,因爲我認爲應該有一個通用命令來擺脫我的問題+將代碼翻譯成EN需要一些時間。
期待您的回答,有一個愉快的一天
我在這裏有一種基本的問題,有沒有辦法阻止程序在「菜單」類型程序中執行字符,其中您選擇運行控制檯選項時只能輸入數字做步驟和瀏覽數據。如何限制輸入到數字只有c + +
我的程序是一本圖書目錄,您可以在其中查看,更改,添加或刪除信息。
事情不會那麼糟糕,但事實是,當你輸入一個字母或非數字字符的程序會變得混亂和卡住。
我不添加我的代碼,因爲我認爲應該有一個通用命令來擺脫我的問題+將代碼翻譯成EN需要一些時間。
期待您的回答,有一個愉快的一天
最簡單的方法是使用我認爲的getline函數。而不是使用cin >> num;例如,你會使用getline(cin,value);其中「value」是你首先存儲你的輸入的字符串。然後你可以做num = atoi(value.c_str());將字符串輸入作爲整數值保存到「num」中。如果「num」是一個浮點數,那麼只需使用atof而不是atoi。這樣,如果字符串不是數字,它只是將值設置爲0.然後,如果num == 0的值,則可以使用if語句顯示錯誤消息。希望有所幫助。祝你好運!
如果您的應用程序在一個控制檯上運行,你擔心錯誤的(非數字)輸入,也許你應該輸入並不是數字,而是作爲一個文本,然後解析它,看看它真的是一個數字。如果不是,告訴用戶輸入不正確,並讓他們再次輸入。
感謝提示<3 – pindutis