2014-11-26 2 views
-1

Я новичок в программировании, и мне недавно был присвоен довольно жесткий код. Я пытался его закончить, но я в тупике.Функция, возвращающая нечетное значение

Мой прототип функции

int getNumAccidents(int); 

Мой главный вызов:

int north; 
int south; 
int east; 
int west; 
int central; 
cout << "Please enter the value for North\n"; 
getNumAccidents(north); 
cout << "the number of accidents in the north are:\n" << north; 
break; 

И моя функция:

int getNumAccidents(int value) 
{ 
    cin >> value; 
    return value; 
} 

Он отлично компилируется, но я получаю неожиданное возвращение когда Я вводил данные. Я вошел 32, и возвращение от моей функции - 4591493 ..... почему?

+6

Вы никогда не использовали возвращаемое значение –

+0

север = getNumAccidents (север); –

+0

*** Я новичок в программировании, и мне недавно был присвоен довольно жесткий код. *** Кстати, это примерно так же просто, как и для C++. – drescherjm

ответ

2

Использование

void getNumAccidents(int &value) 
{ 
    cin >> value; 
} 

Как вам необходимо вернуть ввод основной.

3

Попробуйте как этот

int north; 
int south; 
int east; 
int west; 
int central; 
cout << "Please enter the value for North\n"; 
north=getNumAccidents(north); 
cout << "the number of accidents in the north are:\n" << north; 
break; 
+1

. Какая точка прохождения в' north', когда она не используется? –

+0

Почему так серьезно? @EdHeal расслабляет человека. это не конец света. –

+0

Я ничего ему не предлагал, я только что показал ему свою ошибку. Кстати спасибо за пониженное голосование. –

0

есть anothor путь.

void getNumAccidents(int *value) 
{ 
    if (value) 
    { 
     cin >> *value; 
    } 
} 

использовать как этот

int value = 0; 
getNumberAccidents(&value); 
+1

Его C++ - Так используйте ссылку вместо этого - проблема с передачей в 'nullptr' –

Смежные вопросы