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

C++ program odczytuje plik jako znaczki, tzn. wyświetla przykładowo "☺☻♥".

Object Storage Arubacloud
0 głosów
293 wizyt
pytanie zadane 21 marca 2020 w C i C++ przez Downoodle Nowicjusz (240 p.)

Po pierwsze zapytam - czy zmienna "string linia;" może być jedna dla wszystkich operacji otworzenia i odczytania pliku tekstowego? Po każdym cout'cie w którym wypisuje zawartość danego pliku z linijki którą wylosuje wcześniejszym randzie, zmieniam wartość zmiennej "linia" na kolejną wylosowaną liczbę aby mogła odczytać mi wartość drugiego pliku a potem ją wypisać. Jestem początkujący, uczę się tego teoretycznie w szkole od września, jednak praktycznie dopiero ostatnie 5 dni więc poproszę o dużo dokładnych rad i sugestii. Dziękuję.

P.S program prawidłowo odczytuje pierwszą sekwencje z pliku powitania, jednak zawsze wyświetla linijke 1 :/ Wszystkie użyte pliki istnieją więc nie będzie problemu ;)

#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <windows.h>
#include <chrono>
#include <thread>
#include <conio.h>
#include <fstream>
using namespace std;
int main()
{

    srand(time(0));

    //a=odpowiedz
    //x=wylosowana liczba dla powitania
    //y=wylosowana liczba dla popowiatnia
    //lvl=poziom trudnosci


    cout<<"Witamy w grze Milionerzy: Rozyca Edition!"<<endl;
    this_thread::sleep_for(chrono::milliseconds(1900));
    cout<<endl;
    cout<<">dalej"<<endl;
    getch();
    this_thread::sleep_for(chrono::milliseconds(500));
    system("cls");
    cout<<"Wybory w grze podejmowane beda poprzez wpisanie odpowiedzi z klawiatury"<<endl;
    this_thread::sleep_for(chrono::milliseconds(2200));
    cout<<"*UWAGA* Podajemy tylko wskazane odpowiedzi, nie wlasne."<<endl;
    this_thread::sleep_for(chrono::milliseconds(1900));
    cout<<endl;
    cout<<">dalej"<<endl;
    getch();
    this_thread::sleep_for(chrono::milliseconds(500));
    system("cls");

    int lvl=0;
    do
    {
        cout<<"Wybierz poziom trudnosci:"<<endl; ///program wysypuje sie jak podam litere
        cout<<"1. Latwy"<<endl; cout<<"2. Normalny"<<endl; cout<<"3. Trudny"<<endl;
        cout<<">"; cin>>lvl;
        this_thread::sleep_for(chrono::milliseconds(500));



        switch(lvl)
        {

            case 1:
                system("cls");
                cout<<"Wybrano poziom LATWY"<<endl;
                break;
            case 2:
                system("cls");
                cout<<"Wybrano poziom NORMALNY"<<endl;
                break;
            case 3:
                system("cls");
                cout<<"Wybrano poziom TRUDNY"<<endl;
                break;
            default:
                cout<<"Nie ma takiej opcji. Sprobuj ponownie."<<endl;
                cout<<endl;
        }

    } while(lvl!=1 && lvl!=2 && lvl!=3);




    this_thread::sleep_for(chrono::milliseconds(2800));
    cout<<"Powodzenia!"<<endl;
    this_thread::sleep_for(chrono::milliseconds(500));
    cout<<endl;
    cout<<">dalej"<<endl;
    getch();
    this_thread::sleep_for(chrono::milliseconds(500));
    system("cls");
    cout<<"Gra rozpocznie sie za: "<<endl;
    this_thread::sleep_for(chrono::milliseconds(800));
    for(int i=5; i>=0; i--)
    {

        this_thread::sleep_for(chrono::milliseconds(1000));
        system("cls");
        cout<<i<<endl;

    }
    system("cls");
    this_thread::sleep_for(chrono::milliseconds(1000));


   //string a,pytanie,powitanie,popowitaniu,przedpytaniem; ///zostawie w razie jakbym mial wrocic do wrzucania wszystkiego w string

    fstream tak,nie,pow,popow,przedpyt,pyt;
    string linia;

    int x=rand()%8+1;
    linia=x;

    pow.open("powitanie.txt",ios::in);
    if (pow.good()==false)
    {

        cout<<"Cos poszlo nie tak podczas instalacji. Sprobuj zainstalowac ponownie"<<endl;
        exit(0);

    }
    getline(pow,linia);
    cout<<linia<<endl;
    this_thread::sleep_for(chrono::milliseconds(1900));
    pow.close();

    int y=rand()%6+1;
    linia=y;

    popow.open("popowitaniu.txt",ios::in); ///nie oczytuje od tej linijki
    cout<<linia<<endl;
    this_thread::sleep_for(chrono::milliseconds(1900));


    cout<<endl;
    cout<<">dalej"<<endl;
    getch();
    this_thread::sleep_for(chrono::milliseconds(500));
    cout<<endl;

    int pp=rand()%4+1;
    linia=pp;

    przedpyt.open("przedpyt.txt",ios::in);
    cout<<linia<<endl;


    int p=rand()%4+1;
    linia=p;

    pyt.open("pyt.txt",ios::in);
    cout<<linia<<endl;



    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 22 marca 2020 przez j23 Mędrzec (194,920 p.)

    int y=rand()%6+1;

    linia=y;

linia = std::to_string(y);

Popraw resztę tego typu błędów.

pow.open("powitanie.txt",ios::in);

    if (pow.good()==false)

pow.open("powitanie.txt",ios::in);
if (pow.is_open() == false)

jw.

Podobne pytania

0 głosów
3 odpowiedzi 1,193 wizyt
pytanie zadane 13 listopada 2016 w C i C++ przez Paweł Chmura Nowicjusz (160 p.)
0 głosów
1 odpowiedź 178 wizyt
pytanie zadane 29 kwietnia 2020 w C i C++ przez Badzonor Obywatel (1,410 p.)
0 głosów
1 odpowiedź 451 wizyt

92,547 zapytań

141,390 odpowiedzi

319,509 komentarzy

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

...