I like it double!

Endlich schönes Wetter – die Sonne scheint in mein Zimmer und das stundenlange Programmieren macht gleich viel mehr Spaß!

Nach der Einführung in printf geht Erlenkötter in seinem nächsten Kapitel auf scanf ein. Bisher kann ich ein Programm dazu bringen, mir entweder einen Text oder das Ergebnis einer Rechnung in mein Terminal zu posten. So weit so unnütz. Bzw. umständlich, da ich jeden neuen Term erneut in das Programm hacken müsste. Mit scanf kann ich dynamisch die Werte immer wieder neu eingeben und damit die Variablen mit Werten belegen.

Ein ganz simples Programm wäre z.B.

#include <stdio.h>
main ()
{
1)      int x,y;
        printf("\n\tG e n e r i s c h e s");
        printf("\n\tA d d i t i o n s p r o g r a m m\n");
2)      printf("\nBitte x eingeben: ");
3)      scanf("%i", &x);
        printf("\nBitte y eingeben: ");
        scanf("%i", &y); 
4)      printf("\nDas ergibt eine stolze %i\n", x+y);
        printf("\nMensch, toll!\n\n");
}


Um das Programm auszuprobieren müsst ihr das Programm wie immer in einen Editor packen, compilen und dann ausführen. Es fragt nach zwei Werten, um sie x und y zuzuordnen.

1) X und Y sind in diesem Falle Variablen des Typs Integer. Variablen müssen nämlich immer deklariert werden. Der gemeine Hacker würde jetzt irgendeine verrückte Zahl eingeben und das Programm zum Absturz und meinen Computer zum Explodieren bringen. Der Typ Integer ist zwar sehr leicht verdaulich für einen Rechner, das heißt, er kann damit effizient und schnell rechnen, dafür können die Variablen in diesem Falle nur einen bestimmten Wertebereich abdecken.

2)  Wenn das Programm gestartet wurde fragt es nach einem Wert für x. Den tippe ich ein und scanf 3) liest diesen Wert ein und belegt x damit. Wenn dann auch noch y bestimmt wurde kann das Programm die Rechnung ausführen 4) und gibt das Ergebnis aus.

Und weil ich gestern so fleißig und soziophob war hab ich gleich noch die Programmieraufgabe bewältigt:

Schreiben Sie ein Programm, das den Benzinverbrauch eines Autos in Litern je 100 Kilometern errechnet.

Nix leichter als das, Helmut!

#include <stdio.h>
main () 
{       
1)      float liter, kilometer; 
        printf("\n\t1 B e n z i n v e r b r a u c h\n");
        printf("\nDieses Programm berechnet den durchschnittlichen\n"); 
        printf("Verbrauch von Benzin in Litern pro 100km\n");
        printf("\nBenzinverbrauch in Litern eingeben: ");
2)      scanf("%f", &liter);
        printf("\nGefahrene Kilometer angeben: ");
3)      scanf("%f", &kilometer);
4)      printf("\n\nDer Verbrauch liegt bei %.2f Litern pro Hundert Kilometer\n\n", liter*100/kilometer);
5)      printf("\n\nVielleicht solltest du besser Fahrrad fahren.\n\n");
}


Na zugegeben, der Code leidet ein wenig unter meinen Ästhetikvorstellungen, die sich allerdings auf das ausgegeben Programm im Terminal beziehen.
Bei diesem Programm habe ich die Variablen als float deklariert 1). Float kann einen viel größeren Wertebereich abdecken und Zahlen mit Nachkommastellen darstellen. Isn Ding wa? Wobei der bevorzugte Fließkommatyp double ist, dessen Platzhalter dann nicht mehr %f ist, sondern %lf. Die Genauigkeit bei double erstreckt sich über 15 Nachkommastellen. Wie praktisch!
Das Programm fragt nach dem Start wiederum nach zwei Werten. Einmal nach den getankten Litern 2) und dann nach den gefahrenen Kilometern 3). Die Werte werden dann wieder in der Rechnung eingefügt und das Ergebnis wird ausgegeben.
Allerdings wird das Ergebnis nur mit zwei Nachkommastellen ausgegeben, weil mich der Rest nicht interessiert. (Ich hoffe mein ehemaliger Mathelehrer liest mit und kriegt jetzt das Kotzen hähä!) Die Nachkommastellen kann ich begrenzen, indem ich nicht einfach %f als Platzhalter schreibe sondern %.2f  4)

Ja, haha, mein erstes Programm! Ganz alleine, ohne Schwimmflügel, freihändig, ohne Messer und Gabel, ohne Verstärker, ohne Laktose, ohne HartzIV, nur mit ein bisschen Kreativität und mithilfe von etwa 13 Fehlermeldungen als ich es zum ersten Mal kompilieren wollte…
Aber tatsächlich war das debuggen (das Beheben dieser Fehler) ganz spaßig. Vermutlich weil es größtenteils leicht zu behebende Fehler des Typs „Scheiße, Semikolon schon wieder vergessen“ waren. Und natürlich weil es ein recht simples Programm ist. Ich hab’s auch gleich in ’nen Pastebin gesteckt: http://pastebin.com/70WJMxk7

Ja, ach, was bin ich stolz mich betrinken gegangen danach.

Wenn ihr jetzt ein Benzinverbrauchsprogramm braucht, könnt ihr gerne meins benutzen, ihr müsst auch nix bezahlen oder so, gnihihihi…Vielleicht habt ihr ja Linux auf eurem Auto, dann könnt ihr das gleich anwenden. Aber nicht dass ihr das falsch versteht: 5)

Überhaupt möchte ich als nächstes lieber ein Programm für Fahrradfahrer_innen schreiben. Vielleicht eines, das Zwischenwerte von Kalorien- oder Wasserverbrauch pro km zwischenspeichert in einer Datei. Aber das muss ich erst noch lernen. Außerdem wurde mein Hinterrad geklaut und ich gönne es natürlich Nichts und Niemandem auf der Welt gerade, Fahrrad fahren zu können. Bis ich wieder das Geld habe um mein Fahrrad zu reparieren. Bis dahin dürfte aber noch *hust ein wenig Zeit vergehen…

———————————

Achja, vermutlich hagelt es in den Kommentaren jetzt Facepalms und Verbesserungsvorschläge oder beides gleichzeitig. Aber bedenkt bei euren äh…Ratschlägen bitte, dass ich das Programm mit meinem vorhandenem Wissen geschrieben habe. Also nehmt nicht zu viel vorweg, besserer Code wird folgen, sobald ich mehr gelernt habe. Aber für hilfreiche Tips bin ich natürlich dankbar🙂

Getaggt mit
%d Bloggern gefällt das: