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

Zapis do pliku tekstowego txt.

Object Storage Arubacloud
0 głosów
318 wizyt
pytanie zadane 24 lutego 2016 w C i C++ przez lilkaczynski Początkujący (450 p.)
#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;
string tytul, nick;
string pyt[5];
string odpA[5], odpB[5], odpC[5], odpD[5];
string odpowiedz;
int main()
{

    pyt[0] = " Jaki jest glowny budulec ludzkiego ciala: ";
    pyt[1] = "Jaki owoc ma najwiecej potasu: ";
    pyt[2] = "Jakie zwierze jest zabojca doskonalym jesli jest sie w jego zywiole: ";
    pyt[3] = "Ile PIS da na kazde dziecko zlotych: ";
    pyt[4] = "Najwazniejszy budulec kosci to: ";
    odpA[0] = "A", odpB[0] = "B", odpC[0] = "C", odpD[1] = "D";

    tytul="Quiz !", nick="Krystian Plominski";


    fstream plik;
    plik.open("qwiz.txt", ios::out);

    cout<<tytul<<endl;
    cout<<nick<<endl;

    cout<<pyt[0]<<endl<<"Woda"<<endl<<"Kupa"<<endl<<"Krew"<<endl<<"Chleb"<<endl;
    cin>>odpowiedz;
    if(odpowiedz==odpA[0])
    {
        cout<<"Poprawna odpowiedz! Zdobyles 1 punkt"<<endl;
    }
    else
    {
        cout<<"Zla odpowiedz!"<<endl;
    }
    cout<<pyt[1]<<endl<<"Pomarancz"<<endl<<"Arbuz"<<endl<<"Gruszka"<<endl<<"Banan"<<endl;
    cin>>odpowiedz;
    if(odpowiedz==odpD[1])
    {
        cout<<"Poprawna odpowiedz! zdobyles 1 punkt!"<<endl;
    }
    else
    {
        cout<<"Zla odpowiedz!"<<endl;
    }
    cout<<pyt[2]<<endl<<"Rekin"<<endl<<"Meduza"<<endl<<"Wieloryb"<<endl<<"Ryba pila"<<endl;
    cin>>odpowiedz;
    if(odpowiedz==odpA[0])
    {
        cout<<"Poprawna odpowiedz! zdobyles 1 punkt"<<endl;
    }
    else
    {
        cout<<"Zla odpowiedz!"<<endl;
    }
    cout<<pyt[3]<<endl<<"1000Zl"<<endl<<"500Zl"<<endl<<"1500Zl"<<endl<<"Nic nie da!"<<endl;
    cin>>odpowiedz;
    if(odpowiedz==odpB[0])
    {
        cout<<"Poprawna odpowiedz! Zdobyles 1 punkt"<<endl;
    }
    else
    {
    cout<<"Zla odpowiedz!";
    }
    cout<<pyt[4]<<endl<<"Weglodowany"<<endl<<"Tluszcze omega 3 i 6"<<endl<<"Wapn"<<endl<<"Cynk"<<endl;
    cin>>odpowiedz;
    if(odpowiedz==odpC[0])
    {
        cout<<"Poprawna odpowiedz! zdobyles 1 punkt";
    }
    else{
    cout <<"Zla odpowiedz!";
    }





return 0;
}

Witam,

Przerobiłem lekcje pętli tablic if aż do zapisu pliku tekstowego i własnie pojawily mi sie schody bo wszystko mam zgodnie z filmikiem i nie chce mi zapisac

Prosze o pomoc gdzie jest blad
 

2 odpowiedzi

+1 głos
odpowiedź 24 lutego 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Nie chce ci zapisać, dlatego że ty wyświetlasz te wartości zamiast je zapisać do pliku ;D

Pozamieniaj obiekt cout na twoj obiekt plik dla tych danych, które chcesz zapisać do pliku. Czyli jeśli chcesz zapisać nick, to zamień cout << nick na plik << nick (oczywiście nazwa - tu "plik" - zależy od tego, jak nazwałeś swój obiekt klasy fstream, za pomocą którego obsługujesz plik)

P.S.

"Ile PIS da na kazde dziecko zlotych: " Haha, fajne pytanie na quiz :)

komentarz 24 lutego 2016 przez lilkaczynski Początkujący (450 p.)
Czyli zeby quiz dzialal poprawnie i sie poprawnie udalo go odczytac funkcja ios::in

to musze wszedzie gdzie jest cout zamienic na plik? równiez w If'ach a dokladniej w klamrach?
komentarz 24 lutego 2016 przez lilkaczynski Początkujący (450 p.)
Juz wiem, wszystkie couty ktore nie byly w IF'ach pozmienialem i ladnie wyszlo ,dzieki ziomek :*
komentarz 24 lutego 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)

Wiesz co, najlepiej obejrzyj sobie ten odcinek jeszcze raz, ale bardzo dokładnie. Po pierwsze ios::in to nie jest funkcja (ale dobra, to nie jest najważniejsze w tej chwili).

No jak to gdzie zamienić cout na plik? Zasadnicza różnica:

  • cout to jest obiekt, za pomocą którego możesz wyświetlić sobie jakiś napis na ekranie. W twoim przypadku, na ekran chcesz wypisać przecież treść pytania i możliwe odpowiedzi.
  • plik to jest obiekt który samemu utworzyłeś, i za jego pomocą możesz "wypisywać" dane, ale do pliku. Czyli tam gdzie chcesz zapisać jakieś dane - np chcesz zapisać końcowy wynik do pliku, no to tam używasz plik << jakies_dane
0 głosów
odpowiedź 24 lutego 2016 przez Odmieniec Nowicjusz (240 p.)
W swoim programie tylko otworzyłeś plik...

Nie wpisujesz do niego danych, czyli:

plik.wpisujesz to co ma byc w pliku

a na koniec wypadałoby go zamknąć

plik.close();
komentarz 24 lutego 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Z tego co wiem, to metoda close() jest w destruktorze klasy fstream
komentarz 24 lutego 2016 przez Odmieniec Nowicjusz (240 p.)
Odsyłam do filmiku Pana Zelenta odc.7 ok. 5min
komentarz 24 lutego 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Ja odeślę tutaj :) http://stackoverflow.com/questions/748014/do-i-need-to-manually-close-an-ifstream Zamkanie plików nie jest konieczne.

Podobne pytania

–1 głos
1 odpowiedź 443 wizyt
0 głosów
1 odpowiedź 1,172 wizyt
+4 głosów
2 odpowiedzi 15,135 wizyt

92,580 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 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!

...