C: Wie kann ich das Programm so umgestalten, sodass ich mit "Ja" antworten kann, statt mit "Y"?

2 Antworten

Hallo Daniel,

lass dich nicht auf irgendwelche grantigen "Experten" ein, die irgendwas in den Raum werfen und keinen Zentimeter Verständnis für Anfänger zeigen.

hier ist ein Snippet, was deine eigentliche Frage klären sollte:

while (strcasecmp(wand, "ja") != 0 && wand[0] != 'y' && wand[0] != 'Y');

Es besteht jedoch das Problem, dass "char wand[2]" nur Platz für ein einzelnes Zeichen und keinen Null-Byte hat. Wenn du also versuchst, eine Zeichenkette mit zwei Zeichen wie z.b "Ja" in dieses Array einzulesen, wird das Null-Byte außerhalb des Arrays geschrieben, was zu Fehlern führen kann.

Drum ändere bitte auch das "char wand[2]" zu "char wand[4]"

Zudem bitte ich dich, dass wenn du ernsthafte Absichten hast, eine Programmiersprache zu lernen, dass du dir auch Gedanken darum machst, was du tatsächlich damit erreichen möchtest. Für ein bisschen tüfteln, sind alle Programmiersprachen gut. Zudem kann ich aus deinen Kommentaren entnehmen, dass du kaum bis wenig Verständnis für das hast, was du uns fragst. Orientiere dich an irgendwelchen Youtube Playlisten, Bücher oder w3school.

Viel Spaß! :)

Du machst den Array "wand" ausreichend groß (schließenden Null-Charakter beachten) und vergleichst den String dann mit strncmp.


DANIELdjldqwj 
Fragesteller
 11.05.2023, 12:44

Könntest du das evtl in den Code schreiben? verstehe es nicht wirklich

0
DANIELdjldqwj 
Fragesteller
 11.05.2023, 12:53
@Destranix

Wie ich ihn ausreichend groß mache und von strncmp habe ich noch nie was gehört :/

0
Destranix  11.05.2023, 13:19
@DANIELdjldqwj

Wie "Hä"? Kann doch jeder Funktionen schreiben auch du. Hast du sogar schon getan.

0