C programmieren?

... and all the rest ...

Moderator: Moderatoren

Antworten
Nachricht
Autor
Benutzeravatar
Janaldo
Tauberplanscher
Tauberplanscher
Beiträge: 2446
Registriert: Montag 6. März 2006, 18:11
Wohnort: Würzburg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 65 Mal

C programmieren?

#1 Beitrag von Janaldo »

Hey,
gibts hier zufällig jemand der sich ein bisschen mit C Programmierung auskennt?

Ich soll einen Benzinkostenrechner programmieren (Verbrauch, Kosten/Liter und Strecke eingeben -> Kosten ausgeben).
Eigentlich ja nicht allzu schwer, aber mein Programm liegt immer um ca. Faktor 1000 daneben :?
Ich vermute das hat irgendwas mit dem "double" zu tun, wenn ich für alles Integer nehm klappts...

Code: Alles auswählen

#include <stdio.h>

int main(void)

{
    double verbrauch;
    int strecke;
    double preis;
    double kosten;

    printf("Benzinkostenrechner");
    printf("\n\nGeben Sie bitte den Benzinverbrauch Ihres Autos in Liter/100km ein:\n");
    scanf("%lf",&verbrauch);
    printf("\nGeben Sie bitte den Preis pro Liter Benzin ein:\n");
    scanf("%lf",&preis);
    printf("\nGeben Sie bitte die gefahrene Stecke in km ein:\n");
    scanf("%i",&strecke);

    kosten = 0.01 * verbrauch * strecke * preis;

    printf("\n\nDie Kosten betragen %.2lf Euro.",kosten);

    return 0;
}

Benutzeravatar
Janaldo
Tauberplanscher
Tauberplanscher
Beiträge: 2446
Registriert: Montag 6. März 2006, 18:11
Wohnort: Würzburg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 65 Mal

Re: C programmieren?

#2 Beitrag von Janaldo »

Niemand?

Ich hab das Problem inzwischen weiter eingegrenzt:

Code: Alles auswählen

#include <stdio.h>
int main (void)
{
	float x;
	scanf("%f",&x);
	printf("%f",x);
	return 0;
}
Gibt mir, wenn ich zB 5 eingebe nicht wieder 5 aus, sondern 0,5.
Ich glaub langsam da ist irgendwas im Compiler kaputt...

Benutzeravatar
Dash
Moderator
Moderator
Beiträge: 14565
Registriert: Donnerstag 19. Januar 2006, 15:32
Wohnort: Bangla Dash
Hat sich bedankt: 897 Mal
Danksagung erhalten: 441 Mal
Kontaktdaten:

Re: C programmieren?

#3 Beitrag von Dash »

Keine Ahnung , kann kein C.
Aber ich kann , wenn du willst, am Montag mal einen Kollegen fragen?!
Where's your anger? Where's your fucking rage?
(BoySetsFire || After The Eulogy)
-> www.derdash.de <-

Benutzeravatar
Janaldo
Tauberplanscher
Tauberplanscher
Beiträge: 2446
Registriert: Montag 6. März 2006, 18:11
Wohnort: Würzburg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 65 Mal

Re: C programmieren?

#4 Beitrag von Janaldo »

Oh ja, das wär nett!

oliver.keck
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: C programmieren?

#5 Beitrag von oliver.keck »

Habs gerad mal getestet sowohl mit gcc und g++ funktioniert bei beiden Compilern. Ich gebe 5 ein und es wird 5.00000 angezeigt. Welchen Kompiler verwendest du? Ich glaube ich hatte das Problem kürzlich auch mal mit MS VC Kompiler.
Ich würde dir auch dringend empfehlen deine Variablen zu initialisieren als nicht nur

float x;

sondern

float x = 0;

dies ist wichtig da zum einen dein Kompiler nicht zwingend sicherstellt das ein variable auf 0 initialisiert wird und zum anderen gerade der VC Kompiler eine zuweisung einer float variable braucht um ggf. librarys zu laden.
Wenn das alles nix Hilft würd ich mal googeln speziell auf deinen Kompiler bezogen, denn wenn es wirklich ein Kompiler (oder eher Library) Problem ist müsste es sicherlich auch noch bei anderen leuten auftreten.

Gruß
Olli

Benutzeravatar
Dash
Moderator
Moderator
Beiträge: 14565
Registriert: Donnerstag 19. Januar 2006, 15:32
Wohnort: Bangla Dash
Hat sich bedankt: 897 Mal
Danksagung erhalten: 441 Mal
Kontaktdaten:

Re: C programmieren?

#6 Beitrag von Dash »

Dash hat geschrieben:Aber ich kann , wenn du willst, am Montag mal einen Kollegen fragen?!
Hey, Olli, super, hast dich ja gleich selbst hier angemeldet.
@Janaldo: hilft dir das weiter?
Where's your anger? Where's your fucking rage?
(BoySetsFire || After The Eulogy)
-> www.derdash.de <-

Benutzeravatar
Janaldo
Tauberplanscher
Tauberplanscher
Beiträge: 2446
Registriert: Montag 6. März 2006, 18:11
Wohnort: Würzburg
Hat sich bedankt: 16 Mal
Danksagung erhalten: 65 Mal

Re: C programmieren?

#7 Beitrag von Janaldo »

Danke für die Antwort!
Ich hab den LCC. Bei nem Kommilitonen tritt genau das gleiche Problem auf... ich werds in der nächsten Vorlesung mal ansprechen. Aber schonmal gut zu wissen, dass mein Code passt.

Könnte es ne Rolle spielen, dass der Compiler über VMware läuft?
oliver.keck hat geschrieben:Ich würde dir auch dringend empfehlen deine Variablen zu initialisieren als nicht nur

float x;

sondern

float x = 0;
Stimmt, das hat der Prof auch gesagt. Aber zumindest hier änderts nichts.

oliver.keck
Hat sich bedankt: 0
Danksagung erhalten: 0

Re: C programmieren?

#8 Beitrag von oliver.keck »

Also VMware kann rein technisch gesehen keinen einfluss darauf haben, da
Code wie dieser von der eigentlichen Virtualisierung nur inderekt betroffen ist (Ein/Ausgabe).
Angesichts des doch eher exotischen Compilers würd ich aber auch mal darauf tippen,
dass es an der mitgelieferten STDIO library liegt.
Als alternative empfielt sich da dann natürlich die Windows variante des gcc (oder mingw)
oder gleich das kostenlose Visual C++ Express. Wobei ersterer auch noch eher zu den exoton gehört.

So dann ... Happy Coding

Antworten

Zurück zu „O f f - T o p i c“