Untitled
unknown
c_cpp
10 months ago
1.2 kB
4
Indexable
/*
Un dato sistema informatico richiede che ciascun username sia una stringa composta da almeno N caratteri, di cui
almeno NL lettere dell’alfabeto maiuscolo o minuscolo e non contenga alcun carattere speciale appartenente ad una
stringa di controllo SYMB (per esempio "%:;-+"). Scrivere un sottoprogramma che riceve come parametri una
stringa rappresentante un username, gli interi N ed NL e la stringa SYMB; il sottoprogramma restituisce 1 se la stringa
rappresenta un username valida, altrimenti 0.
Esempio: con N=8, NL=5 e SYMB="%:;-+", "Domani.898" è un username valida, mentre "domani:898" e
"do.898" non lo sono.
*/
#include <stdio.h>
#include <string.h>
int username_valido(char *username, int N, int NL, char *SYMB)
{
int len = strlen(username);
if(len < N)
{
return 0;
}
int count =0;
for(int i=0; i<len; i++)
{
if(username[i] >= 'a' && username[i] <= 'z' || (username[i] >= 'A' && username[i] <= 'Z'))
{
count++;
}
for(int j=0; SYMB[j] != '\0'; j++)
{
if(username[i] == SYMB[j])
{
return 0;
}
}
}
if(count < NL)
{
return 0;
}
return 1;
}
Editor is loading...
Leave a Comment