
Сообщение от
unkarjedy
у меня нету while(!isdigit)
У меня есть цикл for который просто пробегается по всей строке и проверяет на то есть ли в ней что-то кроме цифр. Если нет то конвертируем строку в число.
C++ |
1
2
3
4
5
6
| for(int i = 0; i < str.length(); i++) {
char ch = str.c_str()[i];
if(!isdigit(ch))
cerr << " ERROR: you entered a letter!" << endl << endl;
}
y = atoi(str.c_str()); |
|
У меня есть цикл while(1) - в котором просто бесконечно раз выполняется основная часть программы.
Нупишите лучше там где у меня while(1) вот это
C++ |
1
| for(int j = 0; j < 5; j++) |
|
Тогда у вас будет просто 5 попыток после которых программа закроется
спасибо, понял, теперь уже видимо крайняя проблема - записать строку с клавиатуры
на это (комментами выделил) ругается компилятор:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| int main ()
{
string str;
....
//..................оно..................
cin >> str;
//.........................................
for(int i = 0; i < str1.length(); i++) 67t{
char ch = str.c_str()[i];
if(!isdigit(ch))
cerr << " ERROR: you entered a letter!" << endl << endl;
}
y = atoi(str.c_str());
cout << y; |
|