Autor | Nachricht |
---|---|
Beobachter Anmeldedatum: 06.01.2022 Beiträge: 3 | zitieren hallo und zwar möchte ich einzelne buchstaben einlesen jedoch klappt es für meinen zweiten buchtstaben nicht mehr das programm überspringt immer mein scanf, weiß jemand wieso und wie man das ansonsten machen könnte? ----------------------------------------------------------------------- #include <stdio.h> int main() { int gesucht = 4; int i = 0; char zeichen[7] = {'A', 'G', 'E', 'W', 'I', 'W', 'O', 'L'}; int counter; printf("Folgende Buchstaben stehen zur Verfügung:\n"); printf("A | G | E | W | I | W | O | L\n"); printf("Gesucht werden %d Buchstaben:\n", gesucht); for(i = 1; i<=gesucht; i++) { printf("_ "); } printf("\n"); char first; char first2; printf("Geben Sie den 1. Buchstaben ein: "); // first = getchar(); scanf("%c", &first); printf("%c %c test \n", first, zeichen[1]); if(first == zeichen[1]) { printf("Stimmt überein\n"); printf("%c " , zeichen[1]); for(i = 2; i<=gesucht; i++) { printf("_ "); counter = counter + 1; } } else { printf("Stimmt nicht überein\n"); printf("%c " , first); for(i = 2; i<=gesucht; i++) { printf("_ "); } } //------------------------------------------------------------ printf("Geben Sie den 2. Buchstaben ein: "); scanf("%c", &first2); // Wieso klappt das hier nicht? printf("%c %c test \n", first2, zeichen[2]); return 0; } |
▲ | pn |
Trainee Name: Mirko Geschlecht: Anmeldedatum: 06.12.2019 Beiträge: 46 Wohnort: Weingarten | zitieren Hi, um wirklich nur ein "einzelnes" Zeichen einzulesen, verwende am besten die Standardfunktion getchar(). In C gibt es leider zuviel undefiniertes Verhalten.
Um nun die Frage zu beantworten, warum die zweite Eingabeaufforderung übersprungen wird, musst Du verstehen, dass auch das Drücken der ENTER-Taste als ein Zeichen interpretiert wird (Schau Dir mal die ASCII-Tabelle an). Und dieses Zeichen befindet sich im Puffer und wird sozusagen der zweiten scanf-Funktion übergeben. Es gibt nun mehrere Wege dies abzufangen. Da gibt es Funktionen in der Standardbibliothek, die in jeder Hinsicht besser funktionieren als scanf. Da musst Du dich leider ein wenig durchwühlen. Aber mit der Zeit wirst Du die alle kennenlernen. Zu diesem Zeitpunkt kann ich Dir zu folgender Lösung raten.
Außerdem solltest Du dir auch das Prinzip von Arrays noch einmal anschauen. Du reservierst 7 Byte aber möchtest darin 8 Buchstaben speichern. Tu das bitte nicht. Für 8 Buchstaben reservierst Du bitte auch 8 Byte.
Es gibt noch den einen oder anderen Fallstrick in deinem Code, aber da musst Du durch. 1x bearbeitet |
▲ | pn |
Beobachter Anmeldedatum: 06.01.2022 Beiträge: 3 | zitieren vielen dank für deinen kommentar, hat mir weitergeholfen dass alles etwas besser zu verstehen, da werde ich wohl noch etwas zeit investieren müsse |
▲ | pn |
Junior Name: Voller Name als Anagramm: Fitje Weshoms Geschlecht: Fahrzeug: Yamaha YZF R6 Thundercat Anmeldedatum: 15.07.2012 Beiträge: 92 Wohnort: Amberg, Oberpfalz | zitieren Du solltest den Tastatureingabepuffer löschen sonst werden bei der zweiten Eingabe eines einzelnen char sofort die alten restlichen Zeichen eingelesen. void clpuf(void) { while (getc(stdin) != '\n') ; } Zudem hast du acht anstatt sieben Zeichen. |
▲ | pn |
Gast | zitieren Mach mit!Wenn Dir die Beiträge zum Thread "HILFE beim einlesen in C" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:Registrierte Mitglieder genießen die folgenden Vorteile: ✔ kostenlose Mitgliedschaft ✔ keine Werbung ✔ direkter Austausch mit Gleichgesinnten ✔ neue Fragen stellen oder Diskussionen starten ✔ schnelle Hilfe bei Problemen ✔ Bilder und Videos hochladen ✔ und vieles mehr... |
▲ | |
Ähnliche Beiträge | Re: √ | Letzter Beitrag | |
---|---|---|---|
Fehlermeldung beim Einlesen eines Buchstabens mit scanf hi, ich habe ein problem in meiner Funktion "Spaltenabfrage"...
wenn ich ungültige Zahlen eingebe, ist es kein Problem, da spuckt er schön brav die Fehlermeldung aus.
Wenn ich jetzt allerdings nen Buchstaben statt ner Zahl einlese, kommt ne... [C]von mones333 | 1 191 | 28.02.2021, 12:13 mgutt | |
Hilfe bei C-Programm / Zahlen aus einer Datei in ein Array einlesen. Hallo,
ich bräuchte mal eure Hilfe für ein kleines C-Programm: - in einer TXT-Datei befinden sich als Beispiel 3 Zahlenreihen mit jeweil 6 Zahlen in 1 Reihe: BSP: Test.txt 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Die Zahlen sind durch ein... [C]von Vision73 | 0 160 | 15.05.2023, 16:28 Vision73 | |
CSV in C einlesen hallo!
ich bin neu auf dem Forum und suche antworten... ich schreibe ein Programm für mein Job wo ich Autos einlesen und ausgeben muss die bei einer Werkstatt waren, aber mein Compiler sagt immer "Floating point not loaded" und ich weiß nicht... [C]von Johnathan Frakes | 1 205 | 15.02.2022, 17:12 steinsgate | |
Daten einlesen Hallo!
Ich möchte Daten aus einer Textdatei einlesen.
Dazu habe ich folgendes programmiert:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE * file;
char line[10];
file =... [C]von DrususIngbert | 1 441 | 15.08.2012, 15:59 Guiseppe | |
EDIT: Hilfe beim Bremsenswap beim EJ9 Facelift. bitte PN EDIT:
Ich bitte die um Hilfe, die schon einem einen Scheibenbremsenswap HA beim EJ9 Facelift gemacht haben.
Bitte nehmt per PN kontakt mit mir auf.
Es ist dringend. Das Problem immer noch das gleich wie unten beschrieben.
also ich habe... von albiknalltuete | 37 1.724 | 14.08.2015, 04:47 BlackCivic86 | |
Nochmal Hilfe!!! beim Bremsen wechseln beim Del Sol Ich wollte gerade meine Bremsscheiben wechseln, da sind mir die Kruzschrauben rund gegangen beim aufmachen. Also die 2 schrauben, die die Bremsscheibe festhalten. Wie bekomme ich die jetzt... von freakyboy | 32 5.495 | 27.02.2009, 00:15 Wick3d | |
Programm zum Einlesen von Dateien Hallo,
ich bin im Bereich der Programmierung (bis auf Access) komplett unerfahren, daher suche ich hier Hilfe.
Folgende Aufgabenstellung: Ich speichere Emails (Anzahl unbekannt) aus einem Emailprogramm heraus in einen bestimmten Ordner. Die Daten... [Allgemein]von Maik6464 | 1 357 | 27.02.2011, 15:07 Maik6464 | |
Brauche dringent hilfe beim Verstärker/Autospeakers !!! Bitte hilfe mich !!! Hallo allerseits,
P.s. Ich bin Hollander, wohne in Deutschland, bitte verzeih mein grammatik!!
Ich bin total neu hier und bin eigentlich nur auf der suche nach hilfe/antwort auf ein frage und hoffe jemanden kan mich hilfen?
Vorraus gesagt muss... von Amsatff.Amy | 2 717 | 18.04.2012, 19:33 Ralf | |
Hilfe beim Einbau von E-fensterhebern beim EJ9 Hallo,
habe vor meine manuellen fensterheber durch elektrische fensterheber zu ersetzen.
habe auch schon alles zusammen :
- beide Fensterheber
- beide Schalter
- beide Türkabelbäume
- beide Türpappen
- Kabelbaum vom Sicherungskasten
....... von nightmover29 | 5 428 | 23.09.2011, 10:01 nightmover29 | |
Hilfe Swap auf D15Z6 beim Ej2 Kabelbaumprobleme! HILFE Guten Tag erstmal
Ich habe bei meinem ej2 den D15Z6 eingebaut alles lief ohne probleme doch jetzt habe ich Probleme beim Kabelbaum! Habe steuergerät und kabelstrang vom ek3 hier aber keine ahnung wie ich das belegen soll viele stecker passen einfach... von Patrick_EJ2 | 39 1.189 | 16.07.2016, 15:31 Patrick_EJ2 |