Skocz do zawartości

Voids i warunki problem


KozakPL

Rekomendowane odpowiedzi

#include <iostream>

void Pytaj(string;
void Sprawdzaj(string);
void Zle(string);
void Loguj(string);
using namespace std;

void Pytaj(string Login, string Pass)
{
    cout << "Login: ";
    cin >> Login;
    Sprawdzaj(&Login);                          //zapamietaj podany Login
    Loguj(&Login)
    cout << "Haslo: ";
    cin >> Pass;
    Sprawdzaj(&Pass);                          //zapamietaj podany Pass
    Loguj(&Pass);
}
void Sprawdzaj(string Login2, string Pass2)
{
    Login2="Ziom";
    Pass2="Ziom";
    if ( Login == Login2 & Pass == Pass2 )
    {
        //to ma iść do void Loguj<------------------------------------------Look here
    }
    else
    {
        //to ma iść do void Zle<--------------------------------------------ohh...and here! xD
    }
}

 

Wie ktoś jak to zrobić? Aaaaaa...kod jest jak narazie dobry?

Odnośnik do komentarza
Udostępnij na innych stronach

Aaaaaa...kod jest jak narazie dobry?

póki nie skompilujesz to się nie dowiesz.

 

A to co się rzuca w oczy:

if( Login == Login2 & Pass == Pass2 )

& to iloczyn bitowy, do operacji logicznych dajesz podwojone symbole, czyli tutaj &&.

Odnośnik do komentarza
Udostępnij na innych stronach

void Sprawdzaj(string Login2, string Pass2) // Lol...
{
    Login2="Ziom"; // Wut? ( Goto Lol... )
    Pass2="Ziom"; // Wut? ( Goto Lol... )
    if ( Login == Login2 & Pass == Pass2 ) // ERROR! Unknown variables! ( Login, Pass )
    {
        //to ma iść do void Loguj<------------------------------------------Look here
    }
    else
    {
        //to ma iść do void Zle<--------------------------------------------ohh...and here! xD
    }
}

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>

void Sprawdzaj (int);
void Zle (int);
void Loguj (int);
using namespace std;

int main()
{
    string Login;
    string Pass;
    cout << "Login: ";
    cin >> Login;
    Sprawdzaj(&Login);                          //zapamietaj podany Login
    Loguj(&Login)
    cout << "Haslo: ";
    cin >> Pass;
    Sprawdzaj(&Pass);                          //zapamietaj podany Pass
    Loguj(&Pass);
    system("pause");
}
void Sprawdzaj(string Login2, string Pass2)
{
    Login2="Ziom";
    Pass2="Ziom";
    if ( Login == Login2 & Pass == Pass2 )
    {
        //to ma iść do void Loguj<------------------------------------------Look here
    }
    else
    {
        //to ma iść do void Zle<--------------------------------------------ohh...and here! xD
    }
}

po kilku zmianach kod wygląda tak @UP

 

A błędy tak:

|14|error: invalid conversion from `std::string*' to `int'|
|14|error:   initializing argument 1 of `void Sprawdzaj(int)'|
|15|error: invalid conversion from `std::string*' to `int'|
|15|error:   initializing argument 1 of `void Loguj(int)'|
|16|error: expected `;' before "cout"|
|18|error: invalid conversion from `std::string*' to `int'|
|18|error:   initializing argument 1 of `void Sprawdzaj(int)'|
|19|error: invalid conversion from `std::string*' to `int'|
|19|error:   initializing argument 1 of `void Loguj(int)'|
||In function `void Sprawdzaj(std::string, std::string)':|
|26|error: `Login' undeclared (first use this function)|
|26|error: (Each undeclared identifier is reported only once for each function it appears in.)|
|26|error: `Pass' undeclared (first use this function)|
||=== Build finished: 12 errors, 0 warnings ===|

xD

 

Help...:)

Odnośnik do komentarza
Udostępnij na innych stronach

void Sprawdzaj (int);

void Zle (int);

void Loguj (int); // funkcja przyjmuje argument typu int

string Login; // deklarujesz zmienną typu string

Loguj(&Login); // podajesz jako argument typu int referencję na zmienną typu string. TO NIE JEST GM ŻE SAMOWOLKĘ MOŻESZ ROBIĆ!!!

Czy ty do jasnej cholery wiesz cokolwiek o czymś za co się bierzesz? W###wia mnie ignorancja z twojej strony.

Odnośnik do komentarza
Udostępnij na innych stronach

Ale co chcesz zrobić? No i nie podałeś kodu dwóch funkcji jeszcze. Poza tym:

 

void Sprawdzaj(string Login2, string Pass2)

