Anteprima
Vedrai una selezione di 1 pagina su 5
Programma C++ - Scontrini Pag. 1
1 su 5
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Scontrini

Il programma gestisce i dati degli scontrini emessi da una cassa utilizzando le struct.
Estratto del documento

#include <iostream.h>

#include <string.h>

#include <conio.h>

struct data { //dichiarazione struct data

int giorno, mese, anno;

};

struct ora { //dichiarazione struct ora

int minuti, ore;

};

struct scontrino { //dichiarazione struct scontrino (contiene i dati

dello scontrino

unsigned int importo;

data data; //data di emissione dello scontrino

ora ora; //ora di emissione dello scontrino

char causale[20];

};

scontrino scontrini[10]; �

int flag=0; //controlla se i dati degli scontrini sono gi

stati inseriti (1 = si, 0 = no)

void input_scontrini(); //lettura dati scontrini

void stampa_scontrino(int); //stampa dati di uno scontrino

void scontrini_giorno(); //calcola quanti scontrini sono stati emessi in un

determinato giorno

void data_scontrino();

void importo_alimenti(); �

int data_valida(int, int, int); //controlla se una data immessa valida

int main(){

int esci=0; //determina l'uscita dal programma

while(esci==0){ //ciclo di visualizzazione menu di scelta

clrscr();

cout<<"\n\t\t\tGESTIONE SCONTRINI\n"<<endl;

cout<<"1. Inserimento dei dati degli scontrini"<<endl;

cout<<"2. Stampa del numero degli scontrini emessi in un determinato

giorno"<<endl;

cout<<"3. Stampa la data di emissione di uno scontrino dato l'importo e il

genere"<<endl;

cout<<"4. Stampa dell'importo totale speso in alimenti in un determinato

mese"<<endl;

cout<<"5. Esci dal programma"<<endl;

cout<<"\nEffettua la tua scelta (1-5): ";

int scelta;

cin>>scelta;

switch(scelta){

case 1: input_scontrini(); break;

case 2: scontrini_giorno(); break;

case 3: data_scontrino(); break;

case 4: importo_alimenti(); break;

case 5: esci=1;

}

}

return 0;

}

void input_scontrini(){

int valida=1;

for(int i=0; i<10; i++){

clrscr(); �

cout<<"SCONTRINO N "<<(i+1)<<endl;

cout<<"\n1) Inserire la data di emissione dello scontrino:\n\n";

cout<<" Giorno: "; cin>>scontrini[i].data.giorno; //legge il giorno di

emissione dello scontrino

cout<<" Mese: "; cin>>scontrini[i].data.mese; //legge il mese di

emissione dello scontrino

cout<<" Anno: "; cin>>scontrini[i].data.anno; //legge l'anno di

emissione dello scontrino

valida=data_valida(scontrini[i].data.giorno, scontrini[i].data.mese,

scontrini[i].data.anno);

while(valida==1){ �

cout<<"\nLa data inserita non valida!!!\nReinserisci la data di

emissione dello scontrino: \n\n";

cout<<" Giorno: "; cin>>scontrini[i].data.giorno; //legge il

giorno di emissione dello scontrino

cout<<" Mese: "; cin>>scontrini[i].data.mese; //legge il mese

di emissione dello scontrino

cout<<" Anno: "; cin>>scontrini[i].data.anno; //legge l'anno

di emissione dello scontrino

valida=data_valida(scontrini[i].data.giorno, scontrini[i].data.mese,

scontrini[i].data.anno);

}

cout<<"\n2) Inserire l'importo speso: ";

cin>>scontrini[i].importo; //legge l'importo

dello scontrino

cout<<"\n3) Inserire la causale dello scontrino: \n"<<endl;

cout<<" 1. Dischi"<<endl;

cout<<" 2. Alimenti"<<endl;

cout<<" 3. Abbigliamento"<<endl;

cout<<"\n Effettua la tua scelta (1-3): ";

int scelta; �

cin>>scelta; //legge n

causale dello scontrino

//assegna al campo "causale" la causale dello scontrino relativa al numero

inserito

switch (scelta){

case 1: strcpy(scontrini[i].causale, "Dischi"); break;

case 2: strcpy(scontrini[i].causale, "Alimenti"); break;

case 3: strcpy(scontrini[i].causale, "Abbigliamento"); break;

}

flag=1;

}

}

void scontrini_giorno(){

int valida=0;

clrscr();

int contatore=0;

if(flag==1){

data dd; //struttura dati di tipo data contenente la data da

controllare cout<<"Inserire la data da controllare: \n"<<endl;

cout<<"Inserisci il giorno: ";

cin>>dd.giorno; //legge il giorno

cout<<"Inserisci il mese: ";

cin>>dd.mese; //legge il mese

cout<<"Inserisci l'anno: ";

cin>>dd.anno; //legge l'anno

valida=data_valida(dd.giorno, dd.mese, dd.anno);

while (valida==1){ �

cout<<"\n\nLa data inserita non valida!!!!\nReinserire la

data da controllare: \n\n";

cout<<"Giorno: ";

cin>>dd.giorno; //legge il giorno

cout<<"Mese: ";

cin>>dd.mese; //legge il mese

cout<<"Anno: ";

cin>>dd.anno; //legge l'anno

valida=data_valida(dd.giorno, dd.mese, dd.anno);

}

for(int i=0; i<10; i++){

if(scontrini[i].data.giorno==dd.giorno &&

scontrini[i].data.mese==dd.mese && scontrini[i].data.anno==dd.anno)

contatore++;

}

cout<<"\nNel giorno immesso sono stati emessi "<<contatore<<"

scontrini.\n"<<endl;

cout<<"Premere un tasto per ritornare al menu principale...";

getch();

}

else{ cout<<"ERRORE!!"<<endl;

cout<<"--------"<<endl;

cout<<"Non sono ancora stati inseriti i dati degli

scontrini!!!"<<endl;

cout<<"Premere un tasto per tornare al menu principale...";

getch();

}

}

void data_scontrino(){

clrscr();

int importo, cont=0;

char causale[20];

if(flag==1){

cout<<"Inserire l'importo dello scontrino da ricercare: ";

cin>>importo;

cout<<"Inserire la causale dello scontrino da ricercare: \n"<<endl;

cout<<" 1. Dischi"<<endl;

cout<<" 2. Alimenti"<<endl;

cout<<" 3. Abbigliamento"<<endl;

cout<<"\n Effettua la tua scelta (1-3): ";

int scelta; �

cin>>scelta; //legge n

causale dello scontrino

switch (scelta){

case 1: strcpy(causale, "Dischi"); break;

case 2: strcpy(causale, "Alimenti"); break;

case 3: strcpy(causale, "Abbigliamento"); break;

}

for(int i=0; i<10; i++){

if(scontrini[i].importo==importo && strcmp(causale,

scontrini[i].causale)==0 ){

cont++;

clrscr();

cout<<"Scontrino trovato ("<<cont<<"):\n\n";

stampa_scontrino(i);

cout<<"\n\nPremere un tasto per continuare la ricerca...";

getch();

}

}

cout<<"\nNon sono stati trovati altri scontrini."<<endl;

cout<<"Premere un tasto per tornare al menu principale...";

getch();

}

else{ cout<<"ERRORE!!"<<endl;

Dettagli
Publisher
5 pagine
321 download