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

Jak zmienić wartość liczby w pliku tekstowym txt

Mały hosting, OGROMNE możliwości
0 głosów
1,479 wizyt
pytanie zadane 16 lipca 2016 w C i C++ przez Hlupo Początkujący (460 p.)

Chcę napisać licznik życia, który czyta dane z pliku tekstowego. program czyta plik, ale nie wiem jak zmienić wartość "życie".

main.cpp
 

#include <iostream>
#include "zycie.h"

using namespace std;

int main()
{
    Zycie z;
    int suma;

    z.wczytaj();

    return 0;
}

zycie.h
 

#include <iostream>

using namespace std;

class Zycie
{
public:

    int ilosc;
    int nr_zycia;
    string tresc;

    void wczytaj(); //wczytuje z pliku dane.txt
    void zmien(); //zmienia wartosc zycie w pliku dane.txt
};

zycie.cpp
 

#include <iostream>
#include "zycie.h"
#include <fstream>
#include <cstdlib>
#include <windows.h>

using namespace std;

void Zycie::wczytaj()
{
    fstream plik;
    nr_zycia=1;

    plik.open("dane.txt",ios::in);

    if(plik.good()==false)
    {
        cout<<"Nie mozna otworzyć pliku!";
    }

    int nr_lini=nr_zycia;
    string linia;

    while(getline(plik,linia))
   {
      tresc=linia;
   }

   cout<<tresc;

   if(tresc=="zycie-0")
   {
       system("cls");
       cout<<"Game Over!"<<endl;
       exit(0);
   }

}

dane.txt
 

zycie-100

program piszę po to żeby nauczyć się pracy na tego typu plikach.

2 odpowiedzi

0 głosów
odpowiedź 16 lipca 2016 przez fenq80 Bywalec (2,940 p.)
wybrane 16 lipca 2016 przez Hlupo
 
Najlepsza

uzyj:

ofstream g;
g.open("nazwa pliku ")//plik z którego wcześniej odcytales dane, zostanie on wyzerowany przez metode open
g<<Zycie;//i zapisujesz w pliku potrzebne dane o zyciu, znow w pierwszej lini

 

chyba o to chodziło. Mam nadzieje ze pomogłęm

 

komentarz 16 lipca 2016 przez fenq80 Bywalec (2,940 p.)
to co napisałem to do metody zmien();

następnie jak wywolasz twoja metode wczytaj() to program odczyta nowo wpisane dane.
–1 głos
odpowiedź 16 lipca 2016 przez Michał Kazula Pasjonat (19,520 p.)

Masz w klasie "Zycie" zadeklarowaną metodę "void zmien()" nie widzę jej definicji w pliku zycie.cpp?! Oraz nie widzę jej wywołania w main() ani w Zycie::wczytaj()!

 ale nie wiem jak zmienić wartość "życie".

Co chcesz osiągnąć? Bo to że chcesz zmienić to nie wiele nam mówi. Chcesz zamienić "zycie-0" na "jestem w niebie" czy "poszedłem do piekła"?

program piszę po to żeby nauczyć się pracy na tego typu plikach.

tego typu plikach.

A co to za typ? Zwykły *.txt. W dzisiejszych czasach nie jest to żaden wyczyn nauczyć się obsługi tego formatu  ba nie ma po co tego robić bo się z tego formatu nie korzysta.

W sieci jest pełno tutoriali, przykładów jak korzystać z obsługi. A jak chwile posiedzisz to i biblioteki do zarządzania też znajdziesz.

Zainteresuj się np: *.xls, *.xml lub chociaż *.csv! Bo w tym jest potencjał.

 

Przepraszam jak kogoś uraziłem, ale taki poziom zadawania pytań mnie frustruje (zniesmacza). 

komentarz 16 lipca 2016 przez Hlupo Początkujący (460 p.)
Ten poziom odpowiedzi wskazuje na to że w c++ nie umiałbyś napisać nawet "Hello World".

Zadałem proste pytanie, to co ma się zmienić w pliku txt jest raczej oczywiste, ale widzę że Ty jesteś na to zbyt tępy, albo jesteś kretynem który uważa że nikt poza Tobą nie nauczy się żadnego języka programowania

Podobne pytania

0 głosów
1 odpowiedź 1,513 wizyt
0 głosów
1 odpowiedź 2,484 wizyt
pytanie zadane 17 września 2016 w PHP przez wonderful Nowicjusz (170 p.)
0 głosów
1 odpowiedź 375 wizyt
pytanie zadane 12 października 2019 w C i C++ przez amelia.cpp Obywatel (1,860 p.)

93,718 zapytań

142,631 odpowiedzi

323,262 komentarzy

63,266 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...