Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Verständnisproblem

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 12. Dez 2003 23:27   Titel: Verständnisproblem

Hallo,

was heißt gleichzeitig und warum dann so...?

1.

code:

if(x)
...
else if(y)
...



ODER

2.

code:

if(x)
...
else if(y)
...



Meine Interpretation:
zu 1.
wenn (x) dann...
(oder) wenn (y) dann...

zu 2.
wenn (x) und wenn (y) dann...
oder wenn...

2 ist für mich gleichzeitig, aber so stimmt es nicht.
Wo ist mein Gedankenfehler?

bis bald
Andreas
 
Benutzer-Profile anzeigen Private Nachricht senden

chrizel
Gast





BeitragVerfasst am: 13. Dez 2003 19:36   Titel: Re: Verständnisproblem

1) 1. und 2. ist der identische Code. Worauf willst du hinaus?
2) Stelle mal deine Fragen konkreter, denn so versteht das keiner.

code:

if(x)
...
else if(y)
...



Bedeuted:
Wenn x, dann ... - sonst wenn y, dann ...

Kann man so lesen wie es dasteht. Wenn x zutrifft wird y nicht mehr ausgeführt, denn es heisst ja "else if" (also "sonst wenn").

Vielleicht solltest du erst mal mit was leichterem anfangen als C?
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 13. Dez 2003 21:42   Titel: Re: Verständnisproblem

Schreiben Sie ein Programm, das eine 4-stellige Jahreszahl übergeben bekommt und bestimmt, ob es sich um ein Schaltjahr handelt.
Ein Schaltjahr liegt dann vor, wenn die Jahreszahl durch 4 teilbar ist, aber nur dann, wenn sie nicht gleichzeitig durch 100 geteilt werden kann. Ist die Jahreszahl hingegen durch 400 teilbar, so liegt ein Schaltjahr vor.

code:

/* MEINE LOESUNG */

#include<stdio.h>
#include<stdlib.h>

int main()
{
int jahr;
printf("4-stellige Zahl eingeben: ");
scanf("%4d", &jahr);

if(jahr%4==0)
{
if(jahr%100==0)
printf("Kein Schaltjahr
");

else if(jahr%400==0)
printf("Schaltjahr
");

else
printf("Kein Schaltjahr
");
}
else
printf("Kein Schaltjar
");

exit(0);
}

/* MUSTERLOESUNG */

void int()
{
int y, hi;

printf("Jahreszahl eingeben:
");
scanf("%d", &y);

if(y%4)
hi = 0;

else if(y%100)
hi = 1;

else if(y%400)
hi = 0;

else
hi = 1;

if(hi)
printf("Schaltjahr
");
else
printf("Kein Schaltjahr
");

exit(0);
}

 
Benutzer-Profile anzeigen Private Nachricht senden

Udo M.
Gast





BeitragVerfasst am: 14. Dez 2003 0:07   Titel: Re: Verständnisproblem

"gleichzeitig" ist (umgangs)sprachlicher Unfug, richtig ist ein boolsches UND: &&;
Gegen Fehlinterpretation bei der Assoziativität der Operatoren helfen Klammern! Der Code ist auch leichter lesbar.
 

uljanow
Gast





BeitragVerfasst am: 16. Dez 2003 22:29   Titel: Re: Verständnisproblem

deine lösung ist korrekt, sie ist im prinzip identisch mit der musterlösung. wenn du deine gleichheitszeichen zu "ungleich" machst und den code entsprechend "umdrehst", hast du den gleichen ablauf. (ich würde trotzdem die == lassen, es ist anschaulicher).
 

logo



Anmeldungsdatum: 06.03.2003
Beiträge: 20

BeitragVerfasst am: 16. Dez 2003 23:22   Titel: Re: Verständnisproblem

Danke.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy