O mica problema la rularea codului

Intrebari despre limbajul C++, standardul C++, STL, OOP in C++ sau alte subiecte nelegate de VisualC++
Post Reply
User avatar
Andexx
Junior
Junior
Posts: 1
Joined: 23 Oct 2016, 15:13
Judet: Bacău

O mica problema la rularea codului

Post by Andexx » 23 Oct 2016, 15:44

Salutari! Sunt incepator in C++ si pe masura ce am invatat lucruri noi, am incercat sa fac un program micut, insa cand il rulez, executa doar primul subprogram(prima functie), dupa care se opreste, cand normal ar trebui sa execute urmatorul subprogram, apelat din aceasta functie.

Code: Select all

#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>

using namespace std;

void logare();
void alegere();
void logat();
void deconectare();
void contNou();


void logare()
{
    string x, password;
    cout<<"Pentru a putea intra in contul tau trebuie mai intai sa te loghezi..."<<endl;
    cout<<"Username:"<<endl;
    cin>>username;
    cout<<"Password:"<<endl;
    cin>>password;

    logat();

}

void alegere()
{
    string x;
    cout<<"Buna! Alege, te rog, daca vrei sa te loghezi pe contul tau sau daca vrei sa iti faci un cont nou, scriind cuvantul LOG pentru a te loga, sau NOU pentru a te conecta:"<<endl;
    cin>>x;
    if(x=="LOG")
        logare();
    else if(x=="NOU")
        contNou();
}

void logat()
{
    string x;
    int numar;
    int a=0;
    cout<<"Bine ai venit, "<<username<<endl;
    cout<<"Doresti sa afii care este numarul tau aleatoriu?"<<endl;
    cin>>x;
    if(x=="da" || x=="DA" || x=="Da")
    {
        srand(time(0));
        numar = rand();

        cout<<"Numarul tau aleatoriu este: "<<numar<<endl;
    }
    else if(x=="nu" || x=="NU" || x=="Nu")
    {
        cout<<"Doresti sa te deconectezi?"<<endl;
        cin>>x;
        if(x=="da" || x=="DA" || x=="Da")
            deconectare();
        else if(x=="nu" || x=="NU" || x=="Nu")
        {
            cout<<"Cand doresti sa te deconectezi scrie DA"<<endl;
            while(a==0)
            {
                cin>>x;
                if(x=="da" || x=="DA" || x=="Da")
                {
                    a++;
                    deconectare();
                }
            }
        }
    }
}

void deconectare()
{
    cout<<"Te-ai deconectat"<<endl;
}

 void contNou()
{
    string password;
    cout<<"Pentru a-ti crea un cont nou, trebuie sa iti setezi un Username si o Parola:"<<endl;
    cout<<"Username: "; cin>>username;
    cout<<endl;
    cout<<"Password: "; cin>>password;
    cout<<endl;

    cout<<"Felicitari, tocmai ti-ai creat un cont nou!"<<endl;
}

int main()
{
    string username;
    alegere();

    return 0;
}
Dupa ce il rulez si scriu in consola LOG, imi afiseaza doar primul cout din void logare(), dupa care procesul se returneaza la 0. De ce nu afiseaza si restul, sau de ce nu ma lasa sa introduc usernameul si password?

Am incercat sa rulez si fara functiile prototip, am incercat si variabile globale...

Multumesc pentru ajutor! :thumbsup:



Kavarna
Junior
Junior
Posts: 11
Joined: 20 Sep 2015, 19:14
Judet: Neamţ

Re: O mica problema la rularea codului

Post by Kavarna » 09 Nov 2016, 21:14

Incearca

Code: Select all

getline(cin,x);

Post Reply