dytryh Temat założony przez niniejszego użytkownika |
Problem z odczytywaniem danych z pliku » 2016-06-22 13:15:33 Witam! Jestem początkującym programistą i dla wypróbowania siebie postanowiłem napisać dość prosty program. Niestety, występuje w nim problem. Ogólnym założeniem programu było działanie, jak bankomat. Chciałem dodać do niego jeszcze zapis pinu do pliku i-jeżeli jest już zapisany to przy ponownym uruchomieniu nie musieć wpisywać go od nowa. Program działa dobrze, poza jednym: czytaniem z pliku. Proszę o pomoc z programem. #include <iostream> #include <stdio.h> #include <fstream> #include <windows.h> #include <stdio.h>
using namespace std; char a; fstream plik; int pin, pinb, pinc, pind, kwota, b = 0, i = 1, o = 0; string kupa;
int main() { plik.open( "pin.sst", ios::in ); if( plik.good() == false ) { b = 1; cout << "Witaj w pierwszym logowaniu do systemu! Wpisz swoj pin: "; cin >> pin; while(( pin > 9999 ) ||( pin < 1000 ) ) { cout << "Sprobuj wpisac inny pin, ten jest nieprawidlowy!: "; cin >> pin; } cout << "Powtoz swoj pin: "; cin >> pinb; plik.close(); plik.open( "pin.sst", ios::out ); plik << pin; plik.close(); while( pin != pinb ) { cout << "Piny podane przez ciebie nie zgadzaja sie! Sprobuj ponownie: "; cin >> pinb; } } plik.open( "pin.sst", ios::in ); getline( plik, kupa ); pinc = atoi( kupa.c_str() ); plik.close(); if( b == 1 ) { cout << "Kliknij enter aby przejsc do nastepnego kroku"; getchar(); getchar(); system( "cls" ); } else { cout << "Witaj w bankomacie!" << endl << "Wpisz swoj kod PIN: "; cin >> pind; while( pin != pind ) { cout << "Podano nieprawidlowy pin! Sprobuj ponownie: "; cin >> pind; o++; if( o == 2 ) { cout << "Podano zly pin trzykrotnie! Program zakonczy sie!"; getchar(); getchar(); exit( 0 ); } } } plik.close(); cout << "Podaj kwote, ktora chcesz wybrac: "; cin >> kwota; return 0; }
|
|
marcolo2307 |
» 2016-06-22 13:23:44 Pewnie plik się nie otwiera, może zła lokalizacja? |
|
dytryh Temat założony przez niniejszego użytkownika |
Plik sie otwiera » 2016-06-22 13:42:25 Tutaj link do skompilowanej wersji: http://www113.zippyshare.com/v/HxyKVRZc/file.html Problem można zauważyć dopiero po kilkukrotnym otworzeniu programu. (pin to 0(nie czyta z pliku)) |
|
carlosmay |
» 2016-06-22 14:01:04 |
|
dytryh Temat założony przez niniejszego użytkownika |
» 2016-06-22 14:10:37 Sprawdź wyżej. Jeżeli nie ma takiego pliku to się tworzy, a jeżeli jest to od razu przechodzi do tego miejsca. |
|
dytryh Temat założony przez niniejszego użytkownika |
» 2016-06-22 14:36:02 Ok, kod działa, nie chciał chodzić z tym samym fstreamem(plik), zrobiłem 2 (jajo) i chodzi dobrze :D jajo.open( "pin.txt", ios::in ); while( jajo.good() == false ) { cout << "Error 404"; getchar(); exit( 0 ); } getline( jajo, kupa ); pinc = atoi( kupa.c_str() ); jajo.close();
|
|
carlosmay |
» 2016-06-22 14:41:15 Jeżeli nie ma takiego pliku to się tworzy, a jeżeli jest to od razu przechodzi do tego miejsca. |
Próbowałeś otwierać otwarty plik. Po każdym otwieraniu sprawdzaj czy wszystko jest jak należy. W przytoczonym przeze mnie fragmencie, nie jest sprawdzana poprawność pliku. |
|
dytryh Temat założony przez niniejszego użytkownika |
» 2016-06-22 14:43:44 No tak! Dzieki za pomoc! |
|
« 1 » |