C++ hauptprogramm, unterprogramm sowie header "fatal error LNK1120: 1 nicht aufgelöste Externe"
-
MFK schrieb:
Schaltjahrescheck != Schaltjahrcheck
vielen dank
-
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()
-
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.
-
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
hab aktuell ein mathematisches problem. mir wird nach seit hinzufügen von (zeigt unterprogramm):int uptagedesjahres(int htup2,int hmup2,int vergangenetagejahr2,bool schaltcheckup2) { for(int counter=0;counter>=hmup2-1;counter++) { switch(counter) {case '1': vergangenetagejahr2=vergangenetagejahr2+31; break; case '2': vergangenetagejahr2=vergangenetagejahr2+28; break; case '3': vergangenetagejahr2=vergangenetagejahr2+31; break; case '4': vergangenetagejahr2=vergangenetagejahr2+30; break; case '5': vergangenetagejahr2=vergangenetagejahr2+31; break; case '6': vergangenetagejahr2=vergangenetagejahr2+30; break; case '7': vergangenetagejahr2=vergangenetagejahr2+31; break; case '8': vergangenetagejahr2=vergangenetagejahr2+31; break; case '9': vergangenetagejahr2=vergangenetagejahr2+30; break; case '10': vergangenetagejahr2=vergangenetagejahr2+31; break; case '11': vergangenetagejahr2=vergangenetagejahr2+30; break; case '12': vergangenetagejahr2=vergangenetagejahr2+31; break; if(schaltcheckup2==true) { if(counter=='2') { vergangenetagejahr2=vergangenetagejahr2+1; } } } } return(vergangenetagejahr2); }
(header)
int uptagedesjahres(int, int, int, bool);
(zum hauptprogramm hinzugefügt):
int uptagedesjahres(int, int, int, bool); cout<<"bisher benötigte tage";cout<<vergangenetagimjahr<<endl; //vergangenetageimjahr natürlicj zur deklaration hinzugefügt :D
immer 48 bei 'cout<<"bisher benötigte tage";cout<<vergangenetageimjahr<<endl; angezeigt
-
'cout<<"bisher benötigte tage";cout<<vergangenetageimjahr<<endl;' sry, letzte klammer vergessen. im skript einfach nur cout<<"bisher benötigte tage";cout<<vergangenetageimjahr<<endl;
-
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];
-
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 keinchar
.
-
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.
-
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) einint 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) einint v[] = {...}
schreiben.Shimozukachi schrieb:
ich komme immernoch nicht weiter
Wo hängst du denn jetzt fest?
habe deinem tipp gefolgt.
nun habe ich dieses unterprogrammint 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]; } }