Portál AbcLinuxu, 13. května 2025 21:38

Dotaz: C - ověření, zda bylo zadáno číslo

24.12.2008 14:51 Peter
C - ověření, zda bylo zadáno číslo
Přečteno: 1023×
Odpovědět | Admin

Nějak vůbec nevim, jak na to v céčku

čekal jsem, že to bude něco jako v PHP(is_int), ale vono nee

 

 

poradí mi někdo prosím?


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Vojta Drbohlav avatar 24.12.2008 15:50 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo
Odpovědět | | Sbalit | Link | Blokovat | Admin

Co třeba isdigit?

24.12.2008 16:21 Peter
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo

tam se jedna pouze o číslici, ne?

Vojta Drbohlav avatar 24.12.2008 17:06 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo

Ano, ale můžeš zkontrolovat všechny znaky v řetězci.

24.12.2008 16:23 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo
Odpovědět | | Sbalit | Link | Blokovat | Admin

Funkce is_int v PHP vraci typ promenne, tzn. ze is_int(1) == true, ale is_int("1") == false. Protoze c/c++ je staticky typovany jazyk, tato funkce v nem nema smysl, typ promenne znate a deklarujete pri prekladu.

Za predpokladu, ze jste mel na mysli ekvivalent fce is_numeric (tzn. jak zjistit, ze retezec obsahuje textovou reprezentaci cisla), muzete pouzit treba strtol.

24.12.2008 20:13 Peter
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo

jak pomoci te funkce zjistit, jestli uzivatel zadal cislo nebo ne?

 

diky, nejak jsem to nepobral

24.12.2008 22:44 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo
#include <stdlib.h>

/* VAROVANI: psano z hlavy, netestoval jsem! */
int is_numeric(const char* str)
{
	char* end;

	strtol(str, &end, 10);

	return str != end;
}
25.12.2008 03:29 luky
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo
...
return (str[0] && !end[0]);
17.10.2012 06:32 paja
Rozbalit Rozbalit vše Re: C - ověření, zda bylo zadáno číslo
Odpovědět | | Sbalit | Link | Blokovat | Admin
double a, b, c, d, r, sa, sb;

printf("zadavej cisla\n"); if (scanf("%lf %lf %lf %lf", &a, &b, &c, &d) != 4) { printf("Invalid input.\n"); return 1; }

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.