C Programmierung Hilfe

  • Hi,


    Also was das C Programmieren angeht, bin ich ziemlicher Anfänger.. Ich muss für die Schule nen kleinen Rechner machen. Nun, ich scheitere bei der Abfrage der Addition. Wenn man Addition eingibt, müsste ja eigentlich der Text ausgegeben werden, doch leider wird nix ausgegeben^^ Ich bitte um hilfe :D


    Das hab ich schon:





    Freundliche Grüsse
    Vince

  • strcmp ist für einen string und nicht für eine Zahl
    ->
    string entscheidung;
    //und
    scanf("%s", entscheidung);
    wobei ich mir bei scanf nicht sicher bin

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Theoretisch ist das doch egal ob ich char oder string nehme :D
    Ok char mag resourcenschonender sein, aber im Prinzip ist das doch das gleiche oder nicht?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • OK du hast Recht in C gibts kein string dafür aber char, ut das ham wir dann auch geklärt.
    Aber eine Frage stellt sich mir noch wofür steht das * bei char?
    Steht das wie in PAWN z.B.: new string[]; für eine nicht definierte Größe des strings?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • OK du hast Recht in C gibts kein string dafür aber char, ut das ham wir dann auch geklärt.
    Aber eine Frage stellt sich mir noch wofür steht das * bei char?
    Steht das wie in PAWN z.B.: new string[]; für eine nicht definierte Größe des strings?


    Richtig, für eine feste Größe kannst du das benutzen:

    Code
    char string[255];


    Bezüglich string: es gibt den datentyp string im namespace std: std::string

  • also in dem fall



    So funktioniert das nicht, das Programm stürzt ab...

  • Hallo!
    Bin auch noch relativ neu in C, aber ich kann dir da weiterhelfen.
    Du hast die Anzahl der Arraystellen vergessen.
    Ohne Array kannst du mit char ja nur ein Zeichen zuweisen.
    Ausserdem kannst du das nicht mit scanf machen, sondern musst mit fgets() arbeiten.


    Meine Version/Idee:


    Ungetestet, aber sollte eigentlich funktionieren. EDIT: War ein Fehler drin, du musst überall noch neue Zeilen mit \n machen, die hängt er automatisch dran. Jetzt funktioniert der Code von oben.
    Falls du dich mit Arrays nicht auskennst, kannst du es ja mit Zahlen machen (für Addition tippen Sie 1, für Subtraktion 2,...).
    Ich hoffe, ich konnte helfen :D


    LG FlasH


    EDIT: Fehler im Code

    Professioneller Webentwickler.

    Einmal editiert, zuletzt von Le FlasH ()

  • Hi,


    Ich habs mal versucht mit dem hier. Immerhin stürzt das Programm nicht ab, aber den Text gibt es auch nicht aus. Was ist der Unterschied zwischen scanf und fgets?