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

Tworzenie prostych baz danych

Ostatnio zmodyfikowano 2012-04-21 12:44
Autor Wiadomość
pekfos
» 2012-04-20 21:25:05
jak zapiszesz, tak bedzie. Rozszerzenie nie ma tu żadnego znaczenia.
P-54914
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-20 21:51:50
Heh, działa! :3 Super...
Jedyne co jeszcze mi zostało to fakt, iż nie rozumiem kilku części. Mianowicie:
C/C++
//zapis
{
    std::ofstream out( "nazwapliku.txt" );
    if( out.good() == true )
    {
        std::string line;
        line = "Tutaj wstaw tekst do zapisu.\n";
        line += "Moze on zawierac kilka linii.\n";
        line += "Tutaj dodaj kolejne dane do zapisu.\n";
        out << line;
        out.close();
    }
}
//odczyt
{
    std::string line;
    std::ifstream in( "nazwapliku.txt" );
    if( in.good() == true )
    {
        //wyswietlenie tekstu
        while( getline( in, line ) )
        {
            //przekazanie danych do funkcji
            func( line );
        }
        in.close();
    }
}

Zapis czyli zapisuję do pliku
"nazwapliku.txt"
 dane które są w "line"?
Odczyt czyli uzytkownik widzi to co zostało zapisane, tak?
tam gdzie jest //wyswietlenie tekstu muszę coś pisać czy to juz działa samo?

Sorki że tak piszę, ale chce mieć wszystko jasno wytłumaczone, bo zauważyłem że C++ to jednak wiele rzeczy robi inaczej niż powinno, jest to ciężki język, jak dla mnie, ale dzięki nie mu spełnię marzenia.
P-54919
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-21 08:01:34
Trochę się pobawiłem, działało ale nie do końca poprawnie...
C/C++
#include <fstream>
#include <string>
#include <windows.h>
#include <conio.h>
#include <iostream>

int main()
{
   
    std::fstream HP;
    HP.open( "HP.txt", std::ios::in | std::ios::out );
    if( HP.good() == true )
    {
        std::string napis;
        HP >> napis;
        std::cout << "Aktualna wartosc HP: " << napis << std::endl;
        std::cout << "Podaj nowa wartosc HP: ";
        std::cin >> napis;
        HP << napis;
        HP.close();
    }
    getch();
    return 0;
}

Jaki jest błąd? Bo wyświetla to co jest w
"HP.txt"
, ale z kolei nie chce nadpisać wartości...
P-54931
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-21 12:44:48
I kolejny problem... Działa wszystko - jest ok...
C/C++
#include <fstream>
#include <iostream>
#include <conio.h>
#include <windows.h>

unsigned long long Miejsce1;
unsigned long long Miejsce2;
unsigned long long Miejsce3;
unsigned long long Miejsce4;
unsigned long long Miejsce5;

void func( std::string line )
{
    std::cout << "Aktualna lista wynikow:\n";
    std::cout << "Miejsce 1: " << Miejsce1 << "\n";
    std::cout << "Miejsce 2: " << Miejsce2 << "\n";
    std::cout << "Miejsce 3: " << Miejsce3 << "\n";
    std::cout << "Miejsce 4: " << Miejsce4 << "\n";
    std::cout << "Miejsce 5: " << Miejsce5 << "\n";
}

int main()
{
    std::ifstream in( "nazwapliku.txt" );
    in >> Miejsce1;
    in >> Miejsce2;
    in >> Miejsce3;
    in >> Miejsce4;
    in >> Miejsce5;
    std::cout << "Aktualna lista wynikow:\n";
    std::cout << "Miejsce 1: " << Miejsce1 << "\n";
    std::cout << "Miejsce 2: " << Miejsce2 << "\n";
    std::cout << "Miejsce 3: " << Miejsce3 << "\n";
    std::cout << "Miejsce 4: " << Miejsce4 << "\n";
    std::cout << "Miejsce 5: " << Miejsce5 << "\n";
    std::cout << "Miejsce 1 - Wynik: ";
    std::cin >> Miejsce1;
    std::cout << "Miejsce 2 - Wynik: ";
    std::cin >> Miejsce2;
    std::cout << "Miejsce 3 - Wynik: ";
    std::cin >> Miejsce3;
    std::cout << "Miejsce 4 - Wynik: ";
    std::cin >> Miejsce4;
    std::cout << "Miejsce 5 - Wynik: ";
    std::cin >> Miejsce5;
    system( "cls" );
    //zapis
    {
        std::string line;
        std::ofstream out( "nazwapliku.txt" );
        if( out.good() == true )
        {
            out << Miejsce1;
            out << Miejsce2;
            out << Miejsce3;
            out << Miejsce4;
            out << Miejsce5;
            out.close();
        }
    }
    //odczyt
    {
        std::string line;
        std::ifstream in( "nazwapliku.txt" );
        if( in.good() == true )
        {
            //wyswietlenie tekstu
            while( getline( in, line ) )
            {
                //przekazanie danych do funkcji
                func( line );
            }
            in.close();
        }
    }
    getch();
    return 0;
}

Problem polega w linijkach:
C/C++
out << Miejsce1;
out << Miejsce2;
out << Miejsce3;
out << Miejsce4;
out << Miejsce5;

W programie wyswietla mi:
Miejsce 1: 12345
Miejsce 2: 0
itp.
a chciałbym
Miejsce 1: 1
Miejsce 2: 2
Mijesce 3: 3
itp.

Jak to zrobić?

/EDIT
Boże... Czasami żal mi siebie samego... std::endl -.-
P-54949
1 « 2 »
Poprzednia strona Strona 2 z 2