c++ - 輸入流物件cin丟棄不合類型字元的問題
仅有的幸福
仅有的幸福 2017-06-27 09:19:12
0
1
990

題目要求寫一個while循環語句,每次循環讀入兩個int並且將他們壓入vector,當輸入'|'後結束程序
現在的問題在於題目要求輸入兩個不一樣類型的字元

#include <iostream>

using namespace std;

int main() {

    int num_1, num_2;
    char stop;
    while (cin >> stop) {
        if (stop == '|') {
            break;
        } else {
            cin >> num_1 >> num_2;
            cout << num_1 << " " << num_2 << endl;
        }
    }

    return 0;
}

以上程式是我能想到的一個解決方案,這時可以利用|來結束循環,但是這裡存在一個問題,輸入流物件會拋棄讀到的第一個數字(因為1不是char型別)

input: 123 56
output: 23 56

請問各位有沒有其他的方解決方案,謝謝了~~~

仅有的幸福
仅有的幸福

全部回覆(1)
洪涛

搞定,存入vector就自己寫了吧,問題幫你解決了。

#include <iostream>
using namespace std;


int main(int argc, const char * argv[]) {
    int num_1, num_2;
    char stop;
    while (cin >> stop) {
        if (stop == '|') {
            break;
        } else {
            num_1 = stop-'0';
            cin >> num_2;
            cout << num_1 << " " << num_2 << endl;
        }
    }
    return 0;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板