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:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | IT novinky

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

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

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Dotaz: getchar v programu?

    8.1.2020 21:20 Dooyer
    getchar v programu?
    Přečteno: 443×
    case 1:
    	getchar();
    	printf("Zadejte obsah nebo objem:");
    		gets(vyber);
    		if (!strcmp(vyber, "obsah"))	{	
    		printf("Napis delku stranu: ");
    		scanf("%f",&num1);
    			if (num1 > 0){
       			double result = pow(num1,3);
     			printf("Vysledek: %lf\n", result);
         	   	 }
        		else{
    			printf("Chybne zadana strana");
    		}
    	}
    	
    		else if (!strcmp(vyber, "objem")){	
    		printf("\nNapis delku stranu: ");
    		scanf("%f%f%f",&num1,&num2,&num3);
           		if (num1 > 0 && num2 >0 && num3 >0){
           		double result = num1*num2*num3;
           		 printf("Vysledek: %lf\n", result);
               		 }
    			else{
    			printf("Chybne zadana strana");
    				}
    			}
    		else{
    		printf("Chybne zadany vyber!");}
    	break;
    Chci se zeptat proč bez getchar(); to nefunguje a po vypsání ,,Zadejte obsah nebo objem,, vyhodí chybný výběr? přece to má napsat ,,Zadejte obsah nebo objem,, a nechat mě to něco napsat a pak načíst do řetězce pomocí gets ne?

    PS: je to jen část kodu zbytek sem neposlal zajímá mě jen tohle chyba je jen tu

    Odpovědi

    8.1.2020 21:39 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: getchar v programu?
    V buffri pre stdin niečo je a ten getchar() to odtiaľ vyberie.

    Tipol by som, že to niečo, je znak nového riadku, z nejakého predchádzajúceho vstupu. Resp. niečo čo predchádzajúce čítanie vstupu neprečítalo.

    Navrhujem zistiť, čo ten getchar() vráti.
    Jendа avatar 8.1.2020 21:48 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: getchar v programu?
    Tak si obsah vyber vypiš, ne? A to buď pomocí printf, nebo „jako profík“ se nauč používat debugger, nastavt breakpoint za to gets a nech si tu proměnnou zobrazit.
    Gréta avatar 9.1.2020 17:03 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: getchar v programu?

    taky zdroják jako profík formátuj se ty závorky nedaj skoro číst jak jsou jako pořád jněkde jinde. jsem to u sebe lechce přeformátovala ;D

    a jestli chceš bejt jednou jako bohatej profík tak používej misto tabulátoru mezery hele ;D

    jakej používáš editor nebo IDE na psaní zdrojáčků??

    case 1:
        getchar();
        printf("Zadejte obsah nebo objem:");
        gets ( vyber );
        if ( !strcmp ( vyber, "obsah" ) )
        {
            printf ( "Napis delku stranu: " );
            scanf ( "%f",&num1 );
            if ( num1 > 0 ) {
                double result = pow ( num1,3 );
                printf ( "Vysledek: %lf\n", result );
            } else {
                printf ( "Chybne zadana strana" );
            }
        }
        else if (!strcmp(vyber, "objem"))
        {
            printf ( "\nNapis delku stranu: " );
            scanf ( "%f%f%f",&num1,&num2,&num3 );
            if ( num1 > 0 && num2 >0 && num3 >0 ) {
                double result = num1*num2*num3;
                printf ( "Vysledek: %lf\n", result );
            } else {
                printf ( "Chybne zadana strana" );
            }
        }
        else
        {
        printf("Chybne zadany vyber!");
        }
        break;
    
    Jendа avatar 9.1.2020 21:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: getchar v programu?
    a jestli chceš bejt jednou jako bohatej profík tak používej misto tabulátoru mezery hele ;D
    Já používám mezery proto, protože se mi zaboha nepodařilo donutit vim, aby do terminálu vypisoval taby (a to ještě s šířkou 2) -- konvertuje to na mezery, takže když to potom zkopíruju a pastnu, tak jsou to mezery a pak mám mix tabů a mezer. Když je to někde striktní, tak před commitem mezery za taby nahrazuju.
    10.1.2020 08:42 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: getchar v programu?
    a jestli chceš bejt jednou jako bohatej profík tak používej misto tabulátoru mezery
    To ma ranilo :-(
    Gréta avatar 11.1.2020 12:24 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: getchar v programu?

    se asi neschodnem jestli jsou jako lepší mezery nebo taby :D :D si ale myslim že se snad schodnem žeby se to nemělo zbytečně moc míchat vzlášť když ten zdrojáček jako chceme někde ukazovat ;D

    Jendа avatar 11.1.2020 12:30 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: getchar v programu?
    No každopádně jsem článek ukázal v práci a všichni přešli na mezery.
    Gréta avatar 11.1.2020 12:46 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: getchar v programu?

    :D :D :D :D

    8.1.2020 22:02 debian+
    Rozbalit Rozbalit vše Re: getchar v programu?
    Zalezi od programu pred. Spravne nema tam byt getchar.

    A miesto gets() pouzi fgets().

    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.