c++ – Problem mit dem Eingabestream-Objekt cin, das nicht typisierte Zeichen verwirft
仅有的幸福
仅有的幸福 2017-06-27 09:19:12
0
1
1037

Die Frage erfordert das Schreiben einer while-Schleifenanweisung und schiebt sie in den Vektor. Das Problem besteht nun darin, dass die Frage die Eingabe von zwei verschiedenen Zeichentypen erfordert.

#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;
}

Das obige Programm ist eine Lösung, die ich mir vorstellen kann. Sie können die Schleife mit | beenden, aber hier gibt es ein Problem. Das Eingabestream-Objekt verwirft die erste gelesene Zahl (da 1 kein Zeichentyp ist). )

input: 123 56
output: 23 56

Haben Sie noch andere Lösungen? Danke ~~~

仅有的幸福
仅有的幸福

Antworte allen(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;
}
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage