abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 2
    dnes 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 9
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 3
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 198 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Dotaz: divny vystup u jednoduche kalkulacky v C

    Bundas avatar 17.1.2014 17:13 Bundas | skóre: 14 | Pardubice
    divny vystup u jednoduche kalkulacky v C
    Přečteno: 452×
    U tohodle programu mi blbne ta cast u switche. jakmile se program dostane ke switchi tak opet zacne cyklus aniz by to chtelo vstup. jestli mi nerozumite, zkuste si to zkompilovat a pochopite
    int main(){
        puts("Vitejte v bundas kalkulacce\npocitejte:\n");
        int vs1, vs2;
        char b;
            do{
    
            printf("Zadejte prvni cislo: ");
            scanf("%d", &vs1);
            if(vs1 == 666){
                break;
            }
            printf("Zadejte druhe cislo: ");
            scanf("%d", &vs2);
            if(vs2 == 666){
                break;
            }
            printf("\njakou aritmetickou operaci si prejete?\nDELIT ---- /\nNASOBIT ---- *\nSCITAT ---- +\nODCITAT ---- -\n\nVYBER: \n");
            scanf("%c", &b);
            switch(b){
            case '/' : printf("Vysledek je: %d\n", vs1/vs2);
                break;
            case '*' : printf("Vysledek je: %d\n", vs1*vs2);
                break;
            case '+' : printf("Vysledek je: %d\n", vs1+vs2);
                break;
            case '-' : printf("Vysledek je: %d\n", vs1-vs2);
                break;
            case 'e' : printf("aplikace se ukoncuje...");
                break;
    
    
            }
    
    
        }while(1);
        return 0;
    
    }
    
    
    Abe the Messiah has come.

    Odpovědi

    17.1.2014 17:18 chrono
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    Ten tretí príkaz scanf použije znak <enter>, ktorý bol použitý pri zadávaní predchádzajúceho čísla.
    Bundas avatar 17.1.2014 17:25 Bundas | skóre: 14 | Pardubice
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    opravil sem to, ale furt to blbne stejne.
    Abe the Messiah has come.
    17.1.2014 18:05 jekub
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
            scanf("\n%c", &b);
    
            case 'e' : printf("aplikace se ukoncuje...");
                return 0;
    
    17.1.2014 19:15 luky
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    RTFM!
    %c ... The usual skip of leading white space is suppressed. To skip white space first, use an explicit space in the format.
    17.1.2014 22:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    Prdni před každý scanf toto:
    while(getchar() != '\n' );
    (Vybereš tím vstupní buffer, minimálně tu desítku co ti tam letí)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    martin-ux avatar 17.1.2014 22:43 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    no, tato uloha bola pre zacinajuceho programatora o dost jednoduchsia pri pouziti fcii z conio.h (klasicky getch() ). to som si len tak zaspominal ..
    scanf s pouzitim \n je IMO skor workaround ako riesenie .. ale pre zadanie ulohy staci ..
    ..when you do things right, people won't be sure you've done anything at all..
    21.1.2014 11:37 dword
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    while((c = getchar()) != '\n' && c != EOF);

    I tohle je workaround? Jestli ano, zajimalo by mne proc.
    martin-ux avatar 21.1.2014 18:57 martin-ux | skóre: 18 | Bratislava
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    ja som reagoval na jakubov priklad scanf() .. jeho priklad nie je zly, luky-ho citacia z man-u je to, co hladal .. tj, ci pouzije
    scanf(" %c", &c); 
    scanf("\n%c, &c); 
    
    je to iste .. workaround ale asi nebolo spravne slovo na to riesenie (kedze man o tom pise).

    aby som to uviedol na spravnu mieru, nemal som pravdu ani s tym DOSovskym getch(); "problem" so vstupnym bufferom je rovnaky a ma i rovnake riesenie.
    ..when you do things right, people won't be sure you've done anything at all..
    18.1.2014 00:36 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: divny vystup u jednoduche kalkulacky v C
    Je to jednoduché prostě to chce vyčistit vstupní buffer před dalším čtením.

    Čili přidat: scanf(" %*s");

    Viz zde kde jsme to řešily: [C] Načtení celých čísel

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.