Salve, ribadisco la mia richiesta di assistenza.
Ho visto tutto quello che ci stava di materiale fornito dal professore durante il corso e questo esercizio posso farlo solo con vettori di strutture allocate staticamente…
Detto questo vorrei aggiornarvi al meglio su come sto facendo questo programma:
Nell'esercizio devo inserire un insieme di UTENTI che possono inserire MESSAGGI quindi:
#define MAX 50
typedef struct {
char nome[MAX];
char cognome[MAX];
char sesso[MAX];
int giorno;
char mese[MAX];
int anno;
} Utente;
typedef struct {
char autore[MAX];
char testo[MAX];
int mi_piace;
char destinatario[MAX];
} Messaggio;
In seguito all'interno del main ho inserito 2 vettori di strutture, uno per contenere gli UTENTI e uno per i MESSAGGI, poi ho implementato uno switch per poter fare le operazioni elencate:
#define MAX_MESSAGE 200
#define MAX_USERS 100
int main()
{
Utente ElencoUtenti[MAX_USERS];
Messaggio ElencoMessaggi[MAX_MESSAGE];
int scelta;
while (scelta=menu()){
switch(scelta){
case 1:
system ("CLS");
printf("***INSERIMENTO UTENTE***\n\n");
system ("PAUSE");
break;
case 2:
system ("CLS");
printf("***INSERIMENTO MESSAGGIO***\n\n");
system ("PAUSE");
break;
case 3:
system ("CLS");
printf("***VISUALIZZAZIONE MESSAGGIO***\n\n");
system ("PAUSE");
break;
case 4:
system ("CLS");
printf("***ELIMINA MESSAGGIO***\n\n");
system ("PAUSE");
break;
case 0: return 0;
}
}
return 0;
}
In seguito ho creato una funzione che restituisce un'intero per poter fare le operazioni dello switch nel main:
int menu(){
int scelta;
printf("***GESTIONE UTENTE***\n");
printf("[1] Inserisci Utente\n");
printf("[2] Inserisci Messaggio\n");
printf("[3] Visualizza Tutti i Messaggi Utente\n");
printf("[4] Elimina Messaggio \n");
printf("[0] Esci\n\n");
printf(" Scelta: ");
scanf("%d",&scelta);
while (scelta<0 || scelta>4){
printf("Scelta non valida\n");
printf(" Scelta: ");
scanf("%d",&scelta);
return scelta;
}
return scelta;
system ("PAUSE");
}
Prototipo della funzione prima del main:
int menu();
Ora vorrei implementare una funzione per l'inserimento di un numero finito di utenti che verranno salvati nel vettore:
Utente ElencoUtenti[MAX_USERS];
.
Volevo sapere:
1) Come creare questa funzione senza sbagliare (non chiedo il codice, ma sapere a parole come implementarla).
2)Ho bisogno di creare una nuova struttura? O mi basta la struttura Utente già creata?
Preferisco implementare tutto dall'inizio, quindi se i messaggi precedenti costituiscono una scomodità possono essere anche cancellati.
Grazie per l'aiuto.