-
Gesamte Inhalte
32 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Pizzacorgie28
-
-
ja genau soweit war ich auch schon
allerdings war mein Problem jetzt wenn der user eine z.b. 1 eingibt auch "auswahl" den wert 1 bekommt.
Ohne das geschummel wie ich es jetzt gemacht habe 😅
-
Moin danke für eure hilfe ich habe es jetzt einigermaßen zum laufen bekommen hier die überarbeitete variante.
#include <stdio.h> int main(void){ int ceaser=1, vigenere=2 , symmetrische=3; char b=98, auswahl=0; //char beenden=b; b=98 in ascii tabelle printf("Herzlich Willkommen\n\nWas wollen Sie tun?\n Drücken sie 1-3 für die jeweilige verschlüsselungs variante\n oder b um das Programm zu beenden\n"); printf(" (1) Ceasar Verschlüsselung\n (2) Vigenere Verschlüsselung\n (3) Symmetrische Verschlüsselung\n (b) Beenden\n\n"); //auswahl funktion hier while (auswahl != b){ scanf("%c", &auswahl) ; if (auswahl == 49) //49 steht für 1 printf("sie haben sich für die Ceasar Verschlüsselung entschieden") ; else if (auswahl == 50)//50 steht für 2 printf("sie haben sich für die Vigenere Verschlüsselung entschieden") ; else if (auswahl == 51)//51 steht für 3 printf("sie haben sich für die Symmetrische Verschlüsselung entschieden") ; else if (auswahl == b)//bzw. 98 printf("Danke das sie sich für das Programm endschieden haben") ; } return 0; }
es ist zwar nicht grade hübsch vorallem gefallen mir die if auswahlen für 1,2,3 und beenden mit b nicht aber habe keine andere lösung gefunden da ich nicht richtig verstehe wie diese umwandlung funktioniert
Zitatso wird aber nur der Inhalt von b nach auswahl kopiert, um bei dem Beispiel mit der '1' zu bleiben, steht dann in auswahl die Zahl 49, was aber nicht korrekt ist. Du benötigst also eine andere Lösung, um einen char in einen int umzuwandeln.
vlt kann mir da jemand anhand eines bsp. das näher bringen wäre euch da sehr dankbar
Aber ihr habt mir so aufjedenfall schon mal sehr weitergeholfen danke 🤘
-
sobald ich allerdings von scanf("%d bzw. %i auf %c) Wechsel erkennt er garkeine eingaben mehr ahhhh finide meinen fehler nicht 🤯
-
aso ok stimmt macht %c mehr sinn für char?
hatte das auch versucht da kahm aber nur murx bei rum.
und naja ich verstehe glaube ich noch nicht so ganz wie so eine schleife funktioniert also wie sie aufgebaut ist😅.
-
vor 42 Minuten schrieb Whiz-zarD:
Gibt ja noch mehr als nur Vergleichsoperatoren.
Aber überlege mal, wie grafische Oberflächen funktionieren. Grafische Oberflächen laufen in einer Endlosschleife. Man könnte auch hier das gleiche Prinzip anwenden. Es wird immer wieder die Eingabe eingelesen, verarbeitet und etwas wird ausgegeben. Wie sieht also eine endlosschleife aus und wie müsstest du deinen Code umstrukturieren?Schaue auch mal dein scanf() an. Vorallem welches Format deine Eingabe haben muss und welche du erlauben möchtest.
Danke für die fixe Antwort.
leider wie du wahrscheinlich schon gemerkt hast bin ich noch nube im C Code schreiben .
Deswegen äh stehe ich grade ein wenig auf dem schlauch ich habe mich weiter mit while versucht allerdings auch nur mit semi Erfolg.
Scan f habe ich nun auf %i gewechselt was auch mehr sinn macht
scanf("%i", &auswahl) ; while (auswahl > 3){ printf("Bitte eine der oben genannten zeichen eingeben\n"); scanf("%i", &auswahl) ; }
Nun fordert er eine erneut Eingabe wenn man nicht 1-3 wählt, allerdings ist nun leider das Problem das er das Programm nicht nur mit b beendet sondern auch mit allen anderen Zeichen.
-
Moin Leute,
ich soll für mein Studium ein Programm entwickeln wo ich mehrere Auswahl Möglichkeiten habe die durch 1-3 und b gewählt werden können.
Allerdings beendet das Programm sich auch wenn andere Zeichen genutzt werden wie lass ich das programm weiter laufen und abwarten bis eins der 4 Zeichen eingegeben wurde?
Habe mich schon an einer while schleife versucht aber da kann man ja immer nur mit einer Bedienung arbeiten und das hilft mir ja nicht weiter wenn ich wie hier 4 habe?
Hier der Code soweit:
#include <stdio.h> int main(void){ int ceaser=1,vigenere=2,symmetrische=3, auswahl=0; char b; //char beenden=b; b=98 in ascii tabelle printf("Herzlich Willkommen\n\nWas wollen Sie tun?\n Drücken sie 1-3 für die jeweilige verschlüsselungs variante\n oder b um das Programm zu beenden\n"); printf(" (1) Ceasar Verschlüsselung\n (2) Vigenere Verschlüsselung\n (3) Symmetrische Verschlüsselung\n (b) Beenden\n\n"); //auswahl funktion //while (auswahl != 1) scanf("%d",&auswahl); if (auswahl==1) printf("sie haben sich für die Ceasar Verschlüsselung entschieden"); else if (auswahl==2) printf("sie haben sich für die Vigenere Verschlüsselung entschieden"); else if (auswahl==3) printf("sie haben sich für die Symmetrische Verschlüsselung entschieden"); else if (auswahl==b) printf("Danke das sie sich für das Programm endschieden haben"); return 0; }
Nur auszuwählende Zeichen akzeptieren C
in C und C++
Geschrieben
Naja ist an sich nicht notwendig da hast du schon recht
aber für den Betrachter des Codes aufjedenfall wie @JustALurker beschreibt dann schon verständlicher ich werde mich allerdings erst einmal mit den Verschlüsselungs Methoden beschäftigen und mich dann um solche Verschönerungen versuchen da ich grade auch nicht ganz verstehe wie atoi() funktioniert.
Dies wird mit Sicherheit nicht meine letzte frage im Forum sein .
Tausend Dank euch nochmal für eure Hilfe 💝