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

zapis i odczyt mam problem z tym c++

0 głosów
65 wizyt
pytanie zadane 27 grudnia 2018 w C i C++ przez VecsonON Nowicjusz (170 p.)

poczebuje pomocy zrobiłem taki zapis i odczyt ale on nie działa

kod zapisu i odczytu:

case 10:
            {
                plik.open("save.sav", ios::out);
                plik << hajs;
                plik << mieskancy;
                plik << wojsko;
                plik << farmy;
                plik << rolnicy;
                plik << jedzienie;
                plik << domy;
                cout << "Pomyslnie zapisano gre" << endl;
            }
                break;
            case 9:
            {
                plik.open("save.sav", ios::in);
                plik >> hajs;
                plik >> mieskancy;
                plik >> wojsko;
                plik >> farmy;
                plik >> rolnicy;
                plik >> jedzienie;
                plik >> domy;
                cout << "Pomyslnie wczytano gre" << endl;
                break;

a to Cały kod:

#include "pch.h"
#include <iostream>
#include <windows.h>
#include <time.h>
#include <cstdlib>
#include <fstream>

using namespace std;

int st , hajs = 1000 , mieskancy = 20 , wojsko = 100 , farmy = 2 , rolnicy = 2 , jedzienie = 50 ,  domy = 10 , wb1;

int liczba;

int main()
{
    fstream plik;
    HANDLE hOut;
    hOut = GetStdHandle(STD_OUTPUT_HANDLE);

    SetConsoleTextAttribute(hOut, 0x0003);
    cout << "---------------------------" << endl; Sleep(100);
    cout << "----|||-----|||-----|||----" << endl; Sleep(100);
    cout << "-----|||---|||||---|||-----" << endl; Sleep(100);
    cout << "------|||-|||-|||-|||------" << endl; Sleep(100);
    cout << "--------|||-----|||--------" << endl; Sleep(100);
    cout << "---------------------------" << endl; Sleep(300);
    SetConsoleTextAttribute(hOut, 0x0004);
    cout << "1.START" << endl;
    cout << "2.EXIT" << endl;
    cin >> st;
    for (;;)
    {
        switch (st)
        {
        case 1:
        {
            system("cls");
            SetConsoleTextAttribute(hOut, 0x0007);
            hajs /= mieskancy;
            hajs /= rolnicy;
            jedzienie /= wojsko;
            jedzienie /= mieskancy;
            jedzienie /= rolnicy;
            srand(time(NULL));
            liczba = rand() % 100 ;    
            if (liczba == 51)
            {
                mieskancy += domy;
                domy -= domy;
            }
            cout << "Twoja Armia liczy: " << wojsko << endl;
            cout << "masz pieniedzy: " << hajs << endl;
            cout << "masz mieskancuw: " << mieskancy << endl;
            cout << "masz jedzienia: " << jedzienie << endl;
            cout << "masz farm: " << farmy << endl;
            cout << "ilosc rolnikow: " << rolnicy << endl; 
            cout << "ilosc wolnych domow " << domy << endl;
            cout << "------------------------" << endl;
            cout << "---------WOJENE---------" << endl;
            cout << "------------------------" << endl;
            cout << "1.Rekrutuj armie " << endl;
            cout << "2.lista przecziwnikow " << endl;
            cout << "3.wojna" << endl;
            cout << "------------------------" << endl;
            cout << "-------GOSPODARKA-------" << endl;
            cout << "------------------------" << endl;
            cout << "4.zbieraj podatki" << endl;
            cout << "5.idz rekrutowac rolnikow" << endl;
            cout << "6.idz zbieraj plony" << endl;
            cout << "7.idz buduj farmy" << endl;
            cout << "8.buduj domy dla mieskancow" << endl;
            cout << "9.Odczyt gry" << endl;
            cout << "10.Zapis gry" << endl;
            cout << "11.Exit" << endl;
            cin >> wb1;
            switch (wb1)
            {
            case 4:
            {
                cout << "Zebrano Podatki" << endl;
                hajs *= mieskancy;
                break;
            }
            case 5:
            {
                if (mieskancy <= 3)
                {
                    cout << "nie udalo sie zrekrutowac rolnikow" << endl;
                }
                else
                {
                    cout << "zrekrutowano rolnikow [2]" << endl;
                    rolnicy += 2;
                    mieskancy -= 2;
                }
            }
            break;
            case 6:
            {
                if (rolnicy = 0)
                {
                    cout << "Zebrano plony [Nie efektywnie]" << endl;
                    jedzienie += farmy;
                }
                else
                {
                    cout << "Zebrano plony [Efektywnie]" << endl;
                    jedzienie += farmy *= rolnicy;
                }
            }
            break;
            case 7:
            {
                cout << "Wybudowano nowa farme" << endl;
                farmy += 1;
                hajs -= 100;
            }
            break;
            case 8:
            {
                cout << "Wybudowano domy" << endl;
                domy += 1;
                hajs -= 100;
            }
            break;
            case 11:
            {
            exit(0);
            }
                break;
            case 10:
            {
                plik.open("save.sav", ios::out);
                plik << hajs;
                plik << mieskancy;
                plik << wojsko;
                plik << farmy;
                plik << rolnicy;
                plik << jedzienie;
                plik << domy;
                cout << "Pomyslnie zapisano gre" << endl;
            }
                break;
            case 9:
            {
                plik.open("save.sav", ios::in);
                plik >> hajs;
                plik >> mieskancy;
                plik >> wojsko;
                plik >> farmy;
                plik >> rolnicy;
                plik >> jedzienie;
                plik >> domy;
                cout << "Pomyslnie wczytano gre" << endl;
                break;

            }
                break;
            }

        }
        break;
        case 2:
        {
            exit(0);
        }
        break;
        }
    }
    return 0;
}

2 odpowiedzi

0 głosów
odpowiedź 27 grudnia 2018 przez MsMaciek123 Stary wyjadacz (14,490 p.)

Co nie działa? Odczyt czy zapis. Według mnie zapis jest w porządku (tak na oko), ale z odczytem to ja nie wiem...

Możesz przeczytać to Kurs C++ | cpp0x.pl | Obsługa plików | 305

komentarz 27 grudnia 2018 przez VecsonON Nowicjusz (170 p.)
odczyt nie działa a to przestudiowałem 100 razy :D|

 

zman np ifstream i inne

też prubowałem z tym ale nie działał D:
komentarz 27 grudnia 2018 przez MsMaciek123 Stary wyjadacz (14,490 p.)
To chyba źle przestudiowałeś. Problem jest w tym

plik >> zmienna

Bo tak się nie powinno robić. Skąd program ma wiedzieć która to akurat linia. Jutro spróbuję ci pomóc, bo dziś już padam ze względu na godzinę ( i nie mam dostępu do komputera ).
0 głosów
odpowiedź 27 grudnia 2018 przez RafalS VIP (105,130 p.)
Zobacz na plik który sie tworzy. Sklejasz wszytkie liczby w jedną. Oddziel je spacjami :p

Podobne pytania

0 głosów
1 odpowiedź 60 wizyt
pytanie zadane 7 grudnia 2018 w C i C++ przez matiibal Początkujący (460 p.)
0 głosów
1 odpowiedź 44 wizyt
pytanie zadane 3 listopada 2018 w C i C++ przez gorgonek Użytkownik (990 p.)
0 głosów
2 odpowiedzi 91 wizyt
pytanie zadane 1 stycznia w C i C++ przez nooblike Nowicjusz (120 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

61,351 zapytań

107,293 odpowiedzi

223,438 komentarzy

33,042 pasjonatów

Przeglądających: 182
Pasjonatów: 7 Gości: 175

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...