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]