Hilfe bei Programmieren C++

Shadehunter

Banned
Thread Starter
Mitglied seit
08.12.2010
Beiträge
110
Servus leute, ich habe folgende aufgabe:

" Erstellen Sie ein Programm, das die Länge und Breite eines Grundstücks sowie den Preis pro Quadratmeter einliest. Berechnen Sie dann mit dem Programm den Preis des Grundstückes und lassen Sie ihn auf dem Bildschirm ausgeben.

Beim Preis sollen Sie auch Nachkommastellen berücksichtigt werden. Für die Länge und Breite reicht es aus, wenn ganze Meter verarbeitet werden. Hier müssen Sie also keine Nachkommastellen berücksichtigen."

Nun habe ich da schonmal was geschrieben:



#include <iostream>

using namespace std;

int main()

{

int Laenge;
int Breite;
double PreisProQuadratmeter;

Laenge = 50;
Breite = 40;
PreisProQuadratmeter = 50.5;

cout << "Laenge = \t\t" << Laenge << endl;
cout << "Breite = \t\t" << Breite << endl;
cout << "PreisProQuadratmeter = \t" << PreisProQuadratmeter << endl;


// Berechnung für den Preis des Grundstückes


cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << Laenge Breite PreisProQuadratmeter << endl;

return 0;

}


Das Problem ist , das er mir bei der letzten COUT zeile mit der Grundstückspreisberechnung Codeblocks immer nen fehler bringt, aber ich weis warum. möchte ja nur, das er die 3 werte zusammenrechnet und dann ausgibt.


Kennt auch jemand vll ein gutes Informatiker forum. Habe mal

Informatik Forum: Hardware - Software - Datenrettung

getestet, aber nach 5 tagen wurde mein Beitrag immer noch nicht freigeschaltet.


Bitte um hilfe
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Also wenn ich mich recht erinner, ist schon etwa her:

Würde die Rechnung erstmal einzeln auflösung und für das ergebnis ne eigene double variable erstellen also oben noch rein

double preis;

Rechnung sähe dann wie folgt aus:

preis = Laenge*Breite*PreisProQuadratmeter

Zudem musst du aber da bin ich mir nicht sicher die integer in double verwandeln was meine ich einfach durch double(Laenge) ging.

Könnte also so lauten:

preis = double(Laenge) * double(Breite) * PreisProQuadratmeter

kann auch sein das du das in ner einzelzeile vorher machen musst oder garnicht. meine mich aber zu erinnern das es probleme gibt wenn man integer mit double variablen multiplizieren will.

Die ausgabe sähe dann wie folgt aus:

cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << preis << endl;


Zu der aufgabe an sich. Kann es sein das ihr die werte für die länge und breite über die console als eingabe realisieren sollt ? So wie du es machst ist es ja nur halb richtig da er ja im prinzip nicht einliest ;)
 
Zuletzt bearbeitet:
Nun komme ich völlig aus dem konzept, da ich ja in sowas noch ein reiner noob bin^^

Verstehe einfach nicht was daran falsch ist?

cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << Laenge Breite PreisProQuadratmeter << endl;
 
Du hast ihm keine anweisung gegeben wesewegen er evtl auch den error spuckt.

Die Zeile bedeutet so viel wie:

Gib aus << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << 50 40 50.5 << Ende der Zeile.

Er weiß also garnicht was er mit den variablen anstellen soll. Das mindeste was du machen musst ist immernoch ne multiplikation einzufügen also:


"cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << Laenge*Breite*PreisProQuadratmeter << endl; "

Dadurch ist es aber immernoch nicht meiner meinung nach schön gelöst weshalb ich die Rechnung auslagern würde wie ich schon schrieb. Hinzu kommt das in diesem fall die genauigkeit in der gerechnet wird wenn ich mich recht erinner nur die eines integers entspricht also ohne nachkommastelle. Ich würde es daher versuchen wie folg umzusetzen.

Code:
#include <iostream>

using namespace std;

int main()

{

int Laenge;
int Breite;
double PreisProQuadratmeter;
double preis;

Laenge = 50;
Breite = 40;
PreisProQuadratmeter = 50.5;

cout << "Laenge = " << Laenge << endl;
cout << "Breite = " << Breite << endl;
cout << "Preis pro Quadratmeter = " << PreisProQuadratmeter << endl;


// Berechnung für den Preis des Grundstückes

preis = double(Laenge) * double(Breite) * PreisProQuadratmeter


cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << preis << endl;

return 0;

}

Die tabs die oben eingefügt hast würde ich auch weglassen da sie in der ausgabe echt doof aussehen ;)

die double(Laenge) habe ich nur eingefügt um sicherzugehen das die rechnung auch mit nachkommestellen ausgeführt wird. es konvertiert sozusagen die integer variable temporär in eine double. Kannst auspriobieren ob es auch ohne geht aber ich meine das die rechnung sonst ungenau wird.
alternativ wenn du keine genaueren vorgaben hast kannst du die Laenge und Breite auch von anfang an als double klassifizieren wodurch du dir das am ende sparst.
 
