I use Visual C++ 2010 Express Edition to compile and run the .exe files I write in the C++ programming language. I am trying to create a loop-based logic using C++ to ask the user how many entries he chooses to enter, and ask questions limited to that no. of entries. For example I want to output, “How many characters do you wish to enter?: ” Say the user gives the answer as ‘3’ which is stored in the int variable ‘entries’. I then want to keep asking the question 3 times before it stops and continues with the next line of code. I hope you understand, here is a block of code to demonstrate what I am doing:
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "How many values do you need to enter?: ";
int entries;
cin >> entries;
int offset, number;
string valueName[50];
float valueValue[50];
for (offset = 0; offset < entries; offset++)
{
cout << "Enter " << number << " Value Name: ";
cin >> valueName[offset];
cout << "Enter " << valueName[offset] << "\'s value: ";
cin >> valueValue[offset];
for (number = 1; number <= entries; number++)
{
}
}
char response;
cin >> response;
return 0;
}
Strangely when I run this simple program, it fails when I enter the value’s name to be inserted into the 0th element of the valueName[] array. It just pauses the execution of the program and a dialog box pops up saying “Runtime Check Failure #3 – Variable ‘number’ is being used without being initialized!” Another problem regarding this program is that, for quite some time, when I ran this program this “Runtime Check Failure #3” box never appeared, and when it didn’t, the number value went wrong, and first started with 1, and then for the next loop jumped to 6, and then repeated 6 again for the next loop!
Please help me! I’ve checked online scouring this problem everywhere, but it just doesn’t apply to my type of problem!
Is it because the variables are out of scope?
But they’re declared outside the for loops right?
So please help me!
The runtime is telling you the truth, the following line comes after you have declared number as an int but have not given it a value.
In your code you declare the following, in C++ this means give me 2 ints but the values are not defined yet, e.g.
Change it to something like this ..