[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Osetrenie vstupov programu v C

Registrovaný: 28.08.07
Prihlásený: 12.12.24
Príspevky: 957
Témy: 55 | 55
Bydlisko: Brezno
NapísalOffline : 14.12.2007 18:26 | Osetrenie vstupov programu v C

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 :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9 | 9
NapísalOffline : 14.12.2007 21:26 | Osetrenie vstupov programu v C

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;
}
//---------------------------------------------------------------------------


Offline

Užívateľ
Užívateľ
Osetrenie vstupov programu v C

Registrovaný: 28.08.07
Prihlásený: 12.12.24
Príspevky: 957
Témy: 55 | 55
Bydlisko: Brezno
Napísal autor témyOffline : 14.12.2007 21:56 | Osetrenie vstupov programu v C

super taketo nieco som hladal .. diki :clap:


Offline

Skúsený užívateľ
Skúsený užívateľ
Osetrenie vstupov programu v C

Registrovaný: 10.07.07
Prihlásený: 02.11.17
Príspevky: 1060
Témy: 0 | 0
Bydlisko: Bratislava
NapísalOffline : 14.12.2007 22:04 | Osetrenie vstupov programu v C

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...
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9 | 9
NapísalOffline : 14.12.2007 22:44 | Osetrenie vstupov programu v C

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ť? ;)


Offline

Skúsený užívateľ
Skúsený užívateľ
Osetrenie vstupov programu v C

Registrovaný: 10.07.07
Prihlásený: 02.11.17
Príspevky: 1060
Témy: 0 | 0
Bydlisko: Bratislava
NapísalOffline : 14.12.2007 23:28 | Osetrenie vstupov programu v C

co zamyslas neviem, len som cital kod


_________________
Nebo je modre, voda je mokra...
Offline

Užívateľ
Užívateľ
Osetrenie vstupov programu v C

Registrovaný: 28.08.07
Prihlásený: 12.12.24
Príspevky: 957
Témy: 55 | 55
Bydlisko: Brezno
Napísal autor témyOffline : 16.12.2007 13:50 | Osetrenie vstupov programu v C

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 :D


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9 | 9
NapísalOffline : 16.12.2007 13:58 | Osetrenie vstupov programu v C

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ť)


Offline

Užívateľ
Užívateľ
Osetrenie vstupov programu v C

Registrovaný: 28.08.07
Prihlásený: 12.12.24
Príspevky: 957
Témy: 55 | 55
Bydlisko: Brezno
Napísal autor témyOffline : 16.12.2007 14:19 | Osetrenie vstupov programu v C

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 :-)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.06
Prihlásený: 31.12.07
Príspevky: 677
Témy: 9 | 9
NapísalOffline : 16.12.2007 14:26 | Osetrenie vstupov programu v C

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ť


Offline

Užívateľ
Užívateľ
Osetrenie vstupov programu v C

Registrovaný: 02.09.05
Prihlásený: 17.11.10
Príspevky: 154
Témy: 1 | 1
NapísalOffline : 16.12.2007 14:29 | Osetrenie vstupov programu v C

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 :D

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"...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.06.07
Prihlásený: 06.05.13
Príspevky: 421
Témy: 4 | 4
NapísalOffline : 16.12.2007 15:11 | Osetrenie vstupov programu v C

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...


 [ Príspevkov: 12 ] 


Osetrenie vstupov programu v C



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

osetrenie vstupov a DB

v PHP, ASP

8

512

02.11.2012 18:42

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

osetrenie vstupov v delphi

v Delphi, Visual Basic

4

940

26.01.2009 18:39

ovvo

V tomto fóre nie sú ďalšie neprečítané témy.

C - viac vstupov v 1 riadku

v Assembler, C, C++, Pascal, Java

2

362

01.02.2016 20:14

faraon

V tomto fóre nie sú ďalšie neprečítané témy.

Bug/osetrenie

v Správy pre vedenie fóra

5

1178

28.10.2009 19:04

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

ošetrenie vstupu

v Delphi, Visual Basic

22

676

12.12.2015 21:11

camarovk19

V tomto fóre nie sú ďalšie neprečítané témy.

Osetrenie formulara

v PHP, ASP

2

547

25.01.2010 16:36

Slappy

V tomto fóre nie sú ďalšie neprečítané témy.

Chemické ošetrenie spojov

v Biosy a ladenie výkonu

4

3795

27.01.2013 12:56

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Osetrenie ulozenia JAVA

v Assembler, C, C++, Pascal, Java

2

595

25.11.2009 12:43

dEVIANT

V tomto fóre nie sú ďalšie neprečítané témy.

Ošetrenie/zabezpečenie Registracie?

v PHP, ASP

4

518

04.02.2010 17:00

d0.0b

V tomto fóre nie sú ďalšie neprečítané témy.

C-ošetrenie nulového menovateľa

v Assembler, C, C++, Pascal, Java

3

525

04.06.2010 13:17

jarrro

V tomto fóre nie sú ďalšie neprečítané témy.

jquery - osetrenie trvania animacie

v JavaScript, VBScript, Ajax

4

597

05.06.2009 21:06

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

osetrenie nespravnej hodnoty pri scanf

v Assembler, C, C++, Pascal, Java

5

526

13.11.2011 16:14

walther

V tomto fóre nie sú ďalšie neprečítané témy.

osetrenie korozie v radiatore vodnika

v Chladiče a všetky druhy chladenia

12

800

03.08.2011 13:44

zalgoo

V tomto fóre nie sú ďalšie neprečítané témy.

Ošetrenie kroku späť a znovu vpred

v PHP, ASP

6

514

10.11.2012 10:42

xxx9955

V tomto fóre nie sú ďalšie neprečítané témy.

Osetrenie vyjdenie z drahy (turbo pascal)

v Assembler, C, C++, Pascal, Java

11

835

14.12.2008 11:54

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Osetrenie vstupu pre dve slova a viac

v PHP, ASP

3

538

13.05.2013 19:12

BX



© 2005 - 2024 PCforum, edited by JanoF