Zuletzt bearbeitet:
#include <iostream>

using namespace std;

int main()

{

int Laenge;
int Breite;
double PreisProQuadratmeter;
double preis;

Laenge = 50;
Breite = 40;
PreisProQuadratmeter = 50.5;

cout << "Laenge = " << Laenge << endl;
cout << "Breite = " << Breite << endl;
cout << "PreisProQuadratmeter = " << PreisProQuadratmeter << endl;


// Berechnung für den Preis des Grundstückes

preis = double(Laenge) * double(Breite) * PreisProQuadratmeter

cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << preis << endl;


return 0;

}


Selbst wenn ich es genauso, drag an drop mache, immer noch probleme, sagt immer noch 1 error, verstehe aber jetzt genau was du meinst und warum es oben falsch war.


Mit:
preis = double(Laenge) * double(Breite) * PreisProQuadratmeter

berechnest ja den preis, das ist ja richtig und verstehe ich auch, doch die ausgabe unten kann man die nicht so irgendwie schreiben?

cout << "preis = " << endl;

---------- Post added at 16:55 ---------- Previous post was at 16:51 ----------

habs nun folglich geschrieben^^

/* ###########################
Einsendeaufgabe 3
########################### */


#include <iostream>

using namespace std;

int main()

{

int Laenge;
int Breite;
double PreisProQuadratmeter;
double preis;

Laenge = 25;
Breite = 100;
PreisProQuadratmeter = 78,4;

cout << "Laenge = " << Laenge << endl;
cout << "Breite = " << Breite << endl;
cout << "PreisProQuadratmeter = " << PreisProQuadratmeter << endl;


// Berechnung für den Preis des Grundstückes

cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << Laenge*Breite*PreisProQuadratmeter << endl;


return 0;

}




Und da es funktioniert und ich eigentlich ja die aufgabenstellung damit gelöst habe ist alles top



aber danke dir dennoch für deine Hilfe, saß echt std davor und wusste einfach ned warum er das ned multiplizieren will
 
Merke aber gerade das er mir im CMD fenster die Preis pro Quadratmeter nicht als Kommazahl anzeigt. obwohl es doch mit double definiert ist?

cmd.JPG
 
Du hast nen , anstatt nem Punkt benutzt ;)

PreisProQuadratmeter = 78,4;

Wegen deiner Frage in bezug auf : cout << "preis = " << endl;

Wie meinst du das genau ?
Guck mal ob du ohne die integer in eine double umzuwandeln beim endergebnis auch das passende rauskriegst. Kann wie ich sagte sein das er sozusagen auf den integer rundet da er den kleinsten gemeinsamen nenner der rechnung nimmt ;) damit würden alle nachkommastellen wegfallen.

Den error hat er übrigens gespuckt weil ich bei meiner rechnung das simikolon hinten hinter vergessen hatte ;) also hinter meine rechnung ein ; dann müsste es klappen.
 
Zuletzt bearbeitet:
Ja gibt soviel zu beachten bei dem und da ich das als Fernstudium mache, ist eben immer das Problem das sehr viel Praxis fehlt. Es steht soviel Text in meinem Lernheft, aber selbst 20 mal durchlesen ohne wirklich es zu verstehen bringt eben nix


Diese Zeile ist ja dafür da, das das Programm den Preis ausrechnet:

preis = double(Laenge) * double(Breite) * PreisProQuadratmeter

Nun möchte ich, das er in der nächsten zeile dann das Ergebniss irgendwie mit dem Text "Preis" oder "Komplettpreis" ausgibt.
 
Code:
.
.
.
// Berechnung für den Preis des Grundstückes

preis = double(Laenge) * double(Breite) * PreisProQuadratmeter; 

cout << "Preis des Grundstueckes: Laenge * Breite * PreisProQuadratmeter = " << preis << endl;   || Hier gibt er als ausgabe: Preis des Grundsteuckes: Laenge * Breite * PreisProQuadratmeter = (Das ergebnis der Rechnung) aus

cout << "Gesamtpreis = " << preis << endl; || wäre dann folglich die ausgabe des Preises einzeln. Alles was bei cout in "" steht ist eine Textausgabe und wird so wie es da steht ausgegeben. Dinge wie Variablen die du ausgeben möchtest als z.b. preis musst du ohne "" schreiben ;)


.
.
.
.
.

Ich hab dir mal ne PN gesendet mit nem Link zu unserer Dropbox vom Studiengang. Hatte C++ iwann mal im ersten semester ;) Da findest du eigentlich alles was du brauchst mit übungen und klausuren und so weiter.

Wenn du mit eingaben arbeiten sollst also cin geht das genauso nur anders herum ;)

also z.b.

cout << "Wie Lang ist das Grundstueck: " << ;
cin >> preis ;
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh