Texteingabe

Tutorials.at
Verfügbare Informationen zu "Texteingabe"

  • Qualität des Beitrags: 0 Sterne
  • 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:20

    Texteingabe
    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:51

    DANKE
    Danke für deine Hilfe

    Es funktioniert ausgezeichnet!

    Voll Danke :D :D :D



    Re: Texteingabe

    Martix391 - 26.05.2006, 22:01

    Noch 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:34

    Danke
    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"