Ošetření vstupu, scanf – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Ošetření vstupu, scanf – C / C++ – Fórum – Programujte.comOšetření vstupu, scanf – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Petr
~ Anonymní uživatel
696 příspěvků
11. 11. 2011   #1
-
0
-

Dobrý den,

prosim vás, jak se dá jednoduše ošetřit vstup, když načítám reálná čísla pomocí funkce scanf(), tak aby program poznal že je na vstupu písmeno a vypsal chybové hlášení.

Jakou podmínku bych tam měl přidat?

Děkuji za každou radu.

Nahlásit jako SPAM
IP: 83.240.81.–
Reklama
Reklama
Petr
~ Anonymní uživatel
696 příspěvků
11. 11. 2011   #2
-
0
-

#1 Petr
Uvědomil jsem si, že funkce scanf vrací hodnotu počet úspěšně přečtených znaků a když přečtě písmeno, tak vrátí nulu.

Zkusím tedy tetovat tuto hodnotu.

Nahlásit jako SPAM
IP: 83.240.81.–
street punk+1
Návštěvník
11. 11. 2011   #3
-
0
-

#2 Petr
Neviem ako v C, ale v C++ existuje príkaz cin.good(), ktorý ti to zistí. Ale dá sa to spraviť aj inak. Napríklad pomocou ASCII tabuľky, pozrieš si hodnoty jednotlivých čísiel a dáš to do vhodných podmienok. Druhá možnosť a podľa mňa lepšia ako toto je pomocou hlavičky ctype.h. Existuje Tam príkaz isdigit(), ktorý ti zistí, či je to číslo

Nahlásit jako SPAM
IP: 188.112.123.–
yaqwsx+9
Posthunter
11. 11. 2011   #4
-
0
-

#3 street punk
Když chce tazatel načítat pomocí scaf, tak je mu cin.good k ničemu. Testování návratové hodnoty určí přesně to, co chce - zda-li úspěšně načetl reálné číslo.

Nahlásit jako SPAM
IP: 85.160.75.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
KIIV+42
God of flame
11. 11. 2011   #5
-
0
-

jen nesmi zapomenout ze tam to smeti zustane a zbavit se ho

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
street punk+1
Návštěvník
11. 11. 2011   #6
-
0
-

#4 yaqwsx

šak ja som to len konštatoval a nepovedal že to má robiť podľa cin. A dá sa to robiť aj tými dvoma spôsobmi

Nahlásit jako SPAM
IP: 188.112.123.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 115 hostů

Podobná vlákna

Ošetření vstupu — založil Erlesh

Ošetření vstupu — založil Kenvelo

Osetreni vstupu — založil Prometheus

Ošetření vstupu — založil Caken

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý