Help with Static Variables
-
I'm trying to pass my local variables of one function to another fuction, all within the main. I get errors saying that the variables score1-score5 are undeclared. Here is what I'm trying to do so far: #include using namespace std; void getvalues(); void findlowest(); void calcaverage(); int main() { getvalues(); return 0; } void getvalues() { static int score1, score2, score3, score4, score5=0; cout << "What is score 1? "; cin >> score1; cout << "What is score 2? "; cin >> score2; cout << "What is score 3? "; cin >> score3; cout << "What is score 4? "; cin >> score4; cout << "What is score 5? "; cin >> score5; findlowest(); } void findlowest() { if (score1 < score2 && score1 < score3 && score1 < score4 && score1 < score5) { return score1; } if (score2 < score1 && score2 < score3 && score2 < score4 && score2 < score5) { return score2; } if (score3 < score1 && score3 < score2 && score3 < score4 && score3 < score5) { return score3; } if (score4 < score1 && score4 < score2 && score4 < score3 && score4 < score5) { return score4; } if (score5 < score1 && score5 < score2 && score5 < score3 && score5 < score4) { return score5; } }
-
I'm trying to pass my local variables of one function to another fuction, all within the main. I get errors saying that the variables score1-score5 are undeclared. Here is what I'm trying to do so far: #include using namespace std; void getvalues(); void findlowest(); void calcaverage(); int main() { getvalues(); return 0; } void getvalues() { static int score1, score2, score3, score4, score5=0; cout << "What is score 1? "; cin >> score1; cout << "What is score 2? "; cin >> score2; cout << "What is score 3? "; cin >> score3; cout << "What is score 4? "; cin >> score4; cout << "What is score 5? "; cin >> score5; findlowest(); } void findlowest() { if (score1 < score2 && score1 < score3 && score1 < score4 && score1 < score5) { return score1; } if (score2 < score1 && score2 < score3 && score2 < score4 && score2 < score5) { return score2; } if (score3 < score1 && score3 < score2 && score3 < score4 && score3 < score5) { return score3; } if (score4 < score1 && score4 < score2 && score4 < score3 && score4 < score5) { return score4; } if (score5 < score1 && score5 < score2 && score5 < score3 && score5 < score4) { return score5; } }
Hi! first, you dont pass the local variables declared in main() to the findlowest() function. you have to declare it like this
int findlowest(int score1,int score2 ... int score5);
and I think, the minimum search can be done better:
if(score2 < score1)
score1=score2;
if(score3 < score1)
score1=score3;
if(score4 < score1)
score1=score4;
if(score5 < score1)
score1=score5;
return score1; -
I'm trying to pass my local variables of one function to another fuction, all within the main. I get errors saying that the variables score1-score5 are undeclared. Here is what I'm trying to do so far: #include using namespace std; void getvalues(); void findlowest(); void calcaverage(); int main() { getvalues(); return 0; } void getvalues() { static int score1, score2, score3, score4, score5=0; cout << "What is score 1? "; cin >> score1; cout << "What is score 2? "; cin >> score2; cout << "What is score 3? "; cin >> score3; cout << "What is score 4? "; cin >> score4; cout << "What is score 5? "; cin >> score5; findlowest(); } void findlowest() { if (score1 < score2 && score1 < score3 && score1 < score4 && score1 < score5) { return score1; } if (score2 < score1 && score2 < score3 && score2 < score4 && score2 < score5) { return score2; } if (score3 < score1 && score3 < score2 && score3 < score4 && score3 < score5) { return score3; } if (score4 < score1 && score4 < score2 && score4 < score3 && score4 < score5) { return score4; } if (score5 < score1 && score5 < score2 && score5 < score3 && score5 < score4) { return score5; } }
-
I'm trying to pass my local variables of one function to another fuction, all within the main. I get errors saying that the variables score1-score5 are undeclared. Here is what I'm trying to do so far: #include using namespace std; void getvalues(); void findlowest(); void calcaverage(); int main() { getvalues(); return 0; } void getvalues() { static int score1, score2, score3, score4, score5=0; cout << "What is score 1? "; cin >> score1; cout << "What is score 2? "; cin >> score2; cout << "What is score 3? "; cin >> score3; cout << "What is score 4? "; cin >> score4; cout << "What is score 5? "; cin >> score5; findlowest(); } void findlowest() { if (score1 < score2 && score1 < score3 && score1 < score4 && score1 < score5) { return score1; } if (score2 < score1 && score2 < score3 && score2 < score4 && score2 < score5) { return score2; } if (score3 < score1 && score3 < score2 && score3 < score4 && score3 < score5) { return score3; } if (score4 < score1 && score4 < score2 && score4 < score3 && score4 < score5) { return score4; } if (score5 < score1 && score5 < score2 && score5 < score3 && score5 < score4) { return score5; } }
Isn't this some joke ? Ok, first of all you shold study something about arrays and loops. Like
int score[5];
...
min = GetMin(score,sizeof(score)/sizeof(score[0]));
....
int GetMin(int *score,int count)
{
int i,min = score[0];
for (i=1; i<count; i++)
if (min>score[i])
min = score[i];
return min;
}
rrrado