| | |
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Autor | Správa |
---|
Registrovaný: 28.08.07 Prihlásený: 09.12.23 Príspevky: 943 Témy: 51 Bydlisko: Banska Byst... |
Takaze robis semestralnu pracu v Dec-C++ v C-cku, na ovladanie programu sluzia vyhradne cisla ktore nacitavam z klavesnice do premennej typu int potrebujem podmienku aby po zadani pismen nespadol program, malo by to byt formou podmienky ... za navrhy vdaka
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
atoi() si skúšal?
Kód: //---------------------------------------------------------------------------
#include <stdio.h> #include <stdlib.h> #pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused int main(int argc, char* argv[]) { char a[20];
scanf("%s",&a); //nacitam ako retazec (atoi(a)) ? printf("%d\n",atoi(a)) : printf("toto nie je cislo\n"); //ak ide previest tak prevediem, inak je chyba system("pause"); return 0; } //---------------------------------------------------------------------------
|
|
Registrovaný: 28.08.07 Prihlásený: 09.12.23 Príspevky: 943 Témy: 51 Bydlisko: Banska Byst... | Napísal autor témy EndersoN: 14.12.2007 21:56 | |
|
super taketo nieco som hladal .. diki
|
|
Registrovaný: 10.07.07 Prihlásený: 02.11.17 Príspevky: 1060 Témy: 0 Bydlisko: Bratislava |
napriklad:
ale
int main(int argc, char* argv[])
je parametrizovanie prikazoveho riadku, so vstupom ..cize bez tohto rozsireneho main
_________________ Nebo je modre, voda je mokra... |
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
ja som si to zvykol nemazať a vždy to v mojích programoch ošetrím či nejaké parametre boli. Osobne spúšťam velá konzolových aplikácii z cmd a ak to tam aj je a nedáš parametre nič sa nedeje, tak načo to mazať?
|
|
Registrovaný: 10.07.07 Prihlásený: 02.11.17 Príspevky: 1060 Témy: 0 Bydlisko: Bratislava |
co zamyslas neviem, len som cital kod
_________________ Nebo je modre, voda je mokra... |
|
Registrovaný: 28.08.07 Prihlásený: 09.12.23 Príspevky: 943 Témy: 51 Bydlisko: Banska Byst... | Napísal autor témy EndersoN: 16.12.2007 13:50 | |
|
Roberbo píše: napriklad: ale int main(int argc, char* argv[]) je parametrizovanie prikazoveho riadku, so vstupom ..cize bez tohto rozsireneho main
pls co znamena ta posledna veta s parametrizovanim ... treba to osetrenie dako pozmenit ? thx
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
ide o to, že konzolové aplikácie môžeš spustiť s parametrom z príkazového riadku, napríklad napíšeš do príkazového riadku ping 192.183.122.186 tak spustí program ping.exe a ako parameter mu pošle túto IP. To môžeš spraviť aj vo svojom programe.
Kód: int main(int argc, char* argv[]) argc je typu int a znamená počet parametrov (potom v cykle prejdeš každý jeden) a argv[] je pole týchto parametrov. Ak ich necheš používať tak jednoducho zmeníš hlavičku na int main() a to je všetko (alebo ju ani nemusíš meniť)
|
|
Registrovaný: 28.08.07 Prihlásený: 09.12.23 Príspevky: 943 Témy: 51 Bydlisko: Banska Byst... | Napísal autor témy EndersoN: 16.12.2007 14:19 | |
|
audiotrack píše: ide o to, že konzolové aplikácie môžeš spustiť s parametrom z príkazového riadku, napríklad napíšeš do príkazového riadku ping 192.183.122.186 tak spustí program ping.exe a ako parameter mu pošle túto IP. To môžeš spraviť aj vo svojom programe. Kód: int main(int argc, char* argv[]) argc je typu int a znamená počet parametrov (potom v cykle prejdeš každý jeden) a argv[] je pole týchto parametrov. Ak ich necheš používať tak jednoducho zmeníš hlavičku na int main() a to je všetko (alebo ju ani nemusíš meniť)
a ako to pls zmenim aby vstup nebolo pole ale iba jeden znak/cislo lebo v tom osetreni je nacitavane pole znakov a ja to potrebujem iba pre jeden s ktorym pracuju dalsie operacie aby som to nemusel cele prerabat
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
Kód: char a[20]; zameň za Kód: char a; Kód: scanf("%s",&a); //nacitam ako retazec zameň za Kód: scanf("%c",&a); //nacitam znak
a keď si sa pustil do semestrálky tak takéto veci by si mal vedieť
|
|
Registrovaný: 02.09.05 Prihlásený: 17.11.10 Príspevky: 154 Témy: 1 |
EndersoN píše: Takaze robis semestralnu pracu v Dec-C++ v C-cku, na ovladanie programu sluzia vyhradne cisla ktore nacitavam z klavesnice do premennej typu int potrebujem podmienku aby po zadani pismen nespadol program, malo by to byt formou podmienky ... za navrhy vdaka
Ano mozes jednuducho, fcia scanf() typom int vracia pocet uspesne precitanych hodnot... cize napr :
Kód: int asdf, int hjkl; if (scanf("%d %c", &asdf, &hjkl) == 2) printf("spravne zadane\n");
pri vstupe 10, "c" vypise text "spravne zadane"...
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | Napísal sento: 16.12.2007 15:11 | |
|
sa som to robieval tak, ze som cely riadok(vstup) nacital do retazca:
char txt[111];
scanf("%s", txt);
a potom som rozoberal retazec txt;
- ak to mal byt int, tak tam nesmel byt iny znak, nez '0' .... '9'
- ak tam malo byt viac cisel, oddelenych napr. medzerou, tak som rozdelil ten retazec na viac retazcov, pricom v kazdom bolo uz len 1 cislo
napis presne, ako sa ma zadavat vstup, potom sa da uz lepsie daco vymysliet...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 12 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| osetrenie vstupov a DB v PHP, ASP | 8 | 469 | 02.11.2012 18:42 DeiForm | | osetrenie vstupov v delphi v Delphi, Visual Basic | 4 | 907 | 26.01.2009 18:39 ovvo | | C - viac vstupov v 1 riadku v Assembler, C, C++, Pascal, Java | 2 | 327 | 01.02.2016 20:14 faraon | | ošetrenie vstupu v Delphi, Visual Basic | 22 | 627 | 12.12.2015 21:11 camarovk19 | | Osetrenie formulara v PHP, ASP | 2 | 515 | 25.01.2010 16:36 Slappy | | Bug/osetrenie v Správy pre vedenie fóra | 5 | 1141 | 28.10.2009 19:04 Jaro | | Chemické ošetrenie spojov v Biosy a ladenie výkonu | 4 | 3736 | 27.01.2013 12:56 shiro | | Osetrenie ulozenia JAVA v Assembler, C, C++, Pascal, Java | 2 | 555 | 25.11.2009 12:43 dEVIANT | | Ošetrenie/zabezpečenie Registracie? v PHP, ASP | 4 | 487 | 04.02.2010 17:00 d0.0b | | C-ošetrenie nulového menovateľa v Assembler, C, C++, Pascal, Java | 3 | 484 | 04.06.2010 13:17 jarrro | | jquery - osetrenie trvania animacie v JavaScript, VBScript, Ajax | 4 | 562 | 05.06.2009 21:06 chrono | | osetrenie nespravnej hodnoty pri scanf v Assembler, C, C++, Pascal, Java | 5 | 477 | 13.11.2011 16:14 walther | | osetrenie korozie v radiatore vodnika v Chladiče a všetky druhy chladenia | 12 | 758 | 03.08.2011 13:44 zalgoo | | Ošetrenie kroku späť a znovu vpred v PHP, ASP | 6 | 480 | 10.11.2012 10:42 xxx9955 | | Osetrenie vyjdenie z drahy (turbo pascal) v Assembler, C, C++, Pascal, Java | 11 | 772 | 14.12.2008 11:54 Blackshadow | | Osetrenie vstupu pre dve slova a viac v PHP, ASP | 3 | 418 | 13.05.2013 19:12 BX |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|