Witam tworze projekt "KINO".
Program składa się z 2 części ADMIN i KLIENT
ADMIN - ma za zadanie dodawanie usuwanie spektakli i danych o nich
KLIENT - ma możliwość rezerwacji biletów.
Cały projekt ma być zrealizowany jako baza danych z zapisem do pliku. I tutaj zaczyna się problem. A mianowicie z zapisem informacji do plików i wykorzystaniem ich dalej w programie.
Koncepcja jest taka: W funkcji add_spektakl wczytujemy nazwę filmu i zapisujemy ja do pliku następnie wczytujemy informacje takie jak ceny i ilość dostępnych biletów i również zapisujemy do pliku . Następnie w funkcji klient musimy wczytać zawartość pliku z filmami, które będą kolejno numerowane.
Następnie użytkownik podaje który seans ile biletów itd - to już jest napisane
i ostatnim elementem jest sprawdzenie czy jest wystarczająca ilość biletów
czyli znowu wczytanie pliku z danymi o biletach i odjejmujemy od tej liczby ilości zamawianej przez klienta i ponowny zapis do pliku w celu dalszego wykorzystania .
To co już napisałem. Niestety ten mój zapis do pliku nie dział wiec proszę o pomoc .
#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <conio.h>
#include "console.ddt"
using namespace std;
using namespace ddt::console;
struct inf_bil {
int ile_bil;
float bilU;
float bilN;
float cenaU;
float cenaN;
};
struct informacje {
int zamow_bilet;
inf_bil bilet;
char film[15];
}kino[5];
char rezerwacja;
int seans=0;
FILE *pl_bilet, *pl_film;
char line[81];
//Funkcja klient:
char klient()
{
HANDLE kon = GetStdHandle(STD_OUTPUT_HANDLE);
Beep(400, 200);
system("cls");
int i=0;
SetConsoleTextAttribute (kon,7);
if ((pl_film = fopen("FILM.TXT","r"))==NULL) /* otwarcie do odczytu */
{
puts("Nie mozna otworzyc pliku do odczytu");
return(1);
}
while(fgets(line,80,pl_film) != NULL)
printf(line);
fclose(pl_film);
// cout<<"1.schrek \n2.Weekend \n3.Rybka mala\n\n ";
SetConsoleTextAttribute (kon,11);
cout<<"Zarezerwowac T/N"<<endl;
cin>>rezerwacja;
SetConsoleTextAttribute (kon,7);
while(rezerwacja=='t')
{
cout<<"podaj ktory seans: "<<endl;
cin>>seans;
seans =seans-1; //tablica numerowana od 0 wiec -1 bo klient jest ciemny i musi mieć seans od 1 ;)
cout<<"podaj ilosc biletow ulgowych: "<<endl;
cin>>kino[seans].bilet.cenaU;
cout<<"podaj ilosc biletow normalnych: "<<endl;
cin>>kino[seans].bilet.cenaN;
cout<<"\n\n";
kino[seans].bilet.ile_bil=20; // usun po napisaniu wczytywania z pliku!!!!!!! TO TYLKO W CELU SPRAWDZENIA CZY DZIAŁA.
float sumaB=0;
sumaB=kino[seans].bilet.cenaN+kino[seans].bilet.cenaU;
if(sumaB>kino[seans].bilet.ile_bil)
{
SetConsoleTextAttribute (kon,12);
cout<<"Nie ma tyle biletow !!"<<endl;
SetConsoleTextAttribute (kon,7);
}
else
{
kino[seans].bilet.ile_bil=kino[seans].bilet.ile_bil-sumaB;
SetConsoleTextAttribute (kon,12);
cout<<"Dziekujemy ;)"<<endl;
SetConsoleTextAttribute (kon,7);
cout << "\n\nKliknij ENTER by przejsc do menu";
getch();
system("cls");
return 0;
}
}
}
//Funkcja add_spektakl
char add_spektakl()
{
Beep(400, 200);
system("cls");
if ((pl_film = fopen("FILM.TXT","a"))==NULL)
{
puts("Nie mozna otworzyc pliku do zapisu");
return(1);
}
cout<<"podaj Nazwe: ";
gets(line);
fputs(line,pl_film);
fputs("\n",pl_film);
fclose(pl_film);
if ((pl_bilet = fopen("Bielet.TXT","a"))==NULL)
{
puts("Nie mozna otworzyc pliku do zapisu");
return(1);
}
cout<<"podaj liczbe biletow dostepnych w seansie: ";
cin>>kino[seans].bilet.ile_bil;
cout<<"podaj cene biletow Ulgowych: ";
cin>>kino[seans].bilet.cenaU;
cout<<"podaj cene biletow Ulgowych: ";
cin>>kino[seans].bilet.cenaN;
seans++;
cin>>seans;
fclose(pl_bilet);
system("PAUSE");
}
char uc()
{
Beep(400, 200);
system("cls");
}