Viele Anfängerfragen



  • Hallo 😉
    Bin ganz neu hier und auch ganz neu beim Programmieren. Ich mache zur Zeit c, und hab auch schon meinen ersten Taschenrechner usw. programmiert. Jetzt habe ich jede menge Fragen...

    1.Bei meinem Taschenrechner hääte ich es gerne, dass man das Programm nicht immer beenden muss, damit man noch eine Rechnung durchführen kann. Wie programmiert man, dass das Programm wieder zum Anfang springt?

    2.Irgendwie versteh ich das nicht: Wenn ich folgendes Programm starte, und dann irgendetwas eingebe kommt immer main.c funktioniert nicht mehr... Wieso?

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
      char* Hallo;
      printf("Hi!\n");
      scanf("%s", &Hallo);
    
      printf("%s\n", Hallo);
      system("PAUSE");	
      return 0;
    }
    

    3.Außerdem sind bei meinem Taschenrechner wenn ich etwas ausrechne immer mindestens 10 überflüssige Nullen dran... Also 10 + 20 ist dann z.b. 30.000000...
    Weiß jemand, wie ich das vermeiden kann?

    4.Und was mache ich bei diesem Programm falsch?

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        char* name;
        printf("Wie heissen Sie?");
        scanf("%s", &name);
    
        if (name=="mathiasj") {printf("Aha, Sie heissen auch so!\n");}
        else {printf("Sie heissen nicht so, wie ich.\n");}
      system("PAUSE");
      return 0;
    }
    

    Es zeigt mir immer an: Sie heissen nicht so, wie ich. Außerdem kommt danach wieder "Wie heissen Sie?"...Aber nur einmal...

    Naja, wie ihr seht habe ich sehr viele Fragen 😉
    Ich hoffe ihr klnnt mir helfen!

    LG, mathiasj


  • Mod

    Alle diese Fragen erledigen sich ganz von alleine, wenn du nur ein bisschen weiter in einem guten(!) Lehrbuch liest. Die Frage 1 sogar mit einem schlechten.



  • mathiasj schrieb:

    Hallo 😉
    Bin ganz neu hier und auch ganz neu beim Programmieren.

    Genau, und wenn man dies weiß, schaut man erstmal in die überall für solche Leute geschaffenen Bereiche, z.B. FAQ usw.

    mathiasj schrieb:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
      char* Hallo;
      printf("Hi!\n");
      scanf("%s", &Hallo);
      
      printf("%s\n", Hallo);
      system("PAUSE");	
      return 0;
    }
    

    3.Außerdem sind bei meinem Taschenrechner wenn ich etwas ausrechne immer mindestens 10 überflüssige Nullen dran... Also 10 + 20 ist dann z.b. 30.000000...

    Hilfreich ist es auch immer, wenn man den passenden Code zu seinem beschriebenen Fehler nennt.



  • 1. Kapitel über Kontrollstrukturen - Schleifen

    2. Kapitel über Arrays, Strings und Zeiger.
    Formatspecifier von scanf : http://www.cplusplus.com/reference/clibrary/cstdio/scanf/ Schau dir auch das Beispiel an.
    ⚠ Arrays sind keine Zeiger

    3. Formatspecifier von printf: http://www.cplusplus.com/reference/clibrary/cstdio/printf/

    4. Kapitel Stringbehandlung in C

    Das sind alles absolute Grundlagen. Die lernt man nicht aus einem Forum.



  • zu 1. lerne mit Schleifen umzugehen!
    optional: goto verwenden. Link: www.google.de

    zu 2. Deklaration (Zeile 6 ⚠) falsch

    zu 3. statt "printf("Loesung: %lf", ergebnis);" einfach "printf("Loesung: %4.2lf", ergebnis);"
    Erklräung(wie ich es immer verstanden habe): der Vierer sagt dem Compiler: Ich bin insgesamt vier Zeichen groß! ⚠ (Nachteil: Zahlen wie zB 12345 - fünfstellig - werden damit so ausgegeben: 2345) ⚠ und der Zweier sagt: Ich habe dazu noch zwei Nachkommastellen!

    Damit werden deine Ergebnisse nicht mehr so lauten: 30.000000 sondern 30.00

    zu 4. wieder Deklaration falsch. Einlesung ebenfalls.

    ich empfehle dir das gleiche wie meine Vorposter: Kauf dir ein C-Buch, oder lerns im Internet. Falls du in ne Programmierschule gehst, warts ab. Nirgends lernst dus besser als bei einem Lehrer! (eigene Erfahrung)

    Hier noch ein Link: http://openbook.galileocomputing.de/c_von_a_bis_z/

    MfG, meldino 🙂


  • Mod

    meldino schrieb:

    Hier noch ein Link: http://openbook.galileocomputing.de/c_von_a_bis_z/

    Oh nein, bitte nicht.
    http://www.c-plusplus.net/forum/272350

    edit: Wenn ich mir deine anderen Tipps so ansehe (insbesondere Punkt 1 und Punkt 3), bin ich mir gar nicht so sicher, ob du ihn nur verarschen möchtest (es ist auch ungewöhnlich einen 9 Tage alten Thread auszugraben) oder ob du selber ein Wolf-Opfer bist. Einem absoluten Anfänger goto zu empfehlen ist schon bösartig. Deine Erläuterungen zum printf-Formatspezifizierer sind schlichtweg falsch. Und der Spezifizierer %lf hat auch eine andere Bedeutung, als du denkst. Er bedeutet nämlich das gleiche wie %f.


Anmelden zum Antworten