Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * Traccia:• Scrivere un programma in grado di 1. Acquisire informazioni immesse da tastiera relative a
- * cinque utenti, caratterizzati da nome, cognome, indirizzo, password. Lo studente può scegliere liberamente
- * come modellare un utente. 2. Calcolo sicurezza password, eseguito come segue: • Password poco sicura, numero
- * di caratteri numerici e caratteri punteggiatura <=2 • Password medio sicura, numero di caratteri numerici e
- * caratteri punteggiatura <=4 e >2 • Password sicura, numero di caratteri numerici e caratteri punteggiatura >5
- * 3. Scrivere su file e su righe consecutive la stringa “password”+”livello” composta da password immessa da
- * ciascun utente e livello associate
- *
- *
- * Author: Fra
- */
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <ctype.h>
- typedef struct{
- char nome[20];
- char cognome[20];
- char indirizzo[20];
- char password[20];
- int livello;
- }utente;
- void inserisci(utente[], int*);
- void controllapassword(utente[],int);
- void salva(utente[],int);
- int main(){
- utente utenti[20];
- int continua=0, scelta=0,quantita;
- do{
- puts("Yo, scelgli da menu\n1)inserisci i dati degli utenti\n2)salva i dati");
- scanf("%d",&scelta);
- switch(scelta){
- case 1: inserisci(utenti,&quantita);
- break;
- case 2: salva(utenti,quantita);
- break;
- default : puts("Errore nell'inserimento");
- }
- puts("Continuare con il menu? 0=no");
- scanf("%d",&continua);
- }while(continua!=0);
- system("pause");
- return 0;
- }
- void inserisci(utente utenti1[], int *num){
- int i,continua=1;
- for(i=0;i<=20 && continua==1;i++){
- puts("Inserisci il nome utente");
- scanf("%s",utenti1[i].nome);
- puts("Inserisci il cognome utente");
- scanf("%s",utenti1[i].cognome);
- puts("Inserisci l'indirizzo dell'utente");
- //scanf("%s",utenti1[i].indirizzo);
- fflush(stdin);
- gets(utenti1[i].indirizzo);
- puts("Inserisci password");
- fflush(stdin);
- gets(utenti1[i].password);
- //scanf("%s",utenti1[i].password);
- controllapassword(utenti1,i);
- puts("Continuare? 0=no");
- scanf("%d",&continua);
- }
- *num=i-1;
- }
- void controllapassword(utente utenti[],int j){
- int k[20],v[20],vfin=0,kfin=0,i,f;
- for(i=0;utenti[j].password[i]!='\0';i++){
- k[i]=isdigit(utenti[j].password[i]);
- v[i]=ispunct(utenti[j].password[i]);
- }
- for(f=0;f<i;f++){
- kfin=kfin+k[f];
- vfin+=v[f];
- }
- printf("%d\n",kfin);
- printf("%d\n",vfin);
- if(kfin<=2 && vfin<=2){
- puts("Password poco sicura");
- utenti[j].livello=1;
- }
- else{
- if(kfin<=4 && kfin>2 && vfin<=4 && vfin>2){
- puts("Password medio sicura");
- utenti[j].livello=2;
- }
- else{
- if(kfin>=5 && vfin>=5){
- puts("Password sicura");
- utenti[j].livello=3;
- }
- }
- }
- }
- void salva(utente utenti[],int num){
- FILE *f;
- int i;
- f=fopen("C:\\Users\\Fra\\Desktop\\utente.txt","w+");
- if(f==NULL){
- puts("Errore nell'apertura del file");
- }
- else{
- for(i=0;i<=num;i++){
- fprintf(f,"%s",utenti[i].password);
- if(utenti[i].livello==1){
- fprintf(f," + Livello basso\n");
- }
- else{
- if(utenti[i].livello==2){
- fprintf(f," + Livello medio\n");
- }
- else{
- fprintf(f," + Livello alto\n");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement