Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Fehler im Programm! in C
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Fehler im Programm! in C
 
Autor Nachricht
kj007
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 02.05.2010
Beiträge: 1

BeitragVerfasst am: 02 Mai 2010 - 14:14:26    Titel: Fehler im Programm! in C

Hallölle,
mein Programm hat ein Fehler und ich finde ihn einfach nicht:
Übersprogramm:
Es so zur Berechnung eines Versicherungsbeitrages sein. Der Beitrag 0,80€/m² betragen und ab 2 Jahren bekommt man 10% Rabatt und nach 5 Jahren 20%.

So mein Programm sieht wiefolgt aus: (in C geschrieben)

#include <stdio.h>

int main() {

int m, versicherungsrate, versicherungsjahr, versicherungsbeitrag, j;

versicherungsrate=0.8;

versicherungsjahr=1;

versicherungsbeitrag=0;

printf("Bitte geben Sie die Groesse der Wohnung an:");

scanf("%d",&m);

printf("Bitte geben sie die Anzahl der Versicherungsjahre ein:");

scanf("%d", &j);


while(versicherungsjahr<=j){

if (versicherungsjahr<=2){

if(versicherungsjahr<=5) {

versicherungsrate*m*20/100==versicherungsbeitrag;

}

else {

versicherungsbeitrag==versicherungsrate*m*10/100;

}

}

else {

versicherungsbeitrag==versicherungsrate*m;

}

printf("Jahr");

printf("%d", versicherungsjahr);

printf(":");

printf("%d", versicherungsbeitrag);

printf("€\n");

versicherungsjahr==versicherungsjahr+1;

}

return 0;

}

Bei der Ausgabe gibt er nir ständig jahr1=0€ an. Ich weiß nicht ob es an der Schleife liegt oder woran...
Bitte bitte ich brauch ganz dringend Hilfe.

LG von der Ostsee
Kitti
IjonTichy
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 06.06.2009
Beiträge: 86

BeitragVerfasst am: 02 Mai 2010 - 18:10:02    Titel:

Dein Compiler gibt dir (hoffentlich) verschiedene Warnings aus, die du dann auch beachten solltest.

Code:
int versicherungsrate;
versicherungsrate=0.8;

Findest du das irgendwie sinnvoll ?

Code:
versicherungsbeitrag==versicherungsrate*m*10/100;

Den Unterschied zwischen "=" und "==" solltest du auch nochmal nachschlagen.
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 02 Mai 2010 - 21:00:07    Titel:

Noch'ne kleine Info: Wenn du in C und vielen anderen Sprachen zwei Integer-Werte einfach per "/" dividierst, dann meint der Compiler, dass das Ergebnis wohl auch ein Integer sein soll. Daher gibt dir "10/100" einfach immer 0 aus. Um das zu umgehen könntest du zum Beispiel einfach "10/100.0" schreiben.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Fehler im Programm! in C
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum