Salve ragazzi avrei questa traccia:
Si supponga di voler gestire i conti correnti di n utenti. Ogni utente è identificato dal
Cognome, Nome, numero del conto, lista movimenti.
Gestire i conti correnti e gestire le seguenti operazioni
• Inserire un nuovo correntista a cui viene assegnato un codice univoco.
• Visualizzare la lista movimenti di un dato correntista (dato il numero del conto o
Cognome/Nome) in una fissata data.
Ho iniziato a lavorarci solo che per quanto riguarda il primo punto più o meno con le idee ci sono mentre per il secondo punto non so come implementare la lista movimenti. La mia idea è di creare due function prelievo e deposito poi pero non so se è giusto farlo e se rispecchia la traccia, potete darmi idee a riguardo magari con qualche esempio.
PS: per forza con struct, se notate qualche errore che sicuro ci sarà ditemelo perche sono alle prime armi con le struct e sto cercando di capirle al meglio, solo che il tempo stringe per la consegna
#include "header.h"
#include <stdlib.h>
#include <time.h>
#define utenti_max 3
int main() {
int op_richiesta;
char dato_ins_1;
char nuovo_utente = 0;
//Generazione Codice
int cod_generato[]={1,2,3,4,5,6,7,8,9,0};
int *password;
int lung_passw=4; //lunghezza da 0 a 5
srand(time(NULL));
struct Correntisti utenti[15] = {{"Giulio", "Rossi", 2472621, 1500},
{"Marco", "Verde", 4567353, 20000},
{"Dante", "Alighieri", 3917545, 20000},
{"Luca", "Caprari", 9123436, 50000},
{"Mario", "Rossi", 2309467, 2790},
{"Tiziano", "Franchi", 7542878, 890},
{"Silvio", "Manchi", 8168519, 5500},
{"Gaia", "Ruggiero", 3278422, 3500},
{"Noemi", "Assuidi", 1975251, 12000},
{"Orsola", "Livorno", 6647894, 1040}};
correntisti.ID_conto=password;
printf("\nOperazioni disponibili:\n 1)Nuovo Conto\n 2)Lista Movimenti"
"\nQuale operazione vuoi eseguire?\n");
scanf("%d", &op_richiesta);
switch (op_richiesta)
{
case 1: //Inserimento nuovo correntista
if (nuovo_utente <= utenti_max)
{
printf("Inserisci il dati della persona da inserire:\nNome: ");
scanf("%s",correntisti.Nome);
printf("\nCognome:");
scanf("%s",correntisti.Cognome);
//Generazione del codice univoco
password=(int *)calloc(lung_passw,sizeof (int ));
for (int i = 0; i <= lung_passw; i++) {
password[i]=cod_generato[ rand()% 9];
}
printf("\nIl tuo Numero utente del conto corrente e':%d\n", correntisti.ID_conto);
nuovo_utente++;
printf("\nProcedimento completato il tuo conto di:"
"\nNome:%s\nCognome:%s\nNumero Conto:%d\ne' stato creato, verra'"
"abilitato nelle prossime 24 ore.",
correntisti.Nome,correntisti.Cognome,correntisti.ID_conto);
}
break;
case 2: //Visualizzazione movimenti
printf("\nInserisci uno di questi tre elementi richiesti\n1)Numero di conto\n2)Cognome/Nome\n");
scanf("%d", &dato_ins_1);
while (dato_ins_1 = correntisti.Nome &&correntisti.Cognome&&correntisti.ID_conto) {
}
}
Queste sono le dichiarazioni di struct
#include <stdio.h>
struct Correntisti{ //Comprende tutti i dati dell'utente
char Nome[15];
char Cognome[15];
int *ID_conto; //Numero univoco del conto
int Movimenti;
}correntisti;
typedef enum {gennaio,febbraio,marzo,aprile,maggio,giugno,luglio,agosto,settembre,ottobre,novembre,dicemre}Mesi;
struct Data{ //Comprende gli elementi per ricercare una data
int *giorno[31];
//char *mese[12];
int anno; //possibile vedere solo ultimo anno
Mesi *mese; //per far inserire il mese all'utente
};