Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

Problem bei C-Programm
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> Problem bei C-Programm
 
Autor Nachricht
Thrasher
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 11.10.2009
Beiträge: 1

BeitragVerfasst am: 11 Okt 2009 - 21:41:48    Titel: Problem bei C-Programm

Hi Leute,

ich bin in Sachen Programmieren ein Anfänger.
Ich habe ein C-Programm geschrieben, was nicht funktioniert.
Es funktioniert deshalb nicht, weil es total falsche Ergebnise liefert.

Aufgabe des Programms:
Es soll die Tage zwischen Christi Geburt und dem zu eingebenden Geburtstag zählen, allerdings muss irgendwas falsch sein. Dev C/C++ hat kein Fehler gemeldet.
Ich möchte nur Fehleranalyse und nicht, dass man mir sagt, was ich besser oder einfacher machen könnte.

Das Programm:
Code:

#include <stdio.h>

lebenstage()
{
            int geburtstag, geburtsmonat, geburtsjahr, tagheute, monatheute, jahrheute, summe1, summe2;
            int januar, februar, maerz, april, mai, juni, juli, august, september, oktober, november, dezember, x, y;
            januar=31; februar=28; maerz=31; april=30; mai=31; juni=30; juli=31; august=31; september=30; oktober=31; november=30; dezember=31;
            printf("\t\t Wie viele Tage lebst du schon?");
            printf("\n\n D e i n  G e b u r t s t a g:");
           
            printf("\n\n Tag: ");
            scanf("%i",&geburtstag);
            if (!(geburtstag <= 31 && geburtstag>=1))
               printf("\n\n Falsche Eingabe!");
            else           
            summe1=geburtstag;   
                     
            printf("\n Monat: ");
            scanf("%i",&geburtsmonat);
            switch (geburtsmonat) {
                   case 1:
                        summe1=summe1;
                   case 2:
                        summe1=summe1+januar;
                   case 3:
                        summe1=summe1+januar+februar;
                   case 4:
                        summe1=summe1+januar+februar+maerz;
                   case 5:
                        summe1=summe1+januar+februar+maerz+april;
                   case 6:
                        summe1=summe1+januar+februar+maerz+april+mai;
                   case 7:
                        summe1=summe1+januar+februar+maerz+april+mai+juni;
                   case 8:
                        summe1=summe1+januar+februar+maerz+april+mai+juni+juli;
                   case 9:
                        summe1=summe1+januar+februar+maerz+april+mai+juni+juli+august;
                   case 10:
                        summe1=summe1+januar+februar+maerz+april+mai+juni+juli+august+september;
                   case 11:
                        summe1=summe1+januar+februar+maerz+april+mai+juni+juli+august+september+oktober;
                   case 12:
                        summe1=summe1+januar+februar+maerz+april+mai+juni+juli+august+september+oktober+november;
                   default:
                           printf("\n Falsche Eingabe!");
                           }
            printf("\n Jahr: ");
            scanf("%i",&geburtsjahr);
            x=geburtsjahr*365;
            y=geburtsjahr/4;
            summe1=summe1+x+y;
            printf("\n\n die Zeitspanne von Christigeburt bis zu deiner: %i Tage",summe1);
            getch("");
}

main() {
       lebenstage();
       }

Ich glaube, er hält nicht das case ein, aber warum nicht?

//Edit: Sorry, hat sich aber erledigt, habe das "break;" am ende von jedem case vergessen.


Zuletzt bearbeitet von Thrasher am 11 Okt 2009 - 22:14:47, insgesamt einmal bearbeitet
Smutje
Senior Member
Benutzer-Profile anzeigen
Senior Member


Anmeldungsdatum: 18.07.2008
Beiträge: 3004
Wohnort: Gießen

BeitragVerfasst am: 11 Okt 2009 - 22:13:25    Titel:

Jeder "case"-Strang muss mit einem break beendet werden, sonst fällt das Programm in den nächste case-Strang hinein.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> Problem bei C-Programm
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