float wird nicht angezeigt[GELÖST]
-
Hallo erst mal
ich bin gerade am lernen von c/c++ und habe folgendes problem dass mir die float nicht akzptiert werden ich habe es auch schon mit double probiert was aber nicht funktioniert.
#include <stdio.h> #include <iostream> using namespace std; void main () { float laenge=312.5789; float breite=5.6; printf("\nLaenge%f\t cm\nBreite%f cm", laenge, breite); system("pause"); }folgende Fehler
Warnung 2 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'float' c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 7
Warnung 4 warning C4305: 'Initialisierung': Verkürzung von 'double' in 'float' c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 8
Fehler 1 error C2371: 'laenge': Neudefinition; unterschiedliche Basistypen c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 7
Fehler 3 error C2371: 'breite': Neudefinition; unterschiedliche Basistypen c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 8in qoogle wird dieser fehelr zwar of angezeigt leider sind die Beispiele für mich unverständlich da ich noch ein blutiger Anfänger binn
bitte helft mir

-
Die Literale sind nunmal doubles und dein Compiler scheint das nicht zu akzeptieren. Unter VS05 kriege ich zwar Warnings, kann es aber kompilieren. Probier also mal ein 'f' hinter den Zahlen:
#include <stdio.h> #include <iostream> using namespace std; void main () { float laenge=312.5789f; // <-- hier float breite=5.6f; // <-- und hier printf("\nLaenge%f\t cm\nBreite%f cm", laenge, breite); system("pause"); }
-
Das ist zwar schrecklich, aber das ist nicht 1:1 der Code der die Fehler erzeugt.
Und Entscheide dich, es gibt kein C/C++, nur C und C++. Beides zu mischen kommt nicht gut.
-
hat nicht funktioniert nur das warning kam weg und ein anderer fehler:
Fehler 1 error C2371: 'laenge': Neudefinition; unterschiedliche Basistypen c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 48
-
Dann solltest du uns den Code auch bis Zeile 48 auftischen.
-
falsch geschrieben:
Ich habe das andere schon auskommentiert zu einfacheren Lesbarkeit habe ich das so ins forum reinkopiert.
So ist es richtig:
Fehler 1 error C2371: 'laenge': Neudefinition; unterschiedliche Basistypen c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 7
Fehler 2 error C2371: 'breite': Neudefinition; unterschiedliche Basistypen c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 8Bonzy schrieb:
Dann solltest du uns den Code auch bis Zeile 7 auftischen.
-
Macht trotzdem wenig Sinn, immerhin hast du keine 2 Definitionen und kompilieren sowie laufen tuts bei mir. Was für einen Compiler benutzt du (auch wenn ich nicht wirklich glauben kann, dass es daran liegt)?
-
ich arbeite mit Microsoft Visual Studio 2010
hab noch was dazugeschrieben ob das was mit dem vorherigen fehler zu tun hat
char c = 'y'; printf("\nMit welchen Buchstaben fäng ihr Nachname an?"); c = getchar(); printf("\nIch weis das ihr Nachname mit '%c' anfängt", c);und hab volgenden Fehler bekommen
Fehler 1 error C2371: 'c': Neudefinition; unterschiedliche Basistypen
c:\dokumente und einstellungen\florian\eigene dateien\visual studio 2010\projects\test\test\main.cpp 1
-
Beide Code-Schnipsel sind mit VS10 getestet und laufen. Ist es möglich, dein komplettes Projekt oder ein Beispielprojekt mit dem gleichen Fehler hochzuladen? Der Fehler muss irgendwo anders vergraben sein.
PS: Es heißt: "Mit welchem Buchstaben fängt ihr Nachname an?" und "Ich weiß, dass ihr Nachname mit '%c' anfängt"
-
bitteschön
#include <stdio.h> #include <iostream> using namespace std; void main () { int a = 0; int b = 9; int c = 22; int d = 2; b = b--; cout << "b--: "<< b << endl; b = 9; b = --b; cout << "--b: "<< b << endl; b = 9; b = --b; d = d++; a = --b + d++; cout << "a: "<< a << endl; cout << "b: "<< b << endl; cout << "d: "<< d << endl; //printf################################################## printf("\nZeile\tdie erste"); printf("\nZeile\tdie zweite"); printf("\nZeile\tdie dritte"); printf("\nEnde\n"); char alphabetEnde = 'X'; printf("\ndas Alphabet endet mit: %c\n", alphabetEnde); int laenge = 3241; int breite = 50; printf("\nLaenge%d\t cm\nBreite%d cm", laenge, breite); printf("\nLaenge%10d\t cm\nBreite%10d cm", laenge, breite); float laenge=312.5789f; float breite=5.6f; printf("\nLaenge%f\t cm\nBreite%f cm", laenge, breite); int tag = 27, mon = 9, jahr = 2011; printf("\ndas Datum ist: %03d.%03d.%05d", tag, mon, jahr); //#################################################################### //einlesen char c = 'y'; printf("\nMit welchem Buchstaben fängt ihr Nachname an?"); c = getchar(); printf("\nIch weiß das ihr Nachname mit '%c' anfängt", c); //-############################################################# printf("\n "); system("pause"); }dankeschön
-
Ich hab mir schon sowas gedacht und dennoch war ich überrascht, als ich Zeile 40/41 sah... Die Fehlermeldung sollte jetzt auch komplett klar sein. Und fürs nächste mal solltest du es besser lassen, Stellen auszukommentieren und die Zeilennummern anzupassen. Es verwirrt nur und verschleiert wie hier womöglich die Fehlerquelle.
-
z40: int laenge...
z47: float laenge...du versuchst hier 2x die Variable "laenge" mit unterschiedlichen typen anzulegen. das ist (zum glueck) nicht erlaubt.
gruss
dirk
-
Vielen Dank und das war wirklich ein blöder Fehler
Dieses Forum ist ech ein Geschenk und die netten leute auch