Adesso ti mostro la gestione della scelta. Lo scopo è quello di tenere il main sempre + pulito.
#include <iostream>
#include <limits>
#include <string>
#include <map>
typedef struct _prodotto
{
std::string nome;
double prezzo;
int quantita;
}prodotto;
std::map<std::string,prodotto> magazzino;
//questo sarà il nostro magazzino
int menu(void);
void InserisciArticolo(void);
void CercaArticolo(void);
int main()
{
int scelta = 0;
do
{
scelta = menu();
switch(scelta)
{
case 1:
{
InserisciArticolo();
}
break;
case 2:
{
CercaArticolo();
}
break;
}
} while (scelta != 3);
return 0;
}
int menu(void)
{
std::cout << std::string(25,'\n');
std::cout << "\tMAGAZZINO 1.0" << std::endl << std::endl;
std::cout << "1.\tInserisci articolo" << std::endl;
std::cout << "2.\tCerca articolo" << std::endl;
std::cout << "3.\tEsci" << std::endl << std::endl;
std::cout << "Scelta:\t";
int scelta = 0;
if(!(std::cin >> scelta))
{
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
}
return scelta;
}
void InserisciArticolo(void)
{
std::cout << std::endl << "Sono nella funzione InserisciArticolo";
std::cout << std::endl << "Premi INVIO per continuare..." << std::endl;
std::cin.get();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
}
void CercaArticolo(void)
{
std::cout << std::endl << "Sono nella funzione CercaArticolo" ;
std::cout << std::endl << "Premi INVIO per continuare..." << std::endl;
std::cin.get();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
}
Come sempre dimmi cosa non capisci e cosa hai capito.