Advertisement
Guest User

Untitled

a guest
May 27th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.22 KB | None | 0 0
  1.  *  Traccia:• Scrivere un programma in grado di 1. Acquisire informazioni immesse da tastiera relative a
  2.  *  cinque utenti, caratterizzati da nome, cognome, indirizzo, password. Lo studente può scegliere liberamente
  3.  *  come modellare un utente. 2. Calcolo sicurezza password, eseguito come segue: • Password poco sicura, numero
  4.  *  di caratteri numerici e caratteri punteggiatura <=2 • Password medio sicura, numero di caratteri numerici e
  5.  *  caratteri punteggiatura <=4 e >2 • Password sicura, numero di caratteri numerici e caratteri punteggiatura >5
  6.  *  3. Scrivere su file e su righe consecutive la stringa “password”+”livello” composta da password immessa da
  7.  *  ciascun utente e livello associate
  8.  *
  9.  *
  10.  *      Author: Fra
  11.  */
  12.  
  13. #include <stdio.h>
  14. #include <string.h>
  15. #include <stdlib.h>
  16. #include <ctype.h>
  17.  
  18. typedef struct{
  19.     char nome[20];
  20.     char cognome[20];
  21.     char indirizzo[20];
  22.     char password[20];
  23.     int livello;
  24. }utente;
  25.  
  26. void inserisci(utente[], int*);
  27. void controllapassword(utente[],int);
  28. void salva(utente[],int);
  29.  
  30. int main(){
  31.  
  32.     utente utenti[20];
  33.     int continua=0, scelta=0,quantita;
  34.  
  35.     do{
  36.         puts("Yo, scelgli da menu\n1)inserisci i dati degli utenti\n2)salva i dati");
  37.         scanf("%d",&scelta);
  38.         switch(scelta){
  39.             case 1: inserisci(utenti,&quantita);
  40.             break;
  41.             case 2: salva(utenti,quantita);
  42.             break;
  43.             default : puts("Errore nell'inserimento");
  44.         }
  45.         puts("Continuare con il menu? 0=no");
  46.         scanf("%d",&continua);
  47.     }while(continua!=0);
  48.  
  49.     system("pause");
  50.     return 0;
  51. }
  52.  
  53.  
  54. void inserisci(utente utenti1[], int *num){
  55.  
  56.     int i,continua=1;
  57.     for(i=0;i<=20 && continua==1;i++){
  58.         puts("Inserisci il nome utente");
  59.         scanf("%s",utenti1[i].nome);
  60.         puts("Inserisci il cognome utente");
  61.         scanf("%s",utenti1[i].cognome);
  62.         puts("Inserisci l'indirizzo dell'utente");
  63.         //scanf("%s",utenti1[i].indirizzo);
  64.         fflush(stdin);
  65.         gets(utenti1[i].indirizzo);
  66.         puts("Inserisci password");
  67.         fflush(stdin);
  68.         gets(utenti1[i].password);
  69.         //scanf("%s",utenti1[i].password);
  70.         controllapassword(utenti1,i);
  71.         puts("Continuare? 0=no");
  72.         scanf("%d",&continua);
  73.     }
  74.     *num=i-1;
  75. }
  76.  
  77.  
  78. void controllapassword(utente utenti[],int j){
  79.  
  80.     int k[20],v[20],vfin=0,kfin=0,i,f;
  81.  
  82.     for(i=0;utenti[j].password[i]!='\0';i++){
  83.         k[i]=isdigit(utenti[j].password[i]);
  84.         v[i]=ispunct(utenti[j].password[i]);
  85.     }
  86.     for(f=0;f<i;f++){
  87.         kfin=kfin+k[f];
  88.         vfin+=v[f];
  89.     }
  90.     printf("%d\n",kfin);
  91.     printf("%d\n",vfin);
  92.     if(kfin<=2 && vfin<=2){
  93.         puts("Password poco sicura");
  94.         utenti[j].livello=1;
  95.     }
  96.     else{
  97.         if(kfin<=4 && kfin>2 && vfin<=4 && vfin>2){
  98.             puts("Password medio sicura");
  99.             utenti[j].livello=2;
  100.         }
  101.         else{
  102.             if(kfin>=5 && vfin>=5){
  103.                 puts("Password sicura");
  104.                 utenti[j].livello=3;
  105.             }
  106.         }
  107.     }
  108. }
  109.  
  110. void salva(utente utenti[],int num){
  111.  
  112.     FILE *f;
  113.     int i;
  114.  
  115.     f=fopen("C:\\Users\\Fra\\Desktop\\utente.txt","w+");
  116.     if(f==NULL){
  117.         puts("Errore nell'apertura del file");
  118.     }
  119.     else{
  120.         for(i=0;i<=num;i++){
  121.             fprintf(f,"%s",utenti[i].password);
  122.             if(utenti[i].livello==1){
  123.                 fprintf(f," + Livello basso\n");
  124.             }
  125.             else{
  126.                 if(utenti[i].livello==2){
  127.                     fprintf(f," + Livello medio\n");
  128.                 }
  129.                 else{
  130.                     fprintf(f," + Livello alto\n");
  131.                 }
  132.             }
  133.         }
  134.     }
  135.  
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement