Programovanie v jazyku C - davaj argumenty

Podobné dokumenty
Programovanie v jazyku C - pole treba poorat...

Programovanie v jazyku C - struktury a polia

Programovanie v jazyku C - to chce dynamiku

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr


Programovanie v jazyku C - ti to zratam...


Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Operační systémy. Cvičení 3: Programování v C pod Unixem

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje


D- 1.strana D- 2.strana D- 3.strana D. - SPOLU TEST I. ČASŤ TEST

Základy programování (IZP)

P R O L U C. POZNÁMKY individuálnej účtovnej závierky pre rok 2014

PODPROGRAMY. Vyčlenenie podprogramu a jeho pomenovanie robíme v deklarácii programu a aktiváciu vykonáme volaním podprogramu.

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

KEO - Register obyvateľov Prevod údajov

1. Postup pri výpočte rovnomerných odpisov - 27 ZDP

Programovanie v jazyku C - funkcie a makra

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Základy programování (IZP)

Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM

To bolo ľahké. Dokážete nakresliť kúsok od prvého stromčeka rovnaký? Asi áno, veď môžete použiť tie isté príkazy.

2 Datové typy v jazyce C

7.CVIČENIE. Základy HTML

Vytvorenie účtovnej knihy

Mgr. Stanislav Fila, psychológ CPPPaP Banská Bystrica Centrum pedagogicko-psychologického poradenstva a prevencie (bývalá KPPP) Banská Bystrica

ČÍSELNÉ RADY. a n (1) n=1

Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Nevypĺňať!!! Údaje je potrebné vyplniť prostredníctvom elektronického formulára na portalvs.sk

Matematika test. 1. Doplň do štvorčeka číslo tak, aby platila rovnosť: (a) 9 + = (b) : 12 = 720. (c) = 151. (d) : 11 = 75 :


18 OPATRENIE Národnej banky Slovenska z 28. septembra o priemernej výške nákladov na finančné sprostredkovanie v životnom poistení

INTERNET BANKING. Platby cez Internet banking VŠETKO, ČO JE MOŽNÉ. with.vub.sk, Bank of

Finančné riaditeľstvo Slovenskej republiky


Matematika Postupnosti

PROGRAMOVÁNÍ V C++ CVIČENÍ

IUJCE 07/08 Přednáška č. 1

Operační systémy. Cvičení 4: Programování v C pod Unixem

Odborné stanovisko k návrhu rozpočtu obce na obdobie roku 2019 a viacročného rozpočtu na roky

Hodnotenie záverečnej práce

Kontrola väzieb výkazu Súvaha a Výkaz ziskov a strát Príručka používateľa

Základy programování (IZP)

Riešené úlohy Testovania 9/ 2011





Část textu je kolemjdoucím skryta - pro shlédnutí celého textu se prosím přihlašte nabo zaregistrujte.



S T A N O V I S K O hlavného kontrolóra obce k návrhu rozpočtu Obce Staškovce na rok 2016, viacročného rozpočtu na roky




Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

P R O L E M FAKTURA Z VYDAJA OBSAH. Vystavenie faktúry z výdaja postup, podmienky... 2

A. VÝCHODISKÁ SPRACOVANIA STANOVISKA :

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Meranie elektrických parametrov na transformátore 400/121/10,5 kv

Prehľad nového TwinSpace

Dealer Extranet 3. Cenové ponuky

Ako sme postavili Benátky

Odborné stanovisko k návrhu rozpočtu obce na obdobie roku 2018 a viacročného rozpočtu na roky

8. Relácia usporiadania

Manuál pre používanie programu KonverziaXML_D134

Základy programování (IZP)

Základy programování (IZP)

Hlavný kontrolór Obce Teplička nad Váhom Ing. Eva Milová. Stanovisko

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

sféra, a.s. Továrenská Bratislava

Pat a Mat na výletě 3.4 Na hracím plánu jsou dvě takové dopravní

Ako započítať daňovú licenciu

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Microsoft Outlook. Stručný prehľad základných funkcií. Ing.Anna Grejtáková, SPP DFBERG

Krížovka. Hot Potatoes JCross ( červená farba) = vytvorenie krížovky, do ktorej vpisujeme odpovede na zadané otázky. Priradenie

Matematika test. Cesta trvala hodín a minút.

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:


M úlohy (vyriešené) pre rok 2017

Umorovací počet. Umorovací počet. Monika Molnárová. Technická univerzita Košice. Umorovací počet.

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Postup overenia elektronického podpisu na faktúrach. spoločnosti Natur-Pack a.s.


Na rokovanie obecného zastupiteľstva dňa

1. písomná práca z matematiky Skupina A

MANUÁL K TVORBE CVIČENÍ NA ÚLOHY S POROZUMENÍM

Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++

Skupiny finančných nástrojov a produktov zodpovedajúce typu investora

TP-Link TD-W8901GB Inštalácia


INŠTALAČNÝ MANUÁL. TMEgadget

Limita funkcie. Čo rozumieme pod blížiť sa? y x. 2 lim 3

Riešenie cvičení z 3. kapitoly

Multiplexor a demultiplexor

Hotline - účtovníctvo tel.: 0905/ , denne od 8 00 do HUMANET ÚČTOVNÍCTVO


Transkript:

