[Tutorialcpp] C++ Tutorial Informatik I

Felix Friedrich felix.friedrich at inf.ethz.ch
Mon Sep 5 14:43:38 CEST 2016


Sehr geehrte Frau Graf

Zu allererst: vielen Dank, dass Sie sich die Mühe gemacht haben, das 
Tutorial zu bearbeiten. Auch das Feedback, welches Sie uns über Ihre 
Fragen geliefert haben, ist sehr wichtig.

Nun zu den einzelnen Fragen:
(1.) Die Formel C * 1.8 + 32 enthält eine Fliesskommazahl (1.8). Bei der 
Evaluation des Ausdrucks c * 1.8 + 32 wird der Compiler automatisch alle 
Zahlen in Fliesskommazahlen übersetzen ("grösstmöglicher Typ") und daher 
tritt das Problem, welches wir eigentlich diskutieren wollten, nicht 
auf. Wir werden das in der Vorlesung ganz genau beleuchten. Ihre Frage 
hier ist sehr gut und zeigt, dass wir an dieser Stelle eher noch nicht 
die Internetsuche bemühen, sondern die Formel als c * 9 / 5 + 32 angeben 
sollten.

(2.) Das "return 0" wurde tatsächlich vergessen. Es ist zwar eine 
Spezialität von C++, dass man das return 0 bei der Hauptfunktion main 
weglassen kann, wir wollen aber besseren Stil unterrichten und es lieber 
immer hinschreiben. Vielen Dank auch für diesen Hinweis.

(3.) Vielen Dank für den Hinweis mit "age > 16", es sollte in der Tat 
eher "age >= 16" heissen. Und natürlich "beers" und nicht "biers".

Beste Grüsse sendet
Felix Friedrich


On 05.09.2016 13:00, Graf Melanie wrote:
> Sehr geehrter Herr Gärtner, Herr Lehner und Herr Friedrich
>
> Ich habe das C++ Tutorial jetzt durchgearbeitet und alles sehr gut 
> verstanden.
> Einige kleine Fragen bleiben jedoch. Die erste ist bei Schritt 13/20 
> die Celsius Aufgabe: Ich habe dort die Formel °F = °C * 1.8 + 32 im 
> Internet gefunden und das Programm folgendermassen geschrieben:
> #include <iostream>
> int main()
> {
> int celsius;
> std::cout << "Type the temperature in °C" << std::endl;
> std::cin >> celsius;
> std::cout << celsius << "°C are " << celsius * 1.8 + 32 << "°F" << 
> std::endl;
> return 0;
> }
> bei diesem Programm bekam ich dann das Resultat 87.8°F anstatt 87°F, 
> celsius wurde ja als integer gespeichert. Liegt das an der Formel, die 
> 1.8 beinhaltet? Die nächste Frage wäre noch bei Schritt 12/20 und 
> Schritt 17/20 jeweils bei dem ersten Code, den man öffnet, wurde am 
> Schluss nicht return 0; geschrieben. Hat das einen bestimmten Grund 
> oder wurde das einfach vergessen? Und die letzte Frage wäre bei 
> Schritt 18/20. Dort wird bei den Lösungen zum Programm if|(age > |16|)geschrieben. ||Wenn man also 16 als Alter eingibt erscheint „|You cannot get beers. Please come back when you're 16 or older!“müsste es nicht  if|(age >= |16|)|heissen? (Bei der nächsten Aufgabe bei Schritt 18/20 mit den 
> Variablen money und beers wird auch wieder if|(age > |16|)auf Zeile 9 geschrieben.) Bei den Bier Aufgaben wurde in den 
> geöffneten Codes jeweils allgemein |„here are your … biers. Your have 
> … CHF left.“ geschrieben, was nichts am Verständnis ändert, wollte es 
> nur mal kurz anmerken. Freundliche Grüsse Melanie Graf
>
>
>
> _______________________________________________
> tutorialcpp mailing list
> tutorialcpp at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/tutorialcpp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/tutorialcpp/attachments/20160905/b461e308/attachment-0001.html>


More information about the tutorialcpp mailing list