{

Login2="Ziom";

Pass2="Ziom";

 

po co w argumencie funkcji bierzesz dwa stringi, żeby im potem nadać wartość? bez sensu!

 

Stawiam, że to prowokacja.

Odnośnik do komentarza
Udostępnij na innych stronach

Stawiam, że to prowokacja.

To nie prowokacja, to Skovv -.-

Odnośnik do komentarza
Udostępnij na innych stronach

ehh chcę zrobić takie mini Logowanie.Ta książka jest jakaś Zje**na! W 2006 roku wydana.

#include <iostream>

void Sprawdzaj (int);   //ta funkcja ma sprawdzać czy dobry login i pass
void Zle (int);            //Jak zle passy to ta funkcja         
void Loguj (int);         //Jak dobre pasy to ma ta funkcja
using namespace std;

int main()
{
    string Login;
    string Pass;
    cout << "Login: ";
    cin >> Login;
    cout << "Haslo: ";
    cin >> Pass;
}
void Sprawdzaj()
{
     if ( Login == "Ziom" & Pass == "Ziom" )
    {
        //to ma iść do void Loguj<------------------------------------------Look here
    }
    else
    {
        //to ma iść do void Zle<--------------------------------------------ohh...and here! xD
    }
}
void Loguj()
{
    cout << "Zostałeś zalogowany jako "<<Login;
    system("pause");
}
void Zle()
{
    cout << "Zly Login lub Haslo";
    system("pause");
}

 

Sry Psysiu xD Ta książka jakaś zryta...będę się z neta uczył :) Teraz zrobiłem to inaczej i mam kilka pytań:Jak skopiować zmienną z 1 funkcji do 2 razem z wartością? i co z tym warunkiem?

Odnośnik do komentarza
Udostępnij na innych stronach

Ta książka jakaś zryta...będę się z neta uczył

On chyba dał we wszystkich zapowiedziach funkcji w nawiasie inta, bo tak było w przykładzie książki... Proponuję, żeby przeczytał jeszcze raz ją i potem coś pisał

On sie "uczył" z niej tak:

  1. wziął książkę do ręki
  2. otworzył spis treści
  3. przeczytał jakie rozdziały są
  4. znalazł rozdział z przykładami
  5. zaczą je przepisywać, porównując to co widzi z tym co znał z GMa (a że mało znał to zbyt wiele się nie dowiedział), a tego czego nie rozumiał, o to pyta na forum.

tylko gdzie tu jest logika postępowania? nie budujesz domu zaczynając od dachu, licząc na to, że piwnice na końcu zrobisz.

Odnośnik do komentarza
Udostępnij na innych stronach

ale za cholere nie przeczytałeś co ta funkcja robi i jakiego typu argumenty przyjmuje

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>

using namespace std;

bool Sprawdzaj(string, string);
void Zalogowany(string);
void Zle();

int main()
{
    string log, pw;

    cout << "Podaj login: ";
    cin >> log;
    cout << "\nPodaj haslo: ";
    cin >> pw;

    if(Sprawdzaj(log, pw)) Zalogowany(log);
    else Zle();


    system("PAUSE");
    return 0;
}


bool Sprawdzaj(string log, string pw)
{
    if(log == "tajnyLogin" && pw == "tajneHaslo") return true;
    else return false;


}

void Zalogowany(string log)
{
        cout <<"\nJestes zalogowany jako " << log;


}

void Zle()
{
        cout <<"\nDupa, zle passy.";


}

 

 

Chociaż nie powinienem, bo miałeś się sam nauczyć, ale... zdziadziałem

Odnośnik do komentarza
Udostępnij na innych stronach

ok rozumiem

 

Wielkie dziex ;]

 

I napisałem takie coś:

#include <iostream>

using namespace std;

//  REJESTRACJA
void Rejestracja();
//  LOGOWANIE
bool Logowanie(string,string,string,string);
void Zalogowany(string,string,string,int,int,string);
void ZleZalogowany();


int main()
{
    string Login, Login2, Imie, Nazwisko, Pass, Pass2;
    int Wiek, GG;

    cout << "TWORZENIE KONTA\n\n**************************\n\n1.Login: ";
    cin >> Login;
    cout << "\n2.Imie: ";
    cin >> Imie;
    cout << "\n3.Nazwisko: ";
    cin >> Nazwisko;
    cout << "\n4.Wiek: ";
    cin >> GG;
    cout << "\n5.GG: ";
    cin >> Wiek;
    cout << "\nHaslo: ";
    cin >> Pass;
    cout << "\nKONTO UTWORZONE POPRAWNIE\n\n";

    cout << "LOGOWANIE\n\n**************************\n\n";
    cout << "Podaj login: ";
    cin >> Login2;
    cout << "\nPodaj haslo: ";
    cin >> Pass2;
    if(Logowanie(Login,Login2,Pass,Pass2))
    {
        Zalogowany(Login,Imie,Nazwisko,GG,Wiek,Pass);
    }
    else
    {
        ZleZalogowany();
    }

    system("pause");
    return 0;
}
bool Logowanie(string Login,string Login2, string Pass, string Pass2)
{
    if(Login == Login2 && Pass == Pass2)
    {
        return true;
    }
    else
    {
        return false;
    }
    system("pause");
    return 0;
}
void Zalogowany(string Login, string Imie, string Nazwisko, int Wiek, int GG, string Pass)
{
    cout << "\n\nZOSTALES POPRAWNIE ZALOGOWANY\n\n**************************\n\nTWOJE DANE\n\n";
    cout << "1.Login: "<< Login;
    cout << "\n2.Imie: "<<Imie;
    cout << "\n3.Nazwisko: "<< Nazwisko;
    cout << "\n4.Wiek: "<<Wiek;
    cout << "\n5.GG: "<<GG;
    cout << "\nHaslo: "<<Pass;
}
void ZleZalogowany()
{
    cout << "Błąd Logowania";
}

 

Dziex all za Pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...