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

błąd w kodzie z odcinka

Object Storage Arubacloud
0 głosów
202 wizyt
pytanie zadane 12 grudnia 2016 w C i C++ przez bastih48 Początkujący (320 p.)
Witam, mam problem z kodem z 7 odcinka kursu c++. Wczytuje mi tylko pierwsze 3 linie tekstu z wizytowka.txt, wszystko przejrzałem i nie mogę znaleźć tego błędu. Ktoś pomoże?
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

string imie, nazwisko;
int nr_tel;

int main()
{
    string linia;
    int nr_linii=1;
    fstream plik;
    plik.open("wizytowka.txt",ios::in );
    if(plik.good()==false)
    {
        cout<<"taki plik nie istnieje";

    }

    while(getline(plik,linia))
    {
        switch(nr_linii)
        {
            case 1: imie=linia;break;
            case 2: nazwisko=linia;break;
            case 3: nr_tel=atoi(linia.c_str());break;

        }

        nr_linii++;
    }




    plik.close();

   cout<<imie<<endl;
    cout<<nazwisko<<endl;
    cout<<nr_tel<<endl;
    return 0;
}

 

komentarz 12 grudnia 2016 przez criss Mędrzec (172,590 p.)
A jak chcesz, żeby ci wczytywało więcej skoro string otrzymany od getline przypisujesz do czegokolwiek tylko przy trzech pierwszych liniach (ten switch)?

2 odpowiedzi

0 głosów
odpowiedź 12 grudnia 2016 przez Chess Szeryf (76,710 p.)
Warunek pętli masz błędny chyba.
komentarz 12 grudnia 2016 przez unknown Nałogowiec (39,560 p.)
Jest poprawny.
0 głosów
odpowiedź 12 grudnia 2016 przez Jackobs Bywalec (2,430 p.)
To było pierwszy program z  wczytywaniem. Pan Mirosław dopiero w kolejnych stosuję metody wczytywania nieokreślonej liczby linii.

Żeby wczytywało wszystkie dane musisz dodać jednego if-a za switchem:" if (nr_linii==3) {nr_linii=0; } "  w ten sposób plik  nie przestanie wczytywać linii  po pierwszej pętli.

Podobne pytania

0 głosów
1 odpowiedź 267 wizyt
0 głosów
2 odpowiedzi 186 wizyt
pytanie zadane 26 stycznia 2016 w C i C++ przez Quezx Użytkownik (510 p.)
0 głosów
1 odpowiedź 196 wizyt
pytanie zadane 15 grudnia 2017 w JavaScript przez mikoh81 Obywatel (1,260 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 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!

...