C-Kurs, Abend 2

    • schnucke schrieb:

      --standard c99
      Mensch Leute, ihr könnt das Ding nicht so Testen wie in der PC-Scene.
      Steht doch auch in der Beschreibung.

      hört, hört, der testexperte hat gesprochen ; ) ich frage jetzt besser nicht, welche beschreibung du meinst ...

      wenn man das hier eingibt, erscheint die originale "beschreibung"

      Quellcode

      1. cl65 --help


      und siehe da, es gibt auch die option "--standard c99" beim cc65
    • So, jetzt muss ich hier mal schieben.

      Liebe C-Lerner: Sind die Aufgaben aus dem Kurs zu einfach oder zu schwierig?

      Postet doch die Lösungen hier. Das kann andere motivieren, Euch Tips bescheren und die nächste Folge positiv beeinflussen.

      Gruß,
      Thomas
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Bau Dir ein eigenes Modul! EasyFlash
    • skoe schrieb:

      Postet doch die Lösungen hier.

      SCNR, sogar extra in einer nicht hilfreichen Programmiersprache und ohne das von dir erwartete C-Ausgabekonstrukt das es da auch gäbe: ;-)

      Quellcode

      1. numbers = [7,23,342]
      2. justify :: Int -> String
      3. justify i = (replicate (9-length i_str) ' ') ++ i_str ++ "\n"
      4. where i_str = show i
      5. main = do
      6. putStr $ concat $ map justify numbers
      7. putStrLn $ replicate 9 '='
      8. putStr $ justify $ sum numbers

      Quellcode

      1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
      2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
      3. 30 printint(rnd(1)*328)-217

      sd2iec Homepage
    • Unseen schrieb:

      SCNR, sogar extra in einer nicht hilfreichen Programmiersprache und ohne das von dir erwartete C-Ausgabekonstrukt das es da auch gäbe: ;)


      Kein Problem, wenn hier schon keiner C lernt, dann lernen die, die schon C können, eben eine andere Sprache. Wer macht LISP?
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Bau Dir ein eigenes Modul! EasyFlash
    • int main (void) {

      int sieben = 7;
      int dreinzwanzig = 23;
      int dreivierzwo = 342;
      int summe;
      summe = sieben + dreinzwanzig + dreivierzwo;

      printf("%9d\n",sieben);
      printf("%9d\n",dreinzwanzig);
      printf("%9d\n",dreivierzwo);
      printf("=========");
      printf("%9d\n",summe);

      }
      Ich geh mal davon aus das bei %3d die 3 die Anzahl der Zeichen darstellt, darum %9d. Hab leider keinen Compiler :winke:
    • Hallo Madman,

      endlich macht mal einer den Anfang, danke :) Ist das tatsächlich Dein Anfang in C?

      Wenn Du keinen Compiler hast, woran liegt's? Noch keine Zeit gehabt, den cc65 zu installieren?

      Ich hab's mal für Dich übersetzt:

      Quellcode

      1. $ cl65 -o mad.prg mad.c
      2. mad.c(11): Error: Call to undefined function `printf'


      Da ist also noch ein kleiner Fehler drin. Ein Tip: Es fehlt eine Zeile, die kommt in unseren Beispiel-Programmen vor, wir haben ihre Bedeutung noch nicht besprochen.

      Den Fehler habe ich dann behoben, und siehe da:

      Quellcode

      1. load"mad.prg",8,1:
      2. searching for mad.prg
      3. loading
      4. ready.
      5. run
      6. 7
      7. 23
      8. 342
      9. ========= 372
      10. ready.
      Alles anzeigen


      Also fast perfekt! Aber woran liegt die verschobene 372?

      Gibt's andere C-Newbies, die helfen können oder eine andere Lösung haben?

      Eine Bitte an die C-Profis: Bitte nicht zu viel helfen :) Aus Fehlern lernt man.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Bau Dir ein eigenes Modul! EasyFlash
    • Ach so, ein Flüchtigkeitsfehler :aerger: . Das hier müsste gehen:
      #include <stdio.h>

      int main (void) {

      int sieben = 7;
      int dreinzwanzig = 23;
      int dreivierzwo = 342;
      int summe;
      summe = sieben + dreinzwanzig + dreivierzwo;

      printf("%9d\n",sieben);
      printf("%9d\n",dreinzwanzig);
      printf("%9d\n",dreivierzwo);
      printf("=========\n");
      printf("%9d\n",summe);

      }
      Ach so, ich bin nicht ganz unbedarft was C angeht. Zumindest theoretisch.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Madman ()

    • Perfekt. :freude

      Ist das nun Dein C-Anfang oder konntest Du schon C?

      Ich vermute, dass die Einrückungen hier im Forum verloren gegangen sind. Das Forum kennt auch Code-einbettung: (code) (/code) nur halt mit eckigen Klammern.

      Gibt es noch jemanden, der mit einem Compiler Aufgabe 1 und 2 lösen kann?
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Bau Dir ein eigenes Modul! EasyFlash
    • LISP ist einfacher zu lernen als "C".
      In einer Programmzeile ist die Übersicht klarer und verständlicher.
      Lisp kommt von der Lernbarkeit gleich hinter Basic. Die Sprache ist schnell und man steigt durch die Befehlssyntax schneller durch.

      Die Basicfaulen haben früher LISP als ausweichartikel genommen.
    • >Lisp kommt von der Lernbarkeit gleich hinter Basic.

      Das halt ich aber fürn Gerücht. Da würd ich Pascal aber noch weit vorne sehen, mit den klar ausformulierten Befehlen, die Schritt für Schritt abgearbeitet werden und so. Bei Lisp kriegt man doch nach 5 Minuten n Knoten im Hirn, weil man ständig von hinten nach vorn und innen nach aussen denken muss.
      Machirgendwas ( ( ((.... <noch mehr Klammern> :)

      >Die Basicfaulen haben früher LISP als ausweichartikel genommen.

      Vor ca. 35-40 Jahren, mag sein.
      "<Lieblingskalenderspruch bitte hier vorstellen>"
    • das wage ich doch sehr zu bezweifeln das auch nur ein einziger der zu faul war basic zu lernen sich dann statt dessen lisp angetan hat =D

      lisp hat man wohl früher eher darum genommen weil es dafür - im gegensatz zu basic - durchaus den ein oder andren sinnvollen anwendungszweck gibt.
    • Sorry Skoe, aber wenn ich ehrlich bin habe ich den CC65 installiert, mir Deinen Kurs angesehen und im Kopf schon etwas gecodet.
      Mehr leider noch nicht.
      Leider habe ich im Moment keine Zeit die 'Hausaufgaben' zu machen, aber nicht aus Desinteresse, sondern weil ich zu viel um die Ohren habe.
      Bitte mache weiter mit Deinem Kurs, der ist so super gemacht.
      Vielen Dank für die ganze Arbeit die Du Dir machst. :respect:
      Das wäre glatt ein guter Beitrag für die CEVI-Aktuell.
      Sobald ich den Kopf wieder etwas frei habe hole ich die Hausaufgaben nach, versprochen :)
      Gruß
    • Keine Sorge, wir machen weiter. Da wir ja sowieso nur etwa 1 bis 2 "Abende" pro Woche schaffen, wirst Du uns schon irgendwann einholen.

      Die ersten Folgen sind ja auch etwas dröge. Wenn aber erstmal das Grundgerüst steht, werden die Programme auch spannender. War ja beim BASIC- und Assembler-Lernen damals auch nicht anders.
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Bau Dir ein eigenes Modul! EasyFlash
    • mir Deinen Kurs angesehen und im Kopf schon etwas gecodet.

      Da kannste dir doch 1 Stunde zeit nehmen und das durchführen und dann einpaar Notizen auf einem Spickzettel. Sonst fängst du wieder bei Null an. Also "c" kann man nicht so leicht im Kopf coden.

      mg