Non funziona! Semplice programma C

di il
3 risposte

Non funziona! Semplice programma C

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è?

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte