когда CMD компилирует не выполняет то, что я хочу - PullRequest
0 голосов
/ 15 апреля 2020

Когда я пытаюсь скомпилировать мой код C ++, он компилирует его, но когда я пытаюсь ответить на std::cin, он просто возвращает мне вещи, которые я написал ранее, как будто я написал std::string x; std::cout << "Hello World\n; std::cin >> x if(x == "Hello World") { std::cout << "Hello"; }, но когда я компилирую, он возвращает Hello World (Cin answering space) Hello World, поэтому он возвращает только первую строку , вот изображение проблемы , и, как вы можете видеть, компилятор просто скопирует первую std::cout, а не go, и если вы хотите посмотрите мой код здесь

#include <iostream>
#include <string>

int main()
{
    //workers
    std::string CapoUno = "Yuri";
    std::string CapoDue = "Fede";
    std::string Programmatore = "Simo";//C#, C++, Java
    std::string ModelMakerUno = "Edo";
    //groups
    std::string Capi[2] = { CapoUno, CapoDue };
    std::string Programmatori[2] = { CapoDue, Programmatore };
    std::string ModelMakers[1] = { ModelMakerUno };
    std::string active[3] = { CapoDue, Programmatore, ModelMakerUno };
    //actions
    std::string action;
    std::cout << "Controlla i capi\n";
    std::cout << "Controlla i programmatori\n";
    std::cout << "Controlla i Model Makers\n";
    std::cout << "Aggiungi vendite\n";
    std::cout << "Controlla saldo attuale\n";
    std::cout << "Rimuovi qualcuno dal gruppo di lavoro\n";
    std::cin >> action;
    //action making
    //Controlla i capi
    if (action == "Controlla i capi")
    {
        std::string decision;
        std::cout << "Vuoi cambiare i capi o solo controllare chi sono: per cambiare scrivi cambio, per controllare scrivi controllo\n";
        std::cin >> decision;
        if (decision == "controllo")
        {
            std::cout << "i capi sono" <<  " " << Capi << "\n";
        }
        else if (decision == "cambio")
        {
            std::string cambio;
            std::cout << "Inserisci il nome del nuovo capo, se vuoi eliminarne uno devi tornare indietro\n";
            std::cin >> cambio;
            std::cout << "Bene ora" << " " << cambio << "� un capo";
            std::string Capi[3] = { CapoUno, CapoDue, cambio };
        }
        else 
        {
            std::cout << "Invalid Input\n";
        }
    }
    else if (action == "Controlla i programmatori")
    {
        std::string change;
        std::cout << "Vuoi cambiare i capi o solo controllare chi sono: per cambiare scrivi cambio, per controllare scrivi controllo\n";
        std::cin >> change;
        if (change == "controllo")
        {
            std::cout << "questi sono i programmatori" << " " << Programmatori;
        }
        else if (change == "cambio")
        {
            std::string nuovo_programmatore;
            std::cout << "Inserisci il nome del nuovo programmatore, se vuoi eliminarne uno devi tornare indietro\n";
            std::cin >> nuovo_programmatore;
            std::cout << "Bene ora" << " " << nuovo_programmatore;
            std::string Programmatori[3] = { CapoDue, Programmatore, nuovo_programmatore };
        }
        else
        {
            std::cout << "Invalid Input\n";
        }
    }
    else if (action == "Controlla i Model Makers")
    {
        std::string scelta;
        std::cout << "Vuoi cambiare i capi o solo controllare chi sono: per cambiare scrivi cambio, per controllare scrivi controllo\n";
        std::cin >> scelta;
        if (scelta == "controllo")
        {
            std::cout << "Bene questi sono i programmatori" << " " << Programmatori;
        }
        else if(scelta =="cambio")
        {
            std::string nuovo_Model_Maker;
            std::cout << "Inserisci il nome del nuovo programmatore, se vuoi eliminarne uno devi tornare indietro\n";
            std::cin >> nuovo_Model_Maker;
            std::cout << "Bene ora" << " " << nuovo_Model_Maker << " " << "� un Model Maker";
            std::string Model_Makers[2] = { ModelMakerUno };
        }
    }
    else if (action == "Aggiungi vendite")
    {
        int vendite = 0;
        std::cout << "Aggiungi vendita";
        std::cin >> vendite;
    }
    else if (action == "Controlla saldo attuale")
    {
        int vendite = 0;
        int saldo =  vendite * 10;
        std::cout << "Questo � il nostro saldo" << " " << saldo;
        if (saldo == 0)
        {
            std::cout << "Oh no nessuno ha comprato nulla...";
        }
        else if (saldo >= 10)
        {
            std::cout << "Incredibile qualcuno c'ha comprato il gioco";
        }
    }
    else if (action == "Rimuovi qualcuno dal gruppo di lavoro")
    {
        std::string remove;
        std::cout << "Dimmi che { user } vuoi eliminare";
        std::cin >> remove;
        if (remove == CapoUno) 
        {
            std::string Capi[1] = { CapoDue };
            std::cout << remove <<  " " << "� stato eliminato";
        }
        else if (remove == CapoDue)
        {
            std::string Capi[1] = { CapoUno };
            std::cout << remove << " " << "� stato eliminato";
        }
        else if (remove == Programmatore)
        {
            std::string Programmatori[1] = { CapoDue };
            std::cout << remove << " " << "� stato eliminato";
        }
        else if (remove == ModelMakerUno)
        {
            std::string ModelMakers[1] = {  };
            std::cout << remove << " " << "� stato eliminato";
        }
    }

    return main();
}

вещи, которые итальянские, а не по-английски sh являются переменными

1 Ответ

2 голосов
/ 15 апреля 2020

Вместо использования std :: cin используйте std :: getline

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...