c++ - Problème avec l'objet de flux d'entrée cin rejetant les caractères non typés
仅有的幸福
仅有的幸福 2017-06-27 09:19:12
0
1
996

La question nécessite d'écrire une instruction de boucle while. Chaque boucle lit deux entiers et les pousse dans le vecteur. Lorsque '|' est entré, le programme se termine maintenant que la question nécessite la saisie de deux types de caractères différents.

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

Le programme ci-dessus est une solution à laquelle je peux penser. Pour le moment, vous pouvez utiliser | pour terminer la boucle, mais il y a un problème ici. L'objet de flux d'entrée ignorera le premier nombre lu (car 1 n'est pas un type char). )

input: 123 56
output: 23 56

S'il vous plaît dites-moi si vous avez d'autres solutions, merci~~~

仅有的幸福
仅有的幸福

répondre à tous(1)
洪涛

C'est fait, enregistrez-le simplement dans le vecteur et écrivez-le vous-même. Le problème est résolu pour vous.

#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;
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal