Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z if i else

Ostatnio zmodyfikowano 2012-02-08 20:55
Autor Wiadomość
SeaMonster131
» 2012-02-04 11:48:06
Pokaż kod, który masz teraz?
P-50118
milosz216
Temat założony przez niniejszego użytkownika
oko
» 2012-02-04 11:49:19
ok:
C/C++
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main()
{
    int a;
    cout << "Aplikacja \n \nv1.0 \n \n______________________________________________________________________________\n\n";
    cout << "Wpisz haslo:\n";
    scanf( "%d", & a );
    if( "%d = 1234" )
         cout << "\nZgadles haslo! :D\n\n";
    else
         cout << "\nBłędne hasło!\n\n";
   
    getch();
   
   
}
P-50119
SeaMonster131
» 2012-02-04 11:51:28
Przeczytałeś wg to, co napisali Ci inni? Bo nie widzę, żebyś coś w tym if'ie zmienił.
P-50120
milosz216
Temat założony przez niniejszego użytkownika
.
» 2012-02-04 11:54:00
Tak, czytałem i zmieniałem za każdym razem, ale to nic nie dawało, nie wiem czemu.
P-50121
szyx_yankez
» 2012-02-04 12:02:33
Jeżeli masz na względzie wprowadzanie innych danych niż liczby użyj zmiennej typu char/string.


C/C++
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <cstring>
using namespace std;
int main()
{
    char a[ 10 ];
    cout << "Aplikacja \n \nv1.0 \n \n______________________________________________________________________________\n\n";
    cout << "Wpisz haslo:\n";
    scanf( "%s", a );
    if( !strcmp( a, "1234" ) )
         cout << "\nZgadles haslo! :D\n\n";
    else
         cout << "\nBłędne hasło!\n\n";
   
    getch();
   
}

P-50122
slawkow68
» 2012-02-04 12:38:00
Nie mieszaj iostream z stdio.h, iostream to biblioteka C++, a stdio.h to biblioteka C. Zamiast cout uzyj printf(), z blibloteki stdio.h.

Do ostatniego postu, byloby prawie okej, gdyby nie fakt wpisywania do niezainicjowanego wskaznika, czyli segmentation fault.
Zmien "char * a;" na np. "char a[50];" i powinno dzialac. A cout zmien na np. printf("Wpisz haslo:\n"); jeśli używasz cout jednak, to zmiast \n dawaj cout<<"costam"<<endl;
P-50126
RazzorFlame
» 2012-02-08 18:14:27
Nie wiem czemu to takie trudne dla ciebie no ale ok:
C/C++
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <cstring>
using namespace std;
int main()
{
    int a;
    do
    {
        cout << "Aplikacja\n\nv1.0\n\n______________________________________________________________________________\n\n";
        cout << "Wpisz haslo: ";
        cin >> a;
       
       
       
        if( a != 1234 ) cout << "\nBłędne hasło!\n\n";
       
        getch();
    } while( a != 1234 );
   
    cout << "\nZgadles haslo! :D\n\n";
    getch();
    return 0; //wczesniej o tym zapomniałes
}
Jesli nie rozumiesz tego kodu to:
do...while to petla ktora CO NAJMNIEJ raz wykonuje żądane zadania. Nasza wykonuje to tyle razy ile użytkownik wpisze liczbe inna niz 1234. Wkancu gdy wychodzimy z petli (uzytkownik wpisał poprawne hasło) pojawia sie napis Zgadles hasło.
cin >> zmienna - wczytuje liczbe/znak/ciag znakow i zapisuje je do zmiennej.
P-50385
maciejo
» 2012-02-08 20:50:33
A nie można po prostu "if(a == "1234")" ??
P-50398
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona