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
- Was fasziniert euch an amerikanischen Serien 3409mal aufgerufen · 16 Antworten · Autor: Federmäppchen · Letzter Beitrag von mittenimleben7
Forum: Film & Fernsehen
- Was fasziniert euch an amerikanischen Serien
- Suche Wellaform Haarcreme 4106mal aufgerufen · 1 Antworten · Autor: luwu22 · Letzter Beitrag von Verbena
Forum: Fingernägel, Haut & Haare
- Suche Wellaform Haarcreme
- Palmen & Pflege: Wie Palmen schneller wachsen lassen? 3969mal aufgerufen · 1 Antworten · Autor: Certified · Letzter Beitrag von Verbena
Forum: Garten & Pflanzen
- Palmen & Pflege: Wie Palmen schneller wachsen lassen?
- Auto selber lackieren 17698mal aufgerufen · 5 Antworten · Autor: Hägar · Letzter Beitrag von Nachbars Lumpi
Forum: Auto & Motorrad
- Auto selber lackieren
