2010-11-19 4 views
-1

Привет, я пишу эту программу, но я не могу заставить ее даже начать видеть, есть ли у другого кода проблемы.Программа останавливается после cin

У меня есть это:

int main() 
{ 
    int answer; 
    int test; 
    cout << "Please Enter the number to be tested: "; 
    cin >> test; //Gets number to be tested 
     cout << "here"; 
    answer = factor(test); 
    cout << "The answer is:" << answer; 
    return 0; 
} 

сейчас, то. Он будет распечатывать первый cout, а затем он попадает в cin, берет номер, но потом ничего не сделает. Даже не распечатает второй кут. Есть идеи?

Я "м довольно новый и на самом деле не сделано так, любое дополнительное лечение мне как идиотка объяснения приветствуются:.. D Спасибо

+0

Нельзя пометить это как C. – onemasse

+0

Это C++, а не C. Я проверил его. – Flinsch

+1

Что означает «принимает число»? Получаете ли вы какой-либо ответ? Вы нажали Return или Enter для подтверждения ввода? – Flinsch

ответ

3

может быть что-то не так с fa ctor функция? Бесконечный цикл? Затем cout < < "here" < < endl; (для сброса вывода) должен, по крайней мере, распечатать «здесь».

+0

Да, это получилось, я уверен, что проблема с остальными функциями, которые я использовал в этой строке, как тест на см., где у моей программы возникли проблемы. Теперь пришло время исправить остальную часть, так как она по крайней мере пройдет мимо входной части сейчас! – samuraiseoul

1

Я думаю << endl; не хватает в ваших cout линиях, что вызывает выход. буфер не не быть покраснел и ничего не отображается на экране. Несмотря на то, что может зависеть от платформы вы работаете его. Это мощь работы на некоторых системах, промывать выходной буфер на постоянной основе.

int main() 
{ 
int answer; 
int test; 
cout << "Please Enter the number to be tested: "; 
cin >> test; //Gets number to be tested 
    cout << "here" << endl; 
answer = factor(test); 
cout << "The answer is:" << answer << endl; 
return 0; 
} 
+0

На самом деле фактор() блокируется. Промывка первого cout дала бы ему выход «здесь», но программа все равно не ответит – Milan

0

Похоже, программа ждет ввода на терминале. После того, как вы предоставите ввод, а затем нажмите «Ввод», он автоматически рассмотрит ввод, и следующий оператор cout отлично работает ... Проверьте сегмент кода ниже ... (ничего не изменилось, кроме фиктивной реализации для коэффициента, который не является тема обсуждения здесь)

enter code here 

включает

с использованием патезраса;

int factor (int t) { return t; }

int main() 

{ INT ответ; int test; cout < < «Пожалуйста, введите число подлежащих проверке:»; cin >> test; // Получает номер для тестирования cout < < «here»; ответ = коэффициент (тест); cout < < «Ответ:» < < ответ; return 0; }

O/р: $ ./a.out Пожалуйста, введите число для проверки: 1234 hereThe Ответ: 1234user @ убунту: ~ $ ./a.out Пожалуйста, введите номер, протестирован: 1234 вот Ответ: 1234 $

0

У меня такие же результаты, когда я нажимал ввод на клавиатуре сразу после ввода. Если я нажму, то программа будет работать нормально. Я думал, что войти и вернуться - это одно и то же?

-1
This is how it work "here " your screen doesnot be static by putting system("pause") you can do it ,on the other hand i have just made the function defination dummi still happen anything check there] 


#include<iostream> 
using namespace std; 
int factor(int x) 
{ 
    return x; 
} 
int main() 
{ 
    int answer; 
    int test; 
    cout << "Please Enter the number to be tested: "; 
    cin >> test; //Gets number to be tested 
    cout << "here"; 
    answer = factor(test); 
    cout << "The answer is:" << answer; 

    **system("pause");** 


} 
+0

В чем проблема, которую я пропустил? Ее работа в порядке и ее в соответствии с проблемой. , , – Malik

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