Načítání textu pomocí getchar. – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Načítání textu pomocí getchar. – C / C++ – Fórum – Programujte.comNačítání textu pomocí getchar. – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
xxmatxx0
Duch
22. 10. 2013   #1
-
0
-

Zdravím mohl by mě někdo prosím poradit proč tento kód vypíše znaky načtené pomocí getchar ale už nevypíše na konci řádku řetězec pomocí printf.

Předem dík za odpověď.

#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int a,b,c;

    while((a=getchar())!=EOF)
    {

            if (a==32) {b++;}
            
 	    putchar(a);
               
            if (a==10)
                    
                {
                    (void) printf("\n%i\n",b);
                    b=0;
                }

       


    }
return 0;
}
Nahlásit jako SPAM
IP: 90.179.61.–
KIIV
~ Moderátor
+43
God of flame
22. 10. 2013   #2
-
0
-

jakej retezec?

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xxmatxx0
Duch
22. 10. 2013   #3
-
0
-

Libovolný řetězec načtený pomocí getchar.

Nahlásit jako SPAM
IP: 90.179.61.–
KIIV
~ Moderátor
+43
God of flame
22. 10. 2013   #4
-
0
-

nikam ho nenacitas ne? Zatim ti to muze vypsat maximalne pocet mezer na radku...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
xxmatxx0
Duch
22. 10. 2013   #5
-
0
-

asi jo

Nahlásit jako SPAM
IP: 90.179.61.–
22. 10. 2013   #6
-
0
-

nevím, jestli dobře rozumím zadání, ale asi je požadováno načíst znaky pomocí getchar a pak vypsat řetězec z nich složený.  V takovém případě potřebuješ pole typu char, do kterého budeš ukládat jednotlivé znaky. Za poslední uložený znak zapíšeš 0 (myslím tím hodnotu 0x00). 

hu

Nahlásit jako SPAM
IP: 195.178.67.–
xxmatxx0
Duch
22. 10. 2013   #7
-
0
-

vypisuju to po jednotlivích znacích pomocí putchar ale předtím bych chtěl aby se  vyhodnotila nějaká podmínka podle toho jaký  je načtený znak a ty to podmínky mě nefunují. a nevím proč, protože se mě to normáně přeloží.

Nahlásit jako SPAM
IP: 90.179.61.–
xxmatxx0
Duch
22. 10. 2013   #8
-
0
-

:D :D :D po desáté sem to kompiloval a spouštěl a najenou to funguje jak má. nevím čím to je. 

Nahlásit jako SPAM
IP: 90.179.61.–
xxmatxx0
Duch
22. 10. 2013   #9
-
0
-

Jinak díky za zájem.

Nahlásit jako SPAM
IP: 90.179.61.–
22. 10. 2013   #10
-
0
-

okomentováno, co děláš:

#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int a,b,c;

    while((a=getchar())!=EOF)   //cyklus se ukončí při načtení EOF
    {

            if (a==32) {b++;}  //pokud přečtený znak je mezera, inkrementuješ počitadlo
            
 	    putchar(a);  //vypíšeš přečtený znak na monitor
               
            if (a==10)  //pokud byl znak <LF> vypíšeš stav počítadla na monitor a počitadlo vynuluješ
                    
                {
                    (void) printf("\n%i\n",b);
                    b=0;
                }

       


    }
return 0;
}

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý