C++ Problem
Ich habe wieder mal eine Aufgabe die ich nicht lösen kann, weil mir das Programmieren schwer fällt, aber villeicht könnt ihr mir ja wieder helfen. Es geht um Windows Oberflächen-Programmierung.
Ich habe folgende Aufgabe: Eine Tasse Kaffee hat eine Temperatur von 85 °C. Die Zimmertemperatur beträgt 21 °C. In jeder Minute verringert sich die Temperatur des Kaffees um ein Zehntel der Differenz zwischen den beidenTemperaturen. Schreiben Sie ein Programm, dass die Kaffeetemperatur nach 1, 2, 3, ... Minuten ausgibt, bis der Temperaturunterschied weniger als 1 °C beträgt. Wann hat der Kaffee annähernd Zimmertemperatur erreicht?
Das habe ich bereits:
int zahl1, zahl2, differenz, abnahme, minute;
zahl1=85;
zahl2=21;
differenz=zahl1-zahl2; // Differenz
abnahme=(differenz/10); // 1 Zehntel der Differenz
Nun wollte ich dies mit einer For oder Do - while -Schleife machen.
Das sah dann so bei mir aus:
do {
minute=differenz-abnahme;
}
while (temperatur>=21);
ListBox1->Items->Add(minute);
Nun gibt das Programm die Zahl 58 aus, aber ich glaube, dass das Ergebnis nicht stimmt.
Ich hoffe ihr könnt mir helfen, denn es funktioniert mal wieder nicht bei mir!
Ich versteh die Zeile "minute=differenz-abnahme;" nicht genau.
Grob sollte das ganze so aussehen. Ich kann kein C++
- Code: Alles auswählen
Variablen: TempRaum, TempStart, Minute, Differenz, Abnahme, TempMinute
TempRaum := 21;
TempStart := 85;
Minute:= 0; // Zeit zum Start
TempMinute:=85; // Temperatur zum Start
while TempRaum - TempMinute > 1 do begin
Differenz := TempMinute - TempStart;
Abnahme:= Differenz / 10;
TempMinute := Tempminute -Abnahme;
Minute := Minute +1;
Ausgabe : Minute, Tempminute;
end;
Würde mich übrigens interessieren, was bei rauskommt, will es nicht selber programmieren müssen
Ich habe einen kleinen Fehler entdeckt. Es müsste heißen:
while TempMinute - TempRaum > 1 do begin
Ansonsten hätte man hier eine Endlosschleife.
Das was mich hiergepostet hat sieht soweit ich das beurteilen kann schonmal ganz gut aus. Muss man dann nur noch in die Syntax von C++ übersetzen.
Allerdings ist mir noch etwas aufgefallen: Du benutzt als Variablentyp integer, allerdings können Integer keine Nachkommastellen speichern! Du solltest also den Variablentyp float benutzen.
Mir ist doch noch ein Fehler aufgefallen. die Zeile:
Differenz := TempMinute - TempStart
müsste eigentlich
Differenz = TempMinute - TempRaum
heißen, da die Differenz sonst 0 wäre.
Link dieser Seite https://www.talkteria.de/forum/topic-49384.html
Ähnliche Themen
Weitere interessante Themen
- Suche leckere und einfache Pasta Rezepte 26655mal aufgerufen · 24 Antworten · Autor: vonZitzebitz · Letzter Beitrag von EngelmitHerz
Forum: Essen & Trinken
- Suche leckere und einfache Pasta Rezepte
- Schatz ich habe Hunger, können wir schnell was essen? 39712mal aufgerufen · 25 Antworten · Autor: Laufmasche · Letzter Beitrag von EngelmitHerz
Forum: Essen & Trinken
- Schatz ich habe Hunger, können wir schnell was essen?
- Leckere Spargel Rezepte - Rezepte mit Spargel 2688mal aufgerufen · 9 Antworten · Autor: Cala · Letzter Beitrag von EngelmitHerz
Forum: Essen & Trinken
- Leckere Spargel Rezepte - Rezepte mit Spargel
- Leckere Salat Rezepte - die besten Salate 57170mal aufgerufen · 24 Antworten · Autor: Cala · Letzter Beitrag von EngelmitHerz
Forum: Essen & Trinken
- Leckere Salat Rezepte - die besten Salate
- Leckere Soßen und Dips Rezepte 27950mal aufgerufen · 9 Antworten · Autor: Cala · Letzter Beitrag von EngelmitHerz
Forum: Essen & Trinken
- Leckere Soßen und Dips Rezepte
