не поверишь вот это

Сообщение от
rovel
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| int CharToInt(char s)//перевод в целые числа
{
int k;
switch (s)
{
case '0': k=0; break;
case '1': k=1; break;
case '2': k=2; break;
case '3': k=3; break;
case '4': k=4; break;
case '5': k=5; break;
case '6': k=6; break;
case '7': k=7; break;
case '8': k=8; break;
case '9': k=9; break;
}
return k; |
|
}
можно сделать вот так
C++ |
1
2
3
4
5
6
| int CharToInt(char s)//перевод в целые числа
{
if (s<'0' || s>'9')
return -1 // ошибка можешь вернуть 0
return (int) (s-'0');
} |
|
или так но будет дольше(деление дольше выполняется чем вычитание)
C++ |
1
2
3
4
5
6
| int CharToInt(char s)//перевод в целые числа
{
if (s<'0' || s>'9')
return -1 // ошибка можешь вернуть 0
return (int) (s%10);
} |
|
у тебя в функции не проверяется s
если s не цифра то вернется мусор