Änfanger braucht Hilfe: Kommastellen
-
Hallo
wir müssen ein Programm schreiben das nach eingabe von 25.3333kg (zb)
die ausgabe 25 kilo und 3333gramm ausgeben soll! aber ohne string! geht das?#include <iostream.h>
#include <conio.h>
#include <iomanip.h>float Gesamt, Kilo, Gramm;
//---------------------------------------------------------------------------
int main(int argc, char **argv)
{
clrscr ();cout<<"Bitte geben Sie ein Gewicht ein:";
cin>>Gesamt;
cout<<endl;
RECHNUNG!!!!!!
Kilo=????
Gramm=????
cout<<setiosflags (ios::showpoint);
cout<<"Ihr Gewicht betraegt " <<Kilo<< " Kilo und "<<Gramm<< "Gramm" ;getch ();
}
-
Das geht einfach mit Typkonversion.
double a;
cin>>a;
cout<<int(a); //ganze Kilos
.....uswDen Rest kanns du dir vorstellen wie das weitergeht.
-
mhhh wenn ich ehrlich bin ist es ja das Problem das ich nicht weiss wie es weitergeht *schäm*
-
Um es nochmal deutlich zu sagen:
Wenn du eine gebrochene Zahl nach int konvertierst, hast du den nach Ganzzahligen Wert darin stehen.float Masse; int Kilo; float Rest; Masse = 13.54f; Kilo = (int)Masse; //Nun ist der Wert von Kilo 13
-
Also so?????
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>float Masse;
int Kilo;
float Rest;//---------------------------------------------------------------------------
void main (void)
{
clrscr ();cout<<"Bitte geben Sie ein Gewicht ein:";
cin>>Masse;
cout<<endl;
cout<<setiosflags (ios::showpoint);
Masse = 13.54f;
Kilo = (int)Masse;
cout<<"Ihr Gewicht betraegt " <<Kilo<< "und "<<Rest<<" Gramm.";getch ();
}ging bei mir nicht dann meinte er immer 13 kilo und 0,000 gramm :-(((((((((((
ich glaube ich wede es nie verstehen
-
Was erwartest du denn von "Rest", wenn du nirgends einen Wert zuweist.
mfg JJ
-
naja das Problem war ja auch wenn ich jetzt zb 25 eingegeben habe zeigt er mir immer 13 kilo an und das soll er ja nicht! sorry leute will euch nicht belasten!
-
Wenn du nicht immer 13 haben willst solltest du auch nicht immer 13 zuweisen.
[cpp]
cin>>Masse;
cout<<endl;
cout<<setiosflags (ios::showpoint);
Masse = 13.54f;
[/cpp]mfg JJ
-
Ja aber wie mache ich das?
-
Vielleicht die Zeile entfernen ?? damit stattdessen die Benutzereingabe erhalten
bleibt.Masse = 13.54f;
Ich glaube einer von uns beiden steht ganz gehörig auf der Leitung. Ich hoffe
(glaube) ich bin es nicht.mfg JJ
-
du liest einfach die Kilo-Zahl ein.... konvertierst dann in int.... nun überleg mal..
Bsp.:float Gewicht = 25,26;
int Kilo = (int)Gewicht; //also die ganzzahl von Gewicht; hier 25
int gramm = (?);wie kommst du wohl nun auf gramm?
ist doch nicht so schwer...
-
na eigentlich so oder???
Kilo = (int)Masse;
Rest = (float)Rest;
-
Also bisher sieht es so aus und spuckt immer wieder null gramm aus!!!!
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>float Masse;
int Kilo;
float Rest;//---------------------------------------------------------------------------
void main (void)
{
clrscr ();cout<<"Bitte geben Sie ein Gewicht ein:";
cin>>Masse;
cout<<endl;
Kilo = (int)Masse;
Rest = (float)Rest;
cout<<"Ihr Gewicht betraegt " <<Kilo<< " und "<<Rest<<" Gramm.";getch ();
}
-
Nach deinem letzten Code-Posting würde ich dir empfehlen vorher auch einen Wert an
Rest zu zuweisen.mfg JJ
-
ich glaube auch, dass du noch nicht verstanden hast, was wir meinen...
Rest = (float)Rest;
ergibt keinen sinn... sorry, wenns hart klingt
ein kleiner Tipp:
der rest ist ja das gewicht ohne die ganzzahl...
-
Hi!
Haben wir doch sehr ausführlich hier beschrieben, was du machen musst. In dem Thread stehen eigentlich schon alle Aufgaben schriftlich. Das Umsetzen sollte eigentlich in weniger als 10 Minuten klappen, wenn du lesen würdest was da steht.:
http://www.c-plusplus.net/forum/viewtopic.php?t=94541Code-Hacker
-
Ihr werdet es nicht glauben doch selbst ich habe es jetzt geschafft!!! Sorry das ich solch eine qual für euch bin aber dafür danke ich euch umso mehr für eure gedult danke!!!!!
-