CVIČENIE 5/13 (SW2) Programovane v jazyku C - davaj argumenty About odovzdavane parametrov z prkazoveho radku Basc knowledge argument prkazoveho radku - argumenty nasledujuce za samotnym prkazom ls -la /home/mrek argumentm je v tomto prpade vsetko za samotnym prkazom ls mechanzmus odovzdavana argumentov/parametrov z prkazoveho radku sa v C deje pomocou dvoch argumentov funkce man. nt man( nt argc, char *argv[] ) argc predstavuje pocet argumentov spolu s nazvom daneho programu argv predstavuje smernk na pole retazcov predstavujucch jednotlve argumenty, kde argv[0] predstavuje nazov samotneho programu. pre nas prklad uvedeny vysse by bol obsah jednotlvych premennych takyto: $ ls -la /home/mrek > argc = 3 > argv[0] = "ls", argv[1] = "-la", argv[2] = "/home/mrek"

TODO: ARGV a ARGC - argv... ukazatel na pole ponterů na jednotlvé parametry - argc... počet parametrů Prklad: - spuštění programu: myprog.exe 2 d2 8 5 - v programu: nt man(nt argc, char** argv) {... *argv argv[0] argv 0 argc 5 argv[3] 5 \0 8 \0 d argv[3][1] m y p r o g. e x e \0 **argv *argv[0] argv[0][0]

nt man(nt argc, char** argv) { argv++; - stuace po provedení příkazu argv++ *argv argv[0] argv 0 argc 5 5 \0 8 \0 d **argv m y p r o g. e x e \0 Prklad: vypsání parametrů programu nt man(nt argc, char** argv) { whle (*argv){ prntf( %s\n,*argv); argv++; return 0; Prklad: kalkulačka s +/- - načíst z příkazové řádky buď +/- nebo číslo - po zpracování celé příkazové řádky vypsat výsledek - převod řetězce na čísla pomocí ato pokus.exe 1 + 12 1 10 + 1

- složtější verze by měla zvládnout ošetřt dvné vstupy a musí umět pracovat s: - převod řetězce na čísla pomocí strtod/strtol pokus.exe 1 + -12 +1 10 + 1 nt man(nt argc, char* argv[]){ char* p; nt cslo; nt vysledek = 0; nt op = 1; nt = 1; nt c; whle ( < argc){ c = argv[][0]; // prvn znak -teho retezce f ((c=='+' c=='-') ) { // je to znamenko f (argv[][1] == '\0') {// za znamenkem je mezera -> OK f (op == 0) { // pred znamenkem bylo nejake cslo f (c=='+') op = 1; else op = 2; else { // za znamenkem nen mezera -> znamenko a cslo prntf("\npred znamenkem nebylo cslo.\n"); else { // za znamenkem nen mezera -> je tam cslo cslo = strtod(argv[],&p); f (*p){ prntf("\nza cslem je bordel.\n"); f (op > 0) { f (op == 1) vysledek = vysledek + cslo; f (op == 2) vysledek = vysledek - cslo; op = 0;

else { // pred cslem nebylo znamenko -> chyba prntf("\npred cslem nebylo znamenko(1).\n"); else { // prvn znak je cslo cslo = strtod(argv[],&p); f (*p){ prntf("\nza cslem je bordel.\n"); f (op > 0) { f (op == 1) vysledek = vysledek + cslo; f (op == 2) vysledek = vysledek - cslo; op = 0; else { // pred cslem nebylo znamenko -> chyba prntf("\npred cslem nebylo znamenko(2).\n"); ++; prntf ("\n\nvysledek %d ",vysledek); return 0; Examples Ex. 1: vytvorte program, ktory vypse na obrazovku Hello name!, kde name sa odovzda ako argument z prkazoveho radku pr spusten programu. #nclude <stdo.h> nt man( nt argc, char *argv[] )

{ // v tomto jednom radku bude nas vysledok ;) return( 0 ); Ex. 2: upravte predchadzajuc program tak, aby: 1. ak nebol zadany zadny argument, vypsal na obrazovku: Nemam koho pozdravt :( 2. ak bolo zadanych vac ako jeden argument, vypse sa na obrazovku: Nevem, koho mam pozdravt :( 3. pokal je jeden argument, vypse sa na obrazovku: Hello name!, kde name bude prave tento argument Samozrejme - sa uvazuje pocet argumentov za samotnym nazvom programu. Ex. 3: vytvorte program, ktory zo vstupu nacta postupnost csel a vypse ch sucet. pre konverzu csel z retazca do ntegeru pouzte funkcu ato z knznce stdlb.h. $ sucet 1 2 3 4 5 6 Sucet je: 21 Ex. 4: vytvorte program, ktoreho argumentom prkazoveho radku bude lubovolne dlhy text. z tohto textu zst a vypse na obrazovku, kolko slov tohto textu predstavuju csla (teda retazce zostavene len z cslc). Prklad: $ fnder ahoj bezdeda. dnes som uz stary mladenec, lebo uz mam 25 rokov.\ tak s vaz tych svojch 18. pocet csel v texte: 2 Homework Vytvorte program, ktory dostane ako vstupny parameter cslo. Vystupom bude jeho slovna reprezentaca. Teda: $ convert 147 stostyrdsatsedem V prpade problemov so slovencnou mozete pouzt anglctnu ;) $ convert 147 onehundredfortyseven