Alexv ha scritto:
Se è progressivo perché hai dato numeri a caso negli utenti di esempio?
Che errore ti da?
Io l'ho assegnato e poi faccio correntisti.ID_conto++ cosi da esempio 1234 diventa 1235, questo intendo per progressivo, l'errore mi dice che :
Array has incomplete element type 'struct Correntisti' -----L'errore me lo da all'inizio dove c'è il vettore
MAIN
#include "header.h"
#define max_utenti 2
int main() {
int p_operazione;
int contatore=0;
int nuovi_ut=0;
int importo=0;
int n_conto_ins;
correntista.ID_conto=1234;
//correntisti[n].ID_conto = ID_conto++;
struct Correntisti correntisti[10][/b] = { {"Giulio","Rossi",24726,1500},
{"Silvio","Muru",81685,5500},
{"Gaia","Ruggiero",32784,3500},
{"Noemi","Assuidi",19752,12000},
{"Orsola","Livio",66478,1040}
};
cc.num_conto=56789;
printf("\nQueste sono le operazioni disponibili,sceglierne una:\n 1)Nuovo Conto\n 2)Deposito\n 3)Prelievo\n 4)Mostra Saldo\n 5)Lista Movimenti"
"\nQuale operazione desideri eseguire?\n");
scanf("%d", &p_operazione);
switch (p_operazione)
{
case 1://Inserimento nuovo correntista
{
fflush(stdin);
if (nuovi_ut <= max_utenti)
{
printf("Inserisci il dati della persona da inserire:\nNome: ");
gets(correntista.Nome);
printf("\nCognome:");
gets(correntista.Cognome);
//Generazione del codice utente univoco
printf("\nIl tuo codice utente e':%d",correntista.ID_conto);
correntista.ID_conto++; //Incremento del codice univoco (non so se va qua)
cc.saldo=0; //Azzeramento del saldo
//cc.num_conto=987654321; //assegnazione del codice conto corrente
//correntista.ID_conto=cc.num_conto; //Ad un Id_utente corrisponde un numero di conto corrente
//cc.num_conto++; //Incremento del numero del conto(non so se va qua)
}
cc.num_conto++; //Incremento del numero del conto(non so se va qua)
printf("\nIl tuo conto e' stato aperto con successo,effettua il primo deposito per abilitare il tuo conto");
printf("\n\nInserisci l'importo da depositare:");
scanf("\n%d",&importo);
versamento(importo);
}break;
case 2://Deposito
{
importo=0;
printf("Inserisci il numero di conto:");
scanf("%d",&n_conto_ins);
if (n_conto_ins == correntista.ID_conto)
{
printf("\n\nInserisci l'importo da depositare:");
scanf("\n%d", &importo);
versamento(importo);
}
else
printf("\nIl tuo conto non esiste");
}break;
case 3://Prelievo
{
importo=0;
printf("Inserisci il numero di conto:");
scanf("%d",&n_conto_ins);
if (n_conto_ins == correntista.ID_conto)
{
printf("\n\nInserisci l'importo da prelevare:");
scanf("\n%d", &importo);
prelievo(importo);
}
else
printf("\nIl tuo conto non esiste");
}break;
case 4://Mostra Saldo
{ //Mostra saldo
printf("Inserire il numero di conto:");
scanf("%d",&n_conto_ins);
if (n_conto_ins == correntista.ID_conto)
printf("\nIl tuo saldo e':%d",cc.saldo);
else
printf("\nIl tuo conto non esiste");
}break;
case 5://Lista Movimenti Utente
{
printf("Inserire il numero di conto:");
scanf("%d",&n_conto_ins);
if (n_conto_ins == correntista.ID_conto)
{
//MOSTRAMI LA LISTA DEI MOVIMENTI CHE HA FATTO QUESTO UTENTE
}
else
printf("\nIl tuo conto non e' stato trovato");
}break;
case 0:
return 0;
}
return 0;
PROTOTIPI
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct Movimenti_Bancari{
int numero_cc; //numero del conto corrente associato al Id del correntista
int *operazione; //scelta delle operazioni da fare(prelievo/deposito)
int cronologia_mov;
int conteggio_movimenti;
}movimenti;
struct Correntista{
char *Nome[10]; //10 sta per max di lettere
char *Cognome[10];
int ID_conto; //codice univoco del correntista
struct Movimenti_Bancari; //Lista movimenti del correntista
}correntista;
struct Conto{
float saldo;
int num_conto; //Poiche ad ogni ID_conto si deve creare un numero di ccA
}cc;
int versamento(int );
int prelievo(int importo);
FUNCTION
int versamento(int importo){
cc.saldo=cc.saldo+importo; //Deposito
//Qui ci vorrebbe qualcosa che andasse a salvare l'operazione nella struct Movimenti Bancari.cronologia_mov
printf("\nL'accredito di %d sul conto di %s %s e' stato effettuato",importo,correntista.Nome,correntista.Cognome);
}
int prelievo(int importo){
if (cc.saldo >=importo)
{
cc.saldo=cc.saldo-importo; //Effettuo il prelievo se il saldo è disponibile
//Qui ci vorrebbe qualcosa che andasse a salvare l'operazione nella struct Movimenti Bancari.cronologia_mov
printf("\nIl prelievo di %d dal conto di %s %s e' stato effettuato",importo,correntista.Nome,correntista.Cognome);
}
}