Anstatt void



  • Ich hab jetzt eine funktionierende Funktion, nur der Monatstageszähler und Monatsszähler funktioniert nicht mehr, wahrscheinlich wegen des void, damit kann man bei RETURN nichts zurückgeben, aber um zurückgeben zu können (es soll ja weitergezählt werden), benötigt man was anderes.

    Was aber? Sagt mir das mal, denn ich möchte noch mehr in Funktionen auslagern.

    #include <iostream>
    using namespace std;
    
    int tz=1; //tageszähler
    int mo=1; //Monatszähler
    int gtz=0; //durchgehender Tageszähler
    int kjz; // Kleiner Jahreszähler (innerhalb Tetraeteris)
    int ajz; //absoluter Jahreszähler durchgehend
    int tez; //Teraeteriszähler
    int Schleifeninhalt(int, int);
    void Print(int); // Printfunktion
    
    int main () 
    
    {
    for (tez=1; tez<8; tez=tez+1) //Tetraeteriszähler (Schaltjahresperioden)
    	{
    	for (int kjz=1; kjz<5; kjz=kjz+1) //zählt die Jahre innerhalb des Tetraeteris
    		{
    			ajz=ajz+1; //zählt die Jahre durchgehend
    			for(int mo=1; mo<13; mo=mo+1) //Monatszählerschleife
    				{
    					if (mo==1||mo==3||mo==5||mo==7||mo==8||mo==10||mo==12) //Tageszählerschleife für 31 Tage MONATE
    						{
    							for(int tz=1; tz<32; tz=tz+1)
    								{
    								gtz=gtz+1;
    								int Tag=Tag+ 1;
    								Print(gtz);
    								}
    								cout<<"MonatSENDE  \n  \n";
    						}
    					else
    						{
    						if (mo==4||mo==6||mo==9||mo==11)
    						{
    							for(int tz=1; tz<31; tz=tz+1)//Tageszählerschleife für 30 Tage MONATE
    								{
    								gtz=gtz+1;
    								int Tag=Tag+1;
    								Print(gtz);
    								}
    							cout<<"Monatsende  \n  \n";
    						}	
    					if (mo==2&&kjz==4)
    						{
    							for(int tz=1; tz<30; tz=tz+1)//Tageszählerschleife für 29 Tage Schaltjahr
    								{
    								gtz=gtz+1;
    								int Tag=Tag+1;
    								Print(gtz);
    								}
    							cout<<"Februar  \n  \n";
    						}
    						else if (mo==2&&kjz<4)
    							{
    							for(int tz=1; tz<29; tz=tz+1)//Tageszählerschleife für 28 Tage NichtSchaltjahr
    								{
    								gtz=gtz+1;
    								int Tag=Tag+1;
    								Print (gtz);
    								}
    							cout<<"Februar  \n  \n";
    							}	
    				}
    
    			}
    			cout<<"JAHRESENDE von JAHR " <<ajz<< ". Es ist das "<<kjz<< ". Jahr innerhalb der Tetraeteris Nr: " <<tez<<" \n  \n";
    	}
    	}
    }				
    
     void Print(int a) //Definition einer Funktion
        {
    	   cout<<"TN = "<<gtz<<" TT "<<gtz%7<<" WN "<<1+(gtz/7)<<" Tag " <<tz<<" Monat "<<mo<< " \n";
    	   return();
        }
    


  • Ganz ehrlich: Du brauchst ein Buch.



  • Ich hab void durch int ersetzt, aber das bringt auch nichts.....



  • Hat gerade ein neuer Kurs angefangen oder wo kommen auf einmal die ganzen Schaltjahr-Fragen her?



  • Ist immer derselbe -.-



  • Fellhuhn schrieb:

    Hat gerade ein neuer Kurs angefangen oder wo kommen auf einmal die ganzen Schaltjahr-Fragen her?

    Ich bin Hobbyschaltjahresforscher. Das ist unheimlich interessant, nun will ich ein Programm schreiben, das mir ausrechnet, wie die Schalttage alle heißen und wann sie sind, und wieviele es noch geben wird.... 🙂

    Schön was kaputt gemacht, dafür funktioniert die Funktion:

    So sieht mein Printing aus:

    TN = 1 TT 1 WN 1 Tag 1 Monat 1
    TN = 2 TT 2 WN 1 Tag 1 Monat 1
    TN = 3 TT 3 WN 1 Tag 1 Monat 1
    TN = 4 TT 4 WN 1 Tag 1 Monat 1
    TN = 5 TT 5 WN 1 Tag 1 Monat 1
    TN = 6 TT 6 WN 1 Tag 1 Monat 1
    TN = 7 TT 0 WN 2 Tag 1 Monat 1
    TN = 8 TT 1 WN 2 Tag 1 Monat 1
    TN = 9 TT 2 WN 2 Tag 1 Monat 1
    TN = 10 TT 3 WN 2 Tag 1 Monat 1
    TN = 11 TT 4 WN 2 Tag 1 Monat 1
    TN = 12 TT 5 WN 2 Tag 1 Monat 1
    TN = 13 TT 6 WN 2 Tag 1 Monat 1
    TN = 14 TT 0 WN 3 Tag 1 Monat 1
    TN = 15 TT 1 WN 3 Tag 1 Monat 1
    TN = 16 TT 2 WN 3 Tag 1 Monat 1
    TN = 17 TT 3 WN 3 Tag 1 Monat 1
    TN = 18 TT 4 WN 3 Tag 1 Monat 1
    TN = 19 TT 5 WN 3 Tag 1 Monat 1
    TN = 20 TT 6 WN 3 Tag 1 Monat 1
    TN = 21 TT 0 WN 4 Tag 1 Monat 1
    TN = 22 TT 1 WN 4 Tag 1 Monat 1
    TN = 23 TT 2 WN 4 Tag 1 Monat 1
    TN = 24 TT 3 WN 4 Tag 1 Monat 1
    TN = 25 TT 4 WN 4 Tag 1 Monat 1
    TN = 26 TT 5 WN 4 Tag 1 Monat 1
    TN = 27 TT 6 WN 4 Tag 1 Monat 1
    TN = 28 TT 0 WN 5 Tag 1 Monat 1
    TN = 29 TT 1 WN 5 Tag 1 Monat 1
    TN = 30 TT 2 WN 5 Tag 1 Monat 1
    TN = 31 TT 3 WN 5 Tag 1 Monat 1
    MonatSENDE



  • Bekell schrieb:

    Ich bin Hobbyschaltjahresforscher...

    Was kein Argument für mangelnde Buchwahl ist (zumal es auch gute kostenlosw gibt wie "Thinking in C++").



  • Bekell schrieb:

    Ich bin Hobbyschaltjahresforscher.

    Was soll denn das sein?

    Das ist unheimlich interessant, nun will ich ein Programm schreiben, das mir ausrechnet, wie die Schalttage alle heißen und wann sie sind, und wieviele es noch geben wird.... 🙂

    Die heißen alle „ante diem bis sextilis calendis martiis“
    und sind alle am 24. Februar,
    aber wieviele es noch geben wird, kann auch kein Programm berechnen.



  • computus schrieb:

    Die heißen alle „ante diem bis sextilis calendis martiis“
    und sind alle am 24. Februar,
    aber wieviele es noch geben wird, kann auch kein Programm berechnen.

    Naja, da geht schon was. Man rechnet aus, wann fast kein Erdöl mehr da sein wird. Dann bricht der 3. Weltkrieg aus und danach gibt es keine Schaltjahre mehr. Nur mal so als Idee.

    mfg Martin



  • oder es gibt eine Kalenderreform
    http://de.wikipedia.org/wiki/Kalenderentw%C3%BCrfe



  • mgaeckler schrieb:

    Dann bricht der 3. Weltkrieg aus und danach gibt es keine Schaltjahre mehr.

    Doch, es gibt nur keinen mehr der schaltet 😛
    @topic:

    1. Du solltest dir WIRKLICH ein Buch besorgen
    2. Du solltest deine Variablennamen nicht zu sehr abkürzen. Das kann keiner mehr lesen, versetz dich mal in die Lage von jemandem, der nicht genau weiß was da vor sich geht (z.B. du selbst in 4 Monaten)


  • Es sind schon fast sechs Monate 😉



  • Gewöhne dir am besten auch eine vernünftige Formatierung an. Entscheide dich z.B., wie du einrücken willst, wenn du einen Scope aufmachst (geschweifte Klammer). Wie deine Entscheidung ausfällt, ist eigentlich egal (es gibt verschiedene Varianten), hauptsache du bleibst konsequent. In deinem Code sind verschiedene Varianten gemixt, was die Lesbarkeit ziemlich runterdrückt...


Anmelden zum Antworten