C++ hauptprogramm, unterprogramm sowie header "fatal error LNK1120: 1 nicht aufgelöste Externe"



  • Da stimmen mehrere Dinge nicht. Hier sollte wohl ein kleiner oder kleiner gleich stehen:

    for(int counter=0;counter>=hmup2-1;counter++)
    

    Dann wolltest du sicher keine Anführungszeichen bei deinen case haben weil das sonst kein int mehr ist sondern kein char .



  • Biolunar schrieb:

    roflo schrieb:

    void main() ist müll, globale variablen auch, using namespace und unütz includierte header in headerdateien auch sowie sinnlose parameter. Und natürlich system() 😉

    Bitte werde nicht wie Wutz.

    Ach, Wutz würde das ganz anders machen 🙂

    @TE: 'Solange es funktioniert' ist beim programmieren nicht gut. Klar, bei kleinen Testprogrammen kann man schon mal im design schlampen, Du solltest dir aber im klaren sein, warum konstrukte wie 'void main' etc. schlecht sind.


  • Mod

    Shimozukachi schrieb:

    roflo schrieb:

    void main() ist müll, globale variablen auch, using namespace und unütz includierte header in headerdateien auch sowie sinnlose parameter. Und natürlich system() 😉

    solangs funktioniert 😛

    Das ist genau die Einstellung, mit der du in Probleme kommst. Es funktioniert eben nicht sehr lange und dann stehst du plötzlich ganz dumm da und kannst weder die resultierenden Fehler analysieren, noch beheben, noch wüsstest du, wie es überhaupt richtig ginge.



  • klassenmethode schrieb:

    der switch geht auch ein bischen knapper zu formulieren:

    vector<int> v{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    int month = 6;
    int days2 = 14;
    days2 += v[month - 1];
    

    bin ein azubi, kein profi. soweit bin ich noch nicht 😞

    SeppJ schrieb:

    Shimozukachi schrieb:

    roflo schrieb:

    void main() ist müll, globale variablen auch, using namespace und unütz includierte header in headerdateien auch sowie sinnlose parameter. Und natürlich system() 😉

    solangs funktioniert 😛

    Das ist genau die Einstellung, mit der du in Probleme kommst. Es funktioniert eben nicht sehr lange und dann stehst du plötzlich ganz dumm da und kannst weder die resultierenden Fehler analysieren, noch beheben, noch wüsstest du, wie es überhaupt richtig ginge.

    wie dann?
    ich komme immernoch nicht weiter



  • Shimozukachi schrieb:

    bin ein azubi, kein profi. soweit bin ich noch nicht 😞

    Arrays kennst du aber? Statt dem vector<int> v{...} könnte man genauso gut (eigentlich sogar besser) ein int v[] = {...} schreiben.

    Shimozukachi schrieb:

    ich komme immernoch nicht weiter

    Wo hängst du denn jetzt fest?



  • sebi707 schrieb:

    Shimozukachi schrieb:

    bin ein azubi, kein profi. soweit bin ich noch nicht 😞

    Arrays kennst du aber? Statt dem vector<int> v{...} könnte man genauso gut (eigentlich sogar besser) ein int v[] = {...} schreiben.

    Shimozukachi schrieb:

    ich komme immernoch nicht weiter

    Wo hängst du denn jetzt fest?

    habe deinem tipp gefolgt.
    nun habe ich dieses unterprogramm

    int feld[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    	int tagedesjahresbisher=0;
    	for(int counter=0;counter=hmajup-1;counter++)
    	{
    		tagedesjahresbisher+=feld[counter];		
    	}
    	tagedesjahresbisher=tagedesjahresbisher+htajup;
    	return(tagedesjahresbisher);
    

    auch schon mit

    tagedesjahresbisher=tagedesjahresbisher+htajup;
    

    probiert. ständig hängt mein programm bei der rechnung fest 😞



  • Hi,

    die Abbruchbedingung in der Schleife ist ja auch Quark! Da machst du ja auch eine Zuweisung und wenn "hmajup-1" nicht zufällig 0 ergibt, wird die Bedingung auch immer wahr sein. Die Variable "hmajup" ändert sich nie in der Schleife, so dass du counter immer den gleichen Wert zuweist, was auch schon fragwürdig ist, da counter ja an sich deine Zählervariable darstellt.

    for(int counter=0;counter=hmajup-1;counter++)
        {
            tagedesjahresbisher+=feld[counter];    
        }
    


  • OneNoob2Another schrieb:

    Hi,

    die Abbruchbedingung in der Schleife ist ja auch Quark! Da machst du ja auch eine Zuweisung und wenn "hmajup-1" nicht zufällig 0 ergibt, wird die Bedingung auch immer wahr sein. Die Variable "hmajup" ändert sich nie in der Schleife, so dass du counter immer den gleichen Wert zuweist, was auch schon fragwürdig ist, da counter ja an sich deine Zählervariable darstellt.

    for(int counter=0;counter=hmajup-1;counter++)
        {
            tagedesjahresbisher+=feld[counter];    
        }
    

    teile mir dann doch bitte eine bessere mit 😃



  • counter < 12



  • Braunstein schrieb:

    counter < 12

    es lebt! VIELEN DANK!!!! 😃 😮

    for(int counter=0;counter < 12;counter++)
    	{
    		if(hmajup>=counter)
    		{
    		tagedesjahresbisher+=feld[counter];
    		}
    	}
    

Anmelden zum Antworten