E' un semplice programma per gestire un conto corrente.
#include<stdio.h>
int richiesta_saldo();
int menu();
int prelievo();
int versamento();
void lista_movimenti();
void saldo_finale();
int scelta;
float saldo;
int num_prelievi=0;
float tot_prelievi=0;
int num_versamenti=0;
float tot_versamenti=0;
main(){
printf(" ############# PROGRAMMA DI GESTIONE DEL CONTO CORRENTE ###############\n\n");
richiesta_saldo();
do
{
menu();
switch(scelta)
{
case 1:
prelievo();
break;
case 2:
versamento();
break;
case 3:
lista_movimenti();
break;
case 4:
saldo_finale();
break;
case 0:
break;
default:
system("cls");
printf("SCELTA NON CONTEMPLATA!");
}
}
while(scelta!=0);
system("PAUSE");
}
int richiesta_saldo()
{
printf("Inserire il saldo attuale in euro del conto corrente: ");
scanf("%f", &saldo);
return saldo;
}
int menu()
{
printf("\n\nScegliere da questo MENU quale operazione si desidera effettuare:\n\n");
printf("1 - Effettuare un prelievo\n");
printf("2 - Effettuare un versamento\n");
printf("3 - Visualizzare la lista movimenti\n");
printf("4 - Visualizzare il saldo finale\n");
printf("0 - CHIUDI PROGRAMMA\n\n");
printf("Scelta: ");
scanf("%d", &scelta);
system("cls");
return scelta;
}
int prelievo()
{
float prelievo;
printf("Inserisci la somma da prelevare in euro: ");
scanf("%f", &prelievo);
if(saldo-prelievo<0)
{
printf("\nIMPOSSIBILE EFFETTUARE IL PRELIEVO. FONDI INSUFFICIENTI!\n");
}
else
{
num_prelievi++;
tot_prelievi+=prelievo;
saldo=saldo-prelievo;
printf("\nPRELIEVO EFFETTUATO\n");
}
return saldo;
}
int versamento()
{
float versamento;
printf("Inserisci la somma da versare in euro: ");
scanf("%f", &versamento);
printf("\nVERSAMENTO EFFETTUATO\n");
num_versamenti++;
tot_versamenti+=versamento;
saldo=saldo+versamento;
return saldo;
}
void lista_movimenti()
{
printf("*************** PRELIEVI ***************\n\n");
printf("Numero di prelievi effettuati: %d\n", num_prelievi);
printf("Somma totale prelevata: %.2f\n", &tot_prelievi);
printf("\n************** VERSAMENTI **************\n\n");
printf("Numero di versamenti effettuati: %d\n", num_versamenti);
printf("Somma totale prelevata: %.2f\n", &tot_versamenti);
printf("\n****************************************\n");
}
void saldo_finale()
{
printf("*************** SALDO FINALE ***************\n\n");
printf("Il saldo finale e': %.2f", saldo);
printf("\n\n*****************************************\n");
}
In questo programma non funziona la parte inerente alla somma dei versamenti effettuati nel case 3. Se lo compilo da sempre come somma 0... Perchè?