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
- Notebook von Plus 3129mal aufgerufen · 3 Antworten · Autor: Simone1987 · Letzter Beitrag von Entenhausen
Forum: Hardware
- Notebook von Plus
- Kosmetik in München 1214mal aufgerufen · 1 Antworten · Autor: Sumapede · Letzter Beitrag von Verbena
Forum: Fingernägel, Haut & Haare
- Kosmetik in München
- Lohnen sich Asien Fonds? 4198mal aufgerufen · 4 Antworten · Autor: Balthasar · Letzter Beitrag von FinanzScout
Forum: Geldanlage
- Lohnen sich Asien Fonds?
- Überweisung rückgängig machen 5645mal aufgerufen · 5 Antworten · Autor: Player · Letzter Beitrag von Wibbeldribbel
Forum: Geld & Finanzen
- Überweisung rückgängig machen