WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   schaltjahr oder nicht-schaltjahr? (http://www.wcm.at/forum/showthread.php?t=52789)

suka 10.04.2002 19:38

schaltjahr oder nicht-schaltjahr?
 
hi,

da man bei uns in der schule nix lernt (lehrer is kagge) hab ich jetzt mal angefangen mir c++ selber beizubringen..
und zwar versuch ich grad ein programm zu schreiben, bei dem man zwei daten eingibt, und das prog berechnet die anzahl der tage die zwischen den zwei daten liegen.

jetzt muss ich nur noch wissen wie ich dem programm beibringe die schaltjahre zu berücksichtigen...

bisher schauts so aus:
Code:

case 02:
  if (schaltjahr)
    max_tage = 28
  else
    max_tage = 29

was muss ich statt "schaltjahr" reinschreiben?

thx, suka

irrsinn 10.04.2002 20:05

sollt funktionieren.

bool istSchaltjahr(int jahr)
{
bool schaltjahr=false;
if(jahr%4==0)
{
schaltjahr=true;
if(jahr%100==0)
{
schaltjahr=false;
if(jahr%400==0)
{
schaltjahr=true;
};
};
};
return schaltjahr;
}

irrsinn 10.04.2002 20:09

hab noch eine elegantere version gefunden

bool istSchaltjahr(int jahr)
{
if(jahr%400==0) return true;
if(jahr%100==0) return false;
if(jahr% 4==0) return true;
return false;
};

flocky 10.04.2002 20:26

² irrsinn

ich möchte diesen thread missbrauchen um dich was zu fragen (sei mir nicht böse suka)
ich möchte den user des programms einen pfad mit dateinamen und dateierweiterung eingeben lassen und das programm erstellt in diesem pfad eine datei mit angegebenen namen und angegebener dateierweiterung, bei mir schauts so aus:

printf("Geben Sie Pfad und Dateinamen an: ");
scanf("%d",& path);
konto=fopen(path,"w"); //"konto" is der filepointer

die ganze sache funzt nur leider nicht... er erstellt mir im verzeichnis der exe, die das programm is eine datei, die path heißt... ohne dateierweiterung !
angeblich sollts so funzen, nur tuts halt nicht...

PS: das programm is nur vorläufig noch im CL-interface ;)

PS2: wo find ichn ein bissal infos über boolsche operatoren?

irrsinn 10.04.2002 20:37

werd mir schnell ein derartiges programm
schreiben. kann dir allerdings nichts
garantieren, weil ich mit linux unterwegs
bin. trau mir über das andere betriebssystem
nichts genaues sagen.

in fehler ist mir allerdings sofort aufgefallen.
vielleicht ists aber auch nur ein tippfehler von dir:

wenn du einen string einlesen willst, muss es

scanf("%s" &irgendwas);

heißen. außerdem solltest du file streams immer
mit fclose(stream) schließen.

flocky 10.04.2002 20:54

das ich die file schließe is klar, hab ich da nur nicht hingeschrieben, fehlt ja sonst noch ne menge, oder ? ;)
ich habs bewusst als integer eingelesen, sollt/muss ich nen string verwenden?

hast du ICQ/MSN?

ICQ: 121 65 35 39
MSN: redspitfireflame@hotmail.com

wäre dir sehr verbunden :)

Gubi 10.04.2002 21:09

Kann Dir leider nicht helfen. Bin aber 29.2.1960 geboren

irrsinn 10.04.2002 21:11

einen string als zahl einzulesen hat meiner meinung nach nicht viel sinn. möglicherweise gibts aber auch so ein verfahren. bin ja nicht allwissend.

was verwendest du sonst für bibliotheken? und vor allem welches betriebssystem?

such einfach nach einem howto. müssts im internet genug geben. konkretes zum thema boolesche operatoren fallt mir auf die schnelle nicht ein.

flocky 10.04.2002 21:16

Zitat:

Original geschrieben von irrsinn
einen string als zahl einzulesen hat meiner meinung nach nicht viel sinn.
du meisnt wohl eine zahl als string einlesen oda ?? ;)

ich verwende standardbibliotheken...
stdio.h, conio.h, sting.h, für diese spielereien auch windows.h usw.

noch was... könntest du mir sagen, welche returnwerte die buttons ok, cancel, yes, no, ignore usw. haben? wenn ich eine messangebox verwende, die niemandem eine fehlermeldung vormachen soll, dann bräucht ich das schon ;)
habs mal mit den returnwerten probiert, die in der MSDN-library unter msgbox stehen, gehen aber nicht !

irrsinn 10.04.2002 21:20

kurze klarstellung: wenn du einen dateinamen mit pfad und dateierweiterung einlessen willst, ist das mit sicherheit keine zahl sondern ein string. also unter c, wenn du so willst ein feld mit unsigned shorts. unter c++ gibts in der mfc die klasse cstring. is im großen und ganzen auch bequem zu verwenden.

zu den return werten weiß ich nur, dass die in der mfc angegebenen stimmen. hab ich in der arbeit schon öfters verwendet. du musst allerdings aufpassen, dass du die richtigen returns zur richtigen dialogbox verwendest. meines wissens nach gibts davon mehrere in der mfc.


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag