• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wczytywanie linii

Object Storage Arubacloud
0 głosów
649 wizyt
pytanie zadane 11 listopada 2016 w C i C++ przez Adampio Początkujący (310 p.)
Witam!

Piszę program do liczenia ilości liter w podanym przez użytkownika tekście. Na wejściu podajemy ilość linii tekstu, wprowadzamy po kolei linie, a program powinien wypisac ilosc kazdej litery (alfabetycznie, najpierw małe, potem duże)

Problem polega na tym, że program wczytuje tylko pierwszą linię, następnych już nie chce "zawiesza się", mimo że kursor miga i wszystko wskazuje jakby działał. Nie wazne ile linii wpisze: 1, 2, 654, 1000, czy -445. Program wczytuje poprawnie tylko 1, ustawia migająccy kursor w drugiej linii i jakby czeka nie pozwalając jednak nic wpisywać. Program działa poprawnie tylko do 0 linii.

Link do kodu: http://wklej.org/id/2943224/

(Pominąłem w kodzie niektóre litery)

Będę wdzięcznyy za pomoc.
komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)

Mi się to skompilować nie chce nawet. cheeky

komentarz 11 listopada 2016 przez Adampio Początkujący (310 p.)
Mi się kompiluje, jakby nie było błędu. A co Ci pisze w błędach?
komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)
Już sobie z tym poradziłem. Masz w odpowiedzi poniżej.
komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)
Wysłałeś kod w którym było: int a=0, b=0, c=0, (...kod...), w=0, x=0, y=0, z=0;

(...kod...) to nie jest zmienna więc nie ma prawa się skompilować.
komentarz 11 listopada 2016 przez Adampio Początkujący (310 p.)
to dlatego żeby nie pisac całego kodu

1 odpowiedź

0 głosów
odpowiedź 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)
wybrane 11 listopada 2016 przez Adampio
 
Najlepsza

for (int ii=0; ii<dlugosc; ii++) brakowało jednej literki 'i' dla inkrementacji ii+.

 

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    int linie;
    cin >> linie;
    int a=0, b=0, c=0, w=0, x=0, y=0, z=0;
    int A=0, B=0, C=0, W=0, X=0, Y=0, Z=0;

    do
    {
        string tekst;
        getline(cin, tekst);
        int dlugosc=tekst.length();

        for (int ii=0; ii<dlugosc; ii++)
        {
            switch (tekst[ii])
            {
            case 'a':
                a++;
                break;
            case 'b':
                b++;
                break;
            //(kod...)
            case 'z':
                a++;
                break;
            case 'A':
                A++;
                break;
            //(kod...)
            case 'Z':
                Z++;
                break;
            }
        }
    } while (linie--);

    if (a!=0) cout << "a " << a << endl;
    // (kod)
    if (x!=0) cout << "x " << x << endl;
    if (y!=0) cout << "y " << y << endl;
    if (z!=0) cout << "z " << z << endl;

    if (A!=0) cout << "A " << A << endl;
    // (kod)
    if (Z!=0) cout << "Z " << Z << endl;

    return 0;
}

 

komentarz 11 listopada 2016 przez Adampio Początkujący (310 p.)

A rzeczywiściesmiley. Dzięki wielkie!

komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)

Było to opisane w błędach kompilacji przecież. Nie ma sprawy. smiley

komentarz 11 listopada 2016 przez efiku Szeryf (75,160 p.)
Ale czy na pewno musimy mieć aż tyle zmiennych? Nie lepiej zrobić z tego jakiejś tablicy typu klucz wartość?
Naprawdę, nie przeszkadza Ci ten kod? :>
http://cpp.sh/7vm4k
komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)

Pomysł @efik jak zawsze niezawodny. smiley Jednak kolejność nauki programowania w C++ podpowiada, że biblioteki STL się poznaje w późniejszym etapie. smiley

komentarz 11 listopada 2016 przez unknown Nałogowiec (39,560 p.)
Jaka kolejność? STL'a powinno się poznać jak najwcześniej.
komentarz 11 listopada 2016 przez Evelek Nałogowiec (28,960 p.)
No racja, ułatwiłby wiele operacji, jednak jeszcze się nie spotkałem z kursem C++ gdzie na początku po poznaniu typów zmiennych, operacji itd. przechodziło się od razu do nauki STL.
komentarz 11 listopada 2016 przez efiku Szeryf (75,160 p.)
Ale to nie jest kurs C++ początek nauki tylko zadanie napisania jakiegoś programu, no hej :)

Podobne pytania

+1 głos
3 odpowiedzi 4,587 wizyt
pytanie zadane 21 czerwca 2016 w C i C++ przez Nightmare43 Użytkownik (630 p.)
0 głosów
1 odpowiedź 847 wizyt
pytanie zadane 10 grudnia 2015 w C i C++ przez baszmest Gaduła (3,080 p.)
0 głosów
1 odpowiedź 514 wizyt
pytanie zadane 31 grudnia 2015 w C i C++ przez Jonki Dyskutant (8,180 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...