Verfügbare Informationen zu "Texteingabe"
Qualität des Beitrags: Beteiligte Poster: Martix391 - DrPhil_Guth - X - Scorch Forum: Tutorials.at Forenbeschreibung: Programmierforum aus dem Unterforum: C / C++ Antworten: 8 Forum gestartet am: Mittwoch 19.04.2006 Sprache: deutsch Link zum Originaltopic: Texteingabe Letzte Antwort: vor 16 Jahren, 9 Monaten, 16 Tagen, 11 Stunden, 5 Minuten
Alle Beiträge und Antworten zu "Texteingabe"
Re: Texteingabe
Martix391 - 25.05.2006, 22:20Texteingabe
Hallo,
Ich kenn mich noch fast gar nicht mit C aus. Bin gerade erst das Tutorial auf dieser Website durchgegangen. Da sind aber immer nur Beispiele bei denen man Zahlen eingeben kann aber nie Buchstaben.
Was muss ich tun damit ich einen Text eingeben kann und der dann in z.B. Variable X gespeichert wird?
Danke im voraus!
MFG!!! :D
Re: Texteingabe
DrPhil_Guth - 26.05.2006, 09:37
Texte sind zeichenfolgen. Wir haben gelernt: zeichen sind vom typ Char.
das heisst texte sind schon mal in Char format.
Nun, texte bestehen aber aus mehreren zeichen, und die kann man nicht in einer Variablen speichern. Lösung: ein array:
char arrayName[anzahlDerElemente];
ok. wie kriegen wir den text jetzt ins array rein?
probiers mit scanf(arrayName). Wird super funktionieren, aber nur bis zum ersten leerzeichen. Lösung: eine andere funktion
gets(arrayName)
das speichert dir den ganzen text ab. allerding aufpassen: diese funktion ist nicht von haus aus dabei sondern in conio.h (verbessert mich, wenns nicht stimmt!) deklariert.
also:
#include <conio.h>
bitteschön und schon hast du deinen Text.
Re: Texteingabe
Martix391 - 26.05.2006, 13:51DANKE
Danke für deine Hilfe
Es funktioniert ausgezeichnet!
Voll Danke :D :D :D
Re: Texteingabe
Martix391 - 26.05.2006, 22:01Noch ein Problem
Das hat bestens geklappt, aber jetzt hab ich noch ein Problem:
Ich hab ein Programm in dem man einen code wiederholen muss:
char code[6], eingabe[6];
\\andere Programmzeilen\\
printf ("geben sie das Passwort ein:\n");
gets ("code");
printf (" wiederholen sie das Passwort\n");
gets ("eingabe");
if (eingabe == code)
printf ("das passwort wurde erfolgreich geändert");
else
printf ("die beiden Paswörter stimmen nicht überein");
das sind natürlich nicht alle Programmzeilen aber die anderen beeinflussen da ja nichts.
Kann mir jemand sagen warum dieses Programm trotz richtiger wiederholung des Passworts immer noch anzeigt das die beiden Passwörter nicht übereinstimmen?
Danke im Vorraus!
MFG!!!
:D :D
Re: Texteingabe
DrPhil_Guth - 27.05.2006, 14:57
nein, sorry so funktioniert das leider nicht.
wenn du nur den arraynamen schreibst, ohne irgendein Element auszuwählen, dann versteht der compiler das nicht als ganzes elements, sondern als die Startadresse des ersten arrays. und die ist dann natürlich nicht gleich.
probiers mal mit ner for schleife, in der jedes einzelne element überprüft wird.
int gleich = 1;
for (i=0; i<6; i++)
{
if (code[i] != eingabe[i])
{gleich = 0;
break;
}
}
if (gleich = 1)
{
printf(" die eingabe war richtig")
}
else
{
printf ("Die eingabe war falsch")
}
ist nur eine idee, man kanns auch anders machen
Re: Texteingabe
Martix391 - 27.05.2006, 16:34Danke
Das funkt total super
Ich musste zwar ne weile tüfteln um hinter das ganze zu blicken aber jetzt läuft alles.
Aber jetzt hab ich ein neues Problem das ich nicht zu lösen weis:
Ich hab in mein Programm ein Menu eingebaut wo man Passwort ändern und Texte schreiben kann (bis noch)
drückt man 1 zum Text schreiben verweist dies auf eine andere Funktion (texten() {})
Darin sind folgende Programmzeilen enthalten:
clrscr();
printf ("Text:\n");
gets (text);
printf ("drücken sie 1 um zu speichern");
usw...
Text hab ich als globale Variable deklariert und der verweis funktioniert tadellos...
Am Anfang steht Text: und dann steht gleich schon drücken sie eins um zu speichern.
Ich hab also nie die möglichkeit den Text zu schreiben.
Das ist immer so wenn ich etwas mit gets mache. Mit scanf passiert mir sowas nie.
Kann mir jemand helfen :?:
Danke im Voraus
MFG :wink:
Re: Texteingabe
X - 08.06.2006, 19:36
Hi Matrix
ich würd dir für solche aufgaben die klassenbibliothek <iostrem> von c++ empfehlen
such einfach mal nach "cin", "cout"
gruß
Re: Texteingabe
Scorch - 11.06.2006, 19:20
[quote="DrPhil_Guth"]
das speichert dir den ganzen text ab. allerding aufpassen: diese funktion ist nicht von haus aus dabei sondern in conio.h (verbessert mich, wenns nicht stimmt!) deklariert.
[/quot="DrPhil_Guth"]
für gets() muss stdio.h nicht conio.h eingebunden werden!
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum Tutorials.at
Problem beim Programm... - gepostet von toby-man am Mittwoch 03.10.2007
@DrPhil_Guth und andere Linux User - gepostet von vpascal am Montag 28.05.2007
Monstersgame-Account abzugeben - gepostet von vpascal am Sonntag 02.09.2007
Dev C++ - gepostet von F.U.C.K.U.P am Donnerstag 03.08.2006
User gesucht Programmiersprache C - gepostet von geek.90 am Samstag 19.05.2007
Männlich- Weiblich zeichen - gepostet von DrPhil_Guth am Sonntag 23.04.2006
Ähnliche Beiträge wie "Texteingabe"
