Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Zapis do pliku.

Ostatnio zmodyfikowano 2016-12-21 18:26
Autor Wiadomość
gibek128
Temat założony przez niniejszego użytkownika
Zapis do pliku.
» 2016-12-21 17:57:30
Witam mam problem z zapisaniem danych do pliku. W szkole uczyli nas takiej metody:

ofstream oceny("oceny.txt");
oceny<<"Matematyka: "<<m<<endl<<"Informatyka: "<<i<<endl;
oceny.close();

Tylko ze to trzeba napisac pod koniec i napisac jakby drugi raz te wszystkei dane. Nie da sie zrobic by program dane zbieral jakos po drodze wpisywania ich?. Aktualnie mam do zrobienia krotki teścik w code blocku ktory wynik zapisuje do pliku. Zrobilem cos takiego:

C/C++
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <fstream>
using namespace std;
char odp;
int wybor, q, w, e, z;
int main()
{
    do
    { system( "cls" );
       
        cout << "Wielki test!" << endl;
        cout << "Wybierz z menu:" << endl;
        cout << "--------------" << endl;
        cout << "1-Rozpocznij." << endl;
        cout << "2-Zakoncz." << endl;
        cin >> wybor;
        system( "cls" );
        switch( wybor )
        {
        case 2: { exit( 0 ); } break;
        case 1:
           
            char odp1;
            cout << "1.Jak nazywa sie instrukcja warunkowa w C++?" << endl;
            cout << "a. Switch" << endl;
            cout << "b. If" << endl;
            cout << "c. While" << endl;
            cout << "Wybieram: "; cin >> odp1;
           
            if( odp1 == 'b' ) { q = 1; } else { q = 0; }
            system( "cls" );
           
            char odp2;
            cout << "2.Jak nazywa sie program w ktorym pisalem ten test?" << endl;
            cout << "a. C++" << endl;
            cout << "b. Explorer" << endl;
            cout << "c. Code Blocks" << endl;
            cout << "Wybieram: "; cin >> odp2;
           
            if( odp2 == 'c' ) { w = 1; } else { w = 0; }
            system( "cls" );
           
            char odp3;
            cout << "3.W jakich jednostkch zapisuje sie wspolczynnik tarcia kinetycznego?" << endl;
            cout << "a. Jule" << endl;
            cout << "b. Newtony" << endl;
            cout << "c. Brak jednostki" << endl;
            cout << "Wybieram: "; cin >> odp3;
           
            if( odp3 == 'c' ) { e = 1; } else { e = 0; }
            system( "cls" );
            z =( q + w + e );
           
            cout << "Wynik: " << z << " pkt" << endl;
            if( z == 0 )
            {
                cout << "Fatalnie!";
            }
            if( z == 1 )
            {
                cout << "Moglo byc lepiej";
            }
            break;
           
        }
    } while( getchar() );
   
    return 0;
}
To czy pojawi sie "fatalnie" czy "Moglo byc lepiej" (Wiem nie jest to skonczone) jest uzaleznione od wartosci Z wiec jak uzaleznic plik od tego Z, zeby w pliku pojawialo sie albo "fatalnie" albo "moglo byc lepiej"?
P-155255
carlosmay
» 2016-12-21 18:26:52
1. Twój problem nie jest zawarty w kodzie.
2. Uczenie używania zmiennych globalnych to zła praktyka. Należy ich unikać.
3. Możesz przechować wszystko co wpisujesz w trakcie trwania programu,
   a do pliku zapisać w odpowiedniej kolejności i w razie potrzeby użyć instrukcji warunkowej.
P-155259
« 1 »
  Strona 1 z 1