Ciao sono uno studente universitario sto realizzando un programma per la gestione di un supermercato.Mi sono creato il mio programma con le relative funzioni, quando inserisco i prodotti questi vengono scritti su un file. Il mio problema sta nella ricerca.Io ho messo nel menu diversi tipi di ricerca: per codice nome ecc...la funzione l'ho fatta però non sò come applicarla al file...potete darmi una mano??..grazie
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <fstream>
#include <windows.h>
using namespace std;
void inserimento ();
void altri ();
void modifica ();
void ordina ();
void magazzino ();
void uscita ();
void ConsultaFile();
void CreaFile();
void CancellaFile();
void CercaProdotti();
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;
}
}
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 main()
{
char a='s';
int menu;
do{
system ("CLS");
cout << "1.Inserimento dei prodotti" <<"\n" << endl;
cout << "2.Cerca prodotti " <<"\n" << endl;
cout << "3.Modifica prodotti " <<"\n" << endl;
cout << "4.Ordina prodotto " <<"\n" << endl;
cout << "5.Visualizza magazzino" <<"\n" << endl;
cout << "6.Cancella lista magazzino" <<"\n" << endl;
cout << "7.Uscita " <<"\n" << endl;
cout << "Che operazione vuoi effettuare? Inserisci il numero:" <<endl;
cin >> menu;
switch(menu)
{
case 1:
{
system ("CLS");
inserimento ();
}
break;
case 2:
{
system ("CLS");
CercaProdotti();
}
break;
case 3:
{
}
break;
case 4:
{
}
break;
case 5:
{
system ("CLS");
ConsultaFile ();
}
break;
case 6:
{
system ("CLS");
CancellaFile();
}
break;
case 7:
{
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");
}
[code]