-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontiCorrenti.c
132 lines (123 loc) · 4.31 KB
/
contiCorrenti.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/*
programma per la gestione di conti correnti
con operazioni di info, prelievo ed accredito
Author : Arcangelo Saracino
Date : 11/03/2018
*/
#define MAX 100
typedef enum { FALSE,
TRUE } boolean;
typedef struct PersonaS
{
int num_conto;
char nome[256];
char cognome[256];
float saldo;
} persona;
int main()
{
float importo; //importo da addebitare o accreditare
boolean flag = 0; //sentinella per la ricerca
persona conti[MAX]; //conterrà tutti i conti correnti creati
unsigned int scelta = 1, i = 0, k, conto_scelto = 0; //conterrà il valore dell'operazione selezionata,contatore,contatore,conto scelta per la ricerca;
do
{ //acquisizione conti
printf("Inserisci conto corrente %u \n", i + 1);
printf("Inserisci numero di conto corrente \n");
scanf("%d", &conti[i].num_conto);
printf("Inserisci nome intestatario del conto corrente \n");
scanf("%s", &conti[i].nome);
printf("Inserisci cognome intestatario del conto corrente \n");
scanf("%s", &conti[i].cognome);
printf("Inserisci saldo del conto corrente \n");
scanf("%f", &conti[i].saldo);
i++;
printf("Clicca 0 per terminare l'inserimento , 1 per continuare \n");
scanf("%d", &scelta);
} while (scelta != 0 && i < MAX);
do
{
printf("Scelta operazioni da eseguire\n");
printf("0 mostra tutti\t 1 accredito su conto \t 2 addebito su conto \t 3 mostra saldo su conto\n \n 4 esci");
scanf("%d", &scelta);
flag =0 ; //resetto il flag
switch (scelta)
{
case 0: //stampa tutte le info dei conti
for (k = 0; k < i; k++)
{
printf("info del conto %u\n", k + 1);
printf("numero conto %d\n", conti[k].num_conto);
printf("intestatario conto %s %s\n", conti[k].nome, conti[k].cognome);
printf("saldo %.2f\n", conti[k].saldo);
}
break;
case 1: //accredito su conto
printf("\n Inserire numero conto\n");
scanf("%u", &conto_scelto);
for (k = 0; k < i && flag == 0; k++)
{
if (conti[k].num_conto == conto_scelto)
{
flag = 1;
printf("\n Inserire importo da accreditare\n");
scanf("%f", &importo);
if (importo > 0)
{
conti[k].saldo += importo;
}
else
{
printf("\nimporto inserito non valido\n");
}
}
}
if(flag == 0) printf("Conto cercato non valido");
break;
case 2: //addebito su conto
printf("\n Inserire numero conto\n");
scanf("%u", &conto_scelto);
for (k = 0; k < i && flag == 0; k++)
{
if (conti[k].num_conto == conto_scelto)
{
flag = 1;
printf("\n Inserire importo da addebitare\n");
scanf("%f", &importo);
if (importo > 0)
{
conti[k].saldo -= importo;
}
else
{
printf("\nimporto inserito non valido\n");
}
}
}
if(flag == 0) printf("Conto cercato non valido");
break;
case 3: //mostro saldo
printf("\n Inserire numero conto\n");
scanf("%u", &conto_scelto);
for (k = 0; k < i && flag == 0; k++)
{
if (conti[k].num_conto == conto_scelto)
{
flag =1;
printf("\nsaldo %.2f \n",conti[k].saldo);
}
}
if(flag == 0) printf("Conto cercato non valido");
break;
case 4: //esco
break;
default:
printf("opzione non riconosciuta\n");
break;
}
} while (scelta != 4);
return 0;
}