informationen
  • beschreibung:
    Programmierung (C) Hey Ich hab da ein kleines Problem mit meinem Kompiler oder ich bin einfach ni…
  • alle anzeigen
follower
  • computer world: Programmierung (C) xxnikopolidisxx1: Hey darkwing danke für deine unermüdliche hilfe...

    greets
    Luca
    vor 3 Jahren und 10 Monaten. ·
  • TheWildNightTiger > computer world: Programmierung (C) Auf den ersten Blick fällt mir die Zeile
    [code:1:c86e71bb54]scanf("%s",txt3);[/code:1:c86e71bb54]
    auf.

    Statt "txt3" sollte da wenn ich richtig überlege "&txt3" stehen.
    vor 3 Jahren und 10 Monaten. ·
  • Darkwing078 > computer world: Programmierung (C) als mit "SHIFT" kommst du nicht viel weiter.
    das würde bedingen, dass du jede eingabe abfängst.

    fangen wir mal vorne an.
    wenn du etwas eingibst, so wird diese eingabe im prinzip erst dann zum einlesen bereit gestellt, wenn du das ende der eingabe mit ENTER/RETURN bestätigst.

    danach kannst du dann den fertigen text einlesen.

    was ja auch schon funktionert.

    der printf befehl ist wie folgt aufgebaut

    PRINTF("dann was du ausgeben willst und in welchre formatierung mit zeilendendezeichen -> \n");
    PRINTF("formatierung wäre z.b. für eine zahl %d ", integervariable);
    du gibst immer an, was du ausgeben willst in welchem format und zum schluß stehen dann die variablen in der reihenfolge wie du sie im text ausgibst.

    also ich kann dir als kurzes kompaktes nachschlagewerk das hier empfehlen

    http://www.fz-juelich.de/jsc/files/docs/bhb/bhb-0140.pdf
    vor 3 Jahren und 10 Monaten. ·
  • computer world: Programmierung (C) xxnikopolidisxx1: darkwing das ist für meinen Verstand in diesem Bereich einfach zu hoch gegriffen. Das mit dem scanf("%20",txt3) funktioniert ja super, doch der Rest printf("\n****a bissi verwirrend****\n");

    Ich stehe in den Startlöchern bezüglich C... habe erst das 2. Kapitel zur Hälfte. Wollte man prob. ob ich so ein Programm zusammenbringe. nja aber egal.
    Der compiler nimmt die Funktion *line = ´\0´; nicht! Die Fehlermeldung:

    Error c: 26 ´line´ is not a pointer
    Error c: 26 illegal character "\"
    Und vieles mehr.


    nja ich will das man mehrere Wörter eingeben kann, doch beim Shift drücken weiter zur nächsten funktion gelangt. also
    nehmen wir mal an:

    char txt2 [300];


    scanf("%300c",txt2);
    printf("\n unten soll eine Kopie des eingegeben textes sein\n");
    scanf("%s",txt5);
    printf(txt2)


    ziemliches wirrwarr doch ich glaube du kennst die Antwort

    greets
    vor 3 Jahren und 10 Monaten. ·
  • Darkwing078 > computer world: Programmierung (C) [code:1:776a615cbc] /* Zeilen einlesen */
    char line[80+1];
    int c;
    *line = ’\0’; /* erforderlich, da Leerzeilen nicht übertragen werden */
    while (scanf("%80[ˆ\n]", line) != EOF)
    {
    /* Rest der Zeile einschl. Zeilenendezeichen lesen:*/
    while (((c = getchar()) != ’\n’) && c != EOF)
    ;
    /* ... */
    *line = ’\0’;
    }[/code:1:776a615cbc]

    wenn du natürlich immer nur genau 20 zeichen lesen willst und immer 20 zeichen lesen kannst
    dann sollte auch scanf("%20[ˆ\n]", line) funktionieren

    20 gibt die anzahl der zeichen an und es soll kein zeilenendezeichen \n gelesen werden
    vor 3 Jahren und 10 Monaten. ·
  • Raszil > computer world: Programmierung (C) scanf bricht beim Leerzeichen ab... Muss es C sein? Oder kann auch C++? Das wäre nämlich eleganter. Ansonsten fällt mir momentan nur gets() dazu ein...
    vor 3 Jahren und 10 Monaten. ·
  • Darkwing078 > computer world: Programmierung (C) liest scanf mit %s nicht nur ein wort bis zum nächsten trennzeichen ein?
    ich glaub es sollte auch mit %20c oder so gehen... gucke aber nochmal schnell nach
    vor 3 Jahren und 10 Monaten. ·
  • computer world: Programmierung (C) xxnikopolidisxx1: Hey
    Ich hab da ein kleines Problem mit meinem Kompiler oder ich bin einfach nicht in der Lage dazu.

    Die berüchtigten Programmzeilen:::


    char txt3 [20]


    scanf("%s",txt3);
    printf(txt3);


    (Das Programm enthält 47 solcher Zeilen, das ist nur ein kleiner Ausschnitt)

    Nja mein Problem ist: Da ich ja mehrere scanf u. printf Funktionen drinnen habe (txt 1-9) kann ich zwar mehr als 1 Wort reinschreiben, doch wenn es 2 Wörter sind dann nimmt das 2. Wort eine eigene Funktion in anspruch.
    Wie funktioniert das, dass der Kompiler die Wörter (nicht Buchstaben (nimmt hier eh 20)) wiedergibt , die man auch oben bei der scanf-Funktion eingegeben hat.!!!
    Da ich erst 14 bin kenne ich leider keinen der das kann, oder Ansatzweise versteht.

    Greetz
    Luca
    vor 3 Jahren und 10 Monaten. ·
ANZEIGE