Instrukcja warunkowa if - wpowadzanie hasła

0

Witam jestem początkującym i mam problem w moim małym programie.
Zależy mi na tym, aby program wyświetlał napis 'ok zalogowałeś się' gdy wpisze odpowiednie hasło w przeciwnym razie napisze 'Niepowodzenie' .
Problem w tym, że cokolwiek bym wpisał to mnie zaloguje.
Instrukja if a już problemy mam nadzieję, że ktoś mi pomoże.

#include <stdio.h>

main()
{
printf("=-----------------------------------------------------------------------=");
printf("\n\n=\t\t\tMilitary U.S.A. Department\t\t\t=");
printf("\n\n=-----------------------------------------------------------------------=");

int a,b;

printf("\n\n\n\tPlease select your city to connect with the server service. ");
printf("\n\n\n1.Waszyngton\n\n\n \n\nType number : ");
scanf("%d",&a);

switch(a)

    {
    case 1:
        {
            printf("\nType your password :   ");
            scanf("%d",&b);
            if (b=="sukces")
            printf("\n\t\t\tThank you for your attention.");

            else
            if (b!="sukces")
            printf("\n\t\tLog in failed. Please contact with the service.");


        }
        break;
    }

getch();
return 0;
}
 
0

Wczytujesz przecież liczbę.
Poza tym sprawdzenie nierówności jest zbędne, wystarczy:

if (b == "foo")
{
 cośtam
} else
{
 cośtam innego
}

(pomijam też fakt, że trzymanie hasła plaintextem to patologia, ale to dział newbie, więc zakładam, że ten program nie będzie używany w żadnej firmie or sth :P)

2
  1. Napis deklaruje się jako char b[MAKIMALNY_ROZMIAR];
  2. Napisy wczytuje się poprzez fgets()
  3. Napisy się porównuje za pomocą strcmp()
0

Nie to program wyłącznie w celach edukacyjnych ,wielke dzięki za odpowiedź .

1

Poza radą od @_13th_Dragon popatrz co ci kompilator mówi!
Porównujesz liczbęint (b) ze swkaźnikiem ("sukces" - jest typu const char const *), co jest dużym błędem.
Jak już to powinno być tak:

char buff[256];
printf("\nType your password :   ");
scanf("%s", buf);
if (strcmp(buff,"sukces") == 0) {
      printf("Thank you for your attention.\n");
} else {
      fprintf(stderr, "Wrong pasword!\n");
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1