#include <cstdlib>
#include <iostream>
#include <string.h>
#include <fstream>
#include <windows.h>
using namespace std;
[b]void ricerca();[/b]
void inserimento ();
void altri ();
void modifica ();
void ordina ();
void magazzino ();
void uscita ();
void ConsultaFile();
void CreaFile();
void CancellaFile();
void CercaProdotti();
int ADMIN();
int UTENTE();
int NumeroProd;
char NomiProdotti[100];
char CodiciProdotti[100];
char MarcaProdotti[100];
int PrezziProdotti;
struct Prodotti
{
char NomeProdotto[100];
char Codice[100];
char Marca[100];
int Prezzo;
int Quantita;
};
Prodotti Inserimento[100];
void inserimento()
{
int i=0;
cout << "Quanti prodotti vuoi inserire? " << endl;
cin >> NumeroProd;
for(i=0; i<NumeroProd; i++)
{
system ("CLS");
cout << "Inserisci il nome del "<< i+1 << " Prodotto " << endl;
cin >> Inserimento[i].NomeProdotto;
cout << "Inserisci Codice Prodotto " << endl;
cin >> Inserimento[i].Codice;
cout << "Inserisci Marca Prodotto " << endl;
cin >> Inserimento[i].Marca;
cout << "Inserisci il prezzo del Prodotto " << "€" << endl;
cin >> Inserimento[i].Prezzo;
cout << "Inserisci quantità Prodotto " << endl;
cin >> Inserimento[i].Quantita;
}
CreaFile();
}
void CercaProdotti()
{
system("cls");
int i=0;
int Ricerca;
cout << "Ricerca Prodotti per: " << endl;
cout << endl;
cout << "1.Nome " << endl;
cout << "2.Codice " << endl;
cout << "3.Marca " << endl;
cout << "4.Prezzo " << endl;
cin >> Ricerca;
switch(Ricerca)
{
case 1:
{
system("cls");
cout << "Inserisci il Nome del Prodotto " << endl;
cin >> NomiProdotti;
for(i=0;i<NumeroProd;i++)
{
if(strcmp(NomiProdotti,Inserimento[i].NomeProdotto)==0)
{
cout << "========================" << endl;
cout << "Nome: " << Inserimento[i].NomeProdotto << endl;
cout << "Codice: " << Inserimento[i].Codice << endl;
cout << "Marca: " << Inserimento[i].Marca << endl;
cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
cout << "Quantità: " << Inserimento[i].Quantita << endl;
cout << "========================" << endl;
}
}
}break;
case 2:
{
system("cls");
cout << "Inserisci il codice del Prodotto " << endl;
cin >> CodiciProdotti;
system("cls");for(i=0;i<NumeroProd;i++)
{
if(strcmp(CodiciProdotti,Inserimento[i].Codice)==0)
{
cout << "========================" << endl;
cout << "Nome: " << Inserimento[i].NomeProdotto << endl;
cout << "Codice: " << Inserimento[i].Codice << endl;
cout << "Marca: " << Inserimento[i].Marca << endl;
cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
cout << "Quantità: " << Inserimento[i].Quantita << endl;
cout << "========================" << endl;
}
}
}break;
case 3:
{
system("cls");
cout << "Inserisci la marca del Prodotto " << endl;
cin >> MarcaProdotti;
system("cls");
for(i=0;i<NumeroProd;i++)
{
if(strcmp(MarcaProdotti,Inserimento[i].Marca)==0)
{
cout << "========================" << endl;
cout << "Nome: " << Inserimento[i].NomeProdotto << endl;
cout << "Codice: " << Inserimento[i].Codice << endl;
cout << "Marca: " << Inserimento[i].Marca << endl;
cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
cout << "Quantità: " << Inserimento[i].Quantita << endl;
cout << "========================" << endl;
}
}
}break;
case 4:
{ system("cls");
cout << "Inserisci il prezzo del Prodotto " << endl;
cin >> PrezziProdotti;
system("cls");
for(i=0;i<NumeroProd;i++)
{
if(PrezziProdotti==Inserimento[i].Prezzo)
{
cout << "========================" << endl;
cout << "Nome: " << Inserimento[i].NomeProdotto << endl;
cout << "Codice: " << Inserimento[i].Codice << endl;
cout << "Marca: " << Inserimento[i].Marca << endl;
cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
cout << "Quantità: " << Inserimento[i].Quantita << endl;
cout << "========================" << endl;
}
}
}break;
default:
cout << "Scelta non consentita " << endl;
}
}
[b]void ricerca()[/b]
{
ifstream fin("Magazzino.txt"); //apri il file dei dati
//crea una stringa per ogni riga
string Nome;
string Codice;
string Marca;
string Prezzo;
bool trovata = false; //flag per indicare il successo della ricerca
//inizia il ciclo di ricerca
while (!trovata && !fin.eof())
{
// leggi dal file le quattro righe
getline(fin, Nome);
getline(fin, Codice);
getline(fin, Marca);
getline(fin, Prezzo);
//cerca se nella riga targa é compresa la targa da cercare
size_t found;
found = Nome.find("Numero_Targa_Da_Cercare");
if (found != string::npos)
{
cout << "trovata" << endl;
//se la targa é quella, stampa gli altri dati
cout << Nome << endl;
cout << Codice << endl;
cout << Marca << endl;
cout << Prezzo << endl;
trovata = true; //per uscire da ciclo
}
}
}
void CreaFile()
{
int i=0;
ofstream out("Magazzino.txt", ios::app);
for(i=0; i<NumeroProd; i++)
{
out << "========================" << endl;
out << "Nome Prodotto: " << Inserimento[i].NomeProdotto << endl;
out << "Codice Prodotto: " << Inserimento[i].Codice << endl;
out << "Marca Prodotto: " << Inserimento[i].Marca << endl;
out << "Prezzo: " << Inserimento[i].Prezzo << "€" << endl;
out << "Quantità Prodotto" << Inserimento[i].Quantita << endl;
out << "========================" << endl;
}
}
void ConsultaFile()
{
FILE*puntafile;
char c;
puntafile=fopen("Magazzino.txt","r");
if(puntafile!=NULL)
{
c=fgetc(puntafile);
while(c!=EOF)
{
putchar(c);
c=fgetc(puntafile);
}
fclose(puntafile);
}
else
{
cout << "Il file non esiste." << endl;
}
}
void CancellaFile()
{
FILE*puntafile;
char c;
puntafile=fopen("Magazzino.txt","r");
if(puntafile!=NULL)
{
c=fgetc(puntafile);
while(c!=EOF)
{
putchar(c);
c=fgetc(puntafile);
}
fclose(puntafile);
system("DEL Magazzino.txt");
cout << "Il file e' stato rimosso con successo " << endl;
}
else
{
cout << "Il file non esiste." << endl;
}
}
void uscita()
{
system("EXIT");
}
int ADMIN()
{
int scelta;
do
{
system("cls");
cout<<"Menu'' Amministratore: "<<endl;
cout<<"1 - Inserimento prodotti"<<endl;
cout<<"2 - Cerca prodotti"<<endl;
cout<<"3 - Modifica prodotti"<<endl;
cout<<"4 - Visualizza magazzino"<<endl;
cout<<"5 - Cancella lista magazzino"<<endl;
cout<<"6 - Uscita"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta;
}while(scelta<1||scelta>7);
return scelta;
}
int UTENTE()
{
int scelta;
do
{
system("cls");
cout<<"Menu'' Utente: "<<endl;
cout<<"1 - Cerca prodotti"<<endl;
cout<<"2 - Ordina prodotto"<<endl;
cout<<"3 - Uscita"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta;
}while(scelta<1||scelta>3);
return scelta;
}
int main()
{
char a='s';
int menu;
do{
system ("CLS");
cout << "1.Amministratore" <<"\n" << endl;
cout << "2.Cliente " <<"\n" << endl;
cout << "3.Uscita " <<"\n" << endl;
cout << "Che operazione vuoi effettuare? Inserisci il numero:" <<endl;
cin >> menu;
switch(menu)
{
case 1:
{
system ("CLS");
ADMIN();
int menu2;
menu2=ADMIN();
switch(menu2)
{
case 1:
{
system ("CLS");
inserimento();
}
break;
case 2:
{
system ("CLS");
ricerca();
}
break;
case 4:
{
system ("CLS");
ConsultaFile();
}
break;
}
}
break;
case 2:
{
system ("CLS");
UTENTE();
}
break;
case 3:
{
uscita ();
}
break;default:
cout << "Scelta non consentita " << "\n" << endl;
}
cout << endl;
cout << "Vuoi uscire dal programma? (s/n) " << endl;
cin >> a;
}while(a=='n');
system("PAUSE");
}