Ho sistemato nel seguente modo al momento:
MAIN.C : //richia
#define BUFFER_SIZE 1024
//Librerie generali
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#include <windows.h>
#include "utenti.h"
#include "util.h"
int main(){
titolo();
int scelta;
utente *testa_Utente = NULL;
//Lettura utenti dal file
FILE *fpU;
fpU = fopen("utenti.csv", "r");
testa_Utente = lettura_Utenti(fpU);
do {
printf("\t \t \t 1. Login \n \n");
printf("\t \t \t 2. Registrazione \n \n");
printf("\t \t \t 3. Esci \n \n");
printf("\t \t \t \t Scelta : ");
scanf("%d", scelta);
//Ripulisco la schermata
clear_Console();
titolo();
switch (scelta) {
/* REGISTRAZIONE Utente */
case 2:
printf("Benvenuto! \n Crea il tuo account \n");
registrazione_utente(testa_Utente);
clear_Console();
titolo();
break;
default:
clear_Console();
titolo();
break;
}
printf("-----------------------------\n");
} while (scelta != 0);
printf("\n");
return 0;
UTENTI.H
//Definizione struct UTENTE
typedef struct utente utente;
void registrazione_utente (utente *testa);
int lettura_UltimoID(utente *testa_utente);
utente *lettura_Utenti(FILE *fp);
UTENTI.C
#define Char_size 20
struct utente {
int id;
char nome[Char_size];
char cognome[Char_size];
char nick[Char_size];
char password[Char_size];
int permessi; // livello 1 = utente normale; livello 2 = admin (ha accesso a tutto);
struct utente *next_Utente; //puntatore al prossimo nodo
};
/*
* Funzione: registrazione_utente
* ----------------------------
* Permette la registrazione di un nuovo utente, con salvatggio dei dati sul file "utenti.csv" nella struct utente
*
* @param testa : puntatore all'inizio lista utenti, una lista contenente tutte gli utenti caricati dal file "utenti.csv"
*/
void registrazione_utente (utente *testa) {
// Puntatori a variabili tipo utente : Salvataggio in TESTA alla lista
utente *nuovo_Nodo = NULL;
utente *temp;
utente *curr, *prec;
prec = NULL;
curr = testa;
nuovo_Nodo = (utente *)malloc(sizeof(utente));
....
ma ho sempre il seguente errore su UTENTI.C alla riga della definizione della funzione registrazione_utente:
[Error] unknown type name 'utente'