Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

ich habe gerade erst angefangen mit C/C++ zu progammiren. Ich habe ein kleines Programm geschrieben, das ein Quadrat ausrechnen kann, duch eingabe.... Ich wollte dieses Programm nun mit eimen Passwort sichern, sodass es nur bestimmte Leute(...und Hacker) öffnen können. Hier ist mein script:

#include <stdio.h>

#include <windows.h>

int main()

{ 

    long int x,y,c,z;

//    scanf("%d",&z);                      FÜR DAS PASSWORT...

//    if(!strcmp(z,"1234"));

//    {

//                  printf"willkommen\n");

//                   else

//                   printf("Zugriff verweidert\n");

//                   return 1;

//    }                    

    system("pause"); 

   	while(1)

    { 

            printf("geben sie eine zahl, von der sie das quadrat wissen wollen, ein\n");

            scanf("%d",&x);

              y=x*x;

               printf("Das ergebnis ist %d \n",y);

               system("pause");

               system("cls");

    }

    return 0;

}

danke im vorraus :)...

Geschrieben

Da fehlt mir jetzt irgendwie eine Frage oder Problembeschreibung.

Aber man sieht ja auch so, wo es da klemmt: strcmp vergleich char-Arrays, keine longs. Entweder machst du aus z ein char-Array und liest es entsprechend ein, oder du vergleichst dein z einfach direkt mit 1234, ohne strcmp.

Geschrieben (bearbeitet)

wie kann ich es denn direkt vergleichen?

weil ich habe es schon mit char versucht... und das funz auch nicht

#include <stdio.h>

#include <windows.h>

int main()

{

char x;

printf("Passwort: \n");

scanf("%d",&x);

if (!strcmp(x,"1234");

{printf("Willkomen\n");

else

printf("Zugriff verweigert\n");

system("Pause");

return 0;

}

so sähe das dann ja aus funz aber nicht

Bearbeitet von yannicST
Geschrieben (bearbeitet)

ok ich habe sie jetzt direkt verglichen...

doch es gibt jetzt irgend einen fehler mit else:upps:confused:, ich glaube ich lasse else dann einfach weg aber danke für die antwort hat mir geholfen...

:mod::mod:

doch es klappt nicht

Bearbeitet von yannicST
Geschrieben

#include <stdio.h>

#include <windows.h>

int main()

{

int y;

printf("Passwort: \n");

scanf("%d",&y);

if (y,"1234");

{

printf("Willkomen\n");

else

printf("Zugriff verweigert\n");

system("Pause");

}

return 0;

}

Geschrieben
if (y,"1234");
Das ist kein Vergleich. Vergleiche macht man mit ==. Außerdem ist es nicht sinnvoll, eine int-Variable mit einer Zeichenkette zu vergleichen, das geht in die Hose.

if(y == 1234)

{

printf("Willkomen\n");

else

printf("Zugriff verweigert\n");

system("Pause");

}

Wenn du hinter der if-Anweisung mit geschweiften Klammern einen Block aufmachst, muss das else hinter diesem Block stehen, nicht mittendrin.

Du tust dir übrigens selbst einen Gefallen, wenn du deinen Code von Anfang an ordentlich einrückst.

Geschrieben (bearbeitet)
char x;

printf("Passwort: \n");

scanf("%d",&x);

Achtung ... bedenke die Größe der Zahlen, die unter einer Char Variablen abgelegt werden können! ...


#include <stdio.h>

#include <string.h>

[...]

const char *Passwort ="Geheim";


[...]


char Buffer[1024]; //Puffergröße, die angibt, wie lang die eingelesene Zeile maximal sein soll 


printf("Bitte geben Sie das Passwort ein: ");

fgets(Buffer, 1024, stdin); // Achtung fgets legt '\n' auch mit ab


if (strcmp(Passwort, Buffer) != 0) /*an der Stelle den Ausstieg vorbereiten/*

/* ansonsten geht's hier im programm weiter */ 

Bearbeitet von lilith2k3

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...