#include <stdio.h>
#include <stdlib.h>
#define N 20
typedef struct {int giorno;
int mese;
int anno;
}datazione;
typedef struct {int ore;
int minuti;
}orario;
typedef struct {char nome[N];
char descrizione[150];
char luogo[N];
orario ora;
datazione data;
char amici[N];
}record;
void menu(int valPassword);
void aggiungi_record();
void visualizza_record();
void cerca_record();
void modifica_record();
void elimina_record();
void cambia_password(int valPassword);
FILE *ptrPassword;
int main()
{
int valPassword=0, valPassword1=0, Scelta=0;
ptrPassword = fopen("filePassword", "rb");
if(ptrPassword)
{
fread(&valPassword, sizeof(int), 1, ptrPassword);
menu(valPassword);
}
else
{
printf("\t\t\t\t**Benvenuti nel vostro diario personale**\n\n"
"Per il primo avvio e' necessario creare una password di accesso\nVuoi creare una nuova password?\n1 Si\n2 No\n");
scanf("%d", &Scelta);
switch(Scelta)
{
case 1:
system("cls");
printf("Inserire una password che contenga 4 numeri: ");
scanf("%d", &valPassword1);
printf("Inserire nuovamente la password: ");
scanf("%d", &valPassword);
if(valPassword==valPassword1)
{
ptrPassword = fopen("filePassword", "wb");
if(ptrPassword)
{
fwrite(&valPassword, sizeof(int), 1, ptrPassword);
printf("\nPassword creata correttamente.\nRiavviare il programma per salvare le modifiche.\n\n");
}
else
{
printf("Errore di file");
}
fclose(ptrPassword);
}
else
{
printf("\nLe due password non coincidono");
}
break;
case 2:
break;
default:
printf("La scelta effettuata non e' corretta");
}
}
return(0);
}
void menu(int valPassword)
{
int scelta, scelta_1, password;
do
{
printf("\t\t\t\t**Benvenuti nel vostro diario personale**\n\nInserire la password per continuare (4 numeri):");
scanf("%d", &password);
if(password == valPassword)
{
system("cls");
printf("Scegliere una delle seguenti opzioni:\n");
printf("\n1 Aggiungi record");
printf("\n2 Visualizza record");
printf("\n3 Cerca record");
printf("\n4 Modifica record");
printf("\n5 Elimina record");
printf("\n6 Cambia password");
printf("\n7 Uscita\n");
scanf("%d", &scelta);
switch(scelta)
{
case 1:
system("cls");
aggiungi_record();
system("pause");
system("cls");
break;
case 2:
system("cls");
visualizza_record();
system("pause");
system("cls");
break;
case 3:
system("cls");
cerca_record();
system("pause");
system("cls");
break;
case 4:
system("cls");
modifica_record();
system("pause");
system("cls");
break;
case 5:
system("cls");
elimina_record();
system("pause");
system("cls");
break;
case 6:
system("cls");
cambia_password(valPassword);
system("pause");
system("cls");
break;
case 7:
system("cls");
break;
default:
system("cls");
printf("La scelta fatta non e' corretta\n\n");
}
}
else
{
printf("\nPassword errata!!\n\n");
}
printf("Tornare al menu principale?\nSe e' stata cambiata la password e' necessario riavviare programma per salvare le modifiche\n");
printf("\n1 Torna al menu principale");
printf("\n2 Non tornare al menu principale\n");
scanf("%d", &scelta_1);
system("cls");
}
while(scelta_1 != 2);
}
void aggiungi_record()
{
}
void visualizza_record()
{
printf("Ciao\n");
}
void cerca_record()
{
printf("Ciao\n");
}
void modifica_record()
{
printf("Ciao\n");
}
void elimina_record()
{
printf("Ciao\n");
}
void cambia_password(int valPassword)
{
int scelta=0, oldPassword=0, newPassword=0, newnewPassword=0;
printf("Sei sicuro di voler cambiare la password?\n1 Si\n2 No\n");
scanf("%d", &scelta);
switch(scelta)
{
case 1:
system("cls");
printf("Digitare la vecchia password: ");
scanf("%d", &oldPassword);
if(oldPassword==valPassword)
{
printf("Digitare la nuova password (4 numeri): ");
scanf("%d", &newPassword);
printf("Digitare nuovamente la nuova password: ");
scanf("%d", &newnewPassword);
if(newnewPassword==newPassword)
{
ptrPassword = fopen("filePassword", "wb");
if(ptrPassword)
{
fwrite(&newnewPassword, sizeof(int), 1, ptrPassword);
}
else
{
printf("Errore di file");
}
}
else
{
printf("Le password non sono uguali\n");
}
}
else
{
printf("Errore\n");
}
break;
case 2:
break;
default:
printf("La scelta fatta non e'corretta\n");
}
}