- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
int proverka_na_chislo(string str){
int l=0;
for(unsigned int i=0; i<str.length();i++) {
if(str.compare(i,i+1,"0")!=0){
if(str.compare(i,i+1,"1")!=0){
if(str.compare(i,i+1,"2")!=0){
if(str.compare(i,i+1,"3")!=0){
if(str.compare(i,i+1,"4")!=0){
if(str.compare(i,i+1,"5")!=0){
if(str.compare(i,i+1,"6")!=0){
if(str.compare(i,i+1,"7")!=0){
if(str.compare(i,i+1,"8")!=0){
if(str.compare(i,i+1,"9")!=0){
throw std::invalid_argument("invalid argument\n");
l=-1;
}
}
}
}
}
}
}
}
}
}
}
return l;
}
{
int i; wchar_t c;
for(i = 0, c = ws[0]; c != L'\0'; i++, c = ws[i])
{
if(c < '0' || c > '9')
return false;
}
return i;
}
С++ -- для тупого быдла.
for (wchar_t* c = ws; *c != L'\0'; c++)
{
if (*c < '0' || *c > '9')
return false;
}
return true;
return !(*c);
;)
Вот вас написать пбольше то тянет.
Я вас навчу как батьке херню писать!
Исключение тут нафиг не нужно, смысл функции теряется полностью.
десятикратный compare для каждого символа - вообще без коментариев.
Плюс функция не будет работать на отрицательных и вещественных числах.
Я использовал sscanf("%d%c",&n,&c)==1
Обьясни как это работает?