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

Wczytywanie linii

VPS Starter Arubacloud
0 głosów
638 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,554 wizyt
pytanie zadane 21 czerwca 2016 w C i C++ przez Nightmare43 Użytkownik (630 p.)
0 głosów
1 odpowiedź 827 wizyt
pytanie zadane 10 grudnia 2015 w C i C++ przez baszmest Gaduła (3,080 p.)
0 głosów
1 odpowiedź 476 wizyt
pytanie zadane 31 grudnia 2015 w C i C++ przez Jonki Dyskutant (8,180 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...