Ayuda con este programa

Iniciado por MikeBaeza, 15 Abril 2016, 04:38 AM

0 Miembros y 1 Visitante están viendo este tema.

MikeBaeza

Es en C, el problema es que tengo la idea de como hacer el ejercicio 2, pero no me sale, seria de mucha ayuda. :D

Ejercicio 1      
      
   Hacer un programa que genere aleatoriamente un password de 8    caracteres que contenga solo los símbolos: 012...9, abc...z, ABC...Z y !?@#$%&+-­‐*, el programa deberá    hacer lo siguiente:      
      
•   Llena una cadena con   todos los símbolos permitidos.      
•   Sortear símbolos de esta cadena para ir construyendo el password.      
Ejercicio 2      
      
Hacer un  ciclo    que pida un password al usuario y que solo acepte passwords con las siguientes características.      
      
•   Que sea de 8-­‐12 caracteres.      
•   Que solo incluya lo símbolos símbolos del ejercicio anterior pero deberá incluir al menos un símbolo de cada    grupo.      
•   Que no repita consecutivamente ningún símbolo.      

AlbertoBSD

#1

#include<stdio.h>
#include<string.h>

int eval(char c);
int evalPassword(char *pwd);

int main() {
if(evalPassword("abCD120%()#/")) {
printf("Cumple con los requisitos\n");
}
else {
printf("No cumple con los requisitos\n");
}
if(evalPassword("AAAAAAAAA")) {
printf("No cumple con los requisitos\n");
}
else {
printf("No cumple con los requisitos\n");
}
}

int evalPassword(char *pwd) {
int len = strlen(pwd);
int letras = 0,minusculas = 0,mayusculas = 0,simbolos = 0,r = 0, i = 0,continua = 0;
if(len >= 8 || len <= 12 ) {
i = 0;
while(i < len) {
switch(eval(pwd[i])) {
case 0:
minusculas++;
break;
case 1:
mayusculas++;
break;
case 2:
letras++;
break;
case 3:
simbolos++;
break;
}
i++;
if(i+1 < len) {
if(pwd[i] == pwd[i+1]) {
continua = 1;
}
}
}
if(!continua && minusculas && letras &&letras && simbolos) {
r = 1;
}
}
return r;
}

int eval(char c) {
if( ( c>='a' && c<='z' ) ) {
return 0;
}
else {
if( c>= 'A' && c <= 'Z' ){
return 1;
}
else {
if( c>='0' && c<='9') {
return 2;
}
else { //Todos los demas simbolos
return 3;
}
}
}

}
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

MikeBaeza

#2
Ok, creo que le entiendo. vamos a ver :)

engel lex

Cita de: MikeBaeza en 15 Abril 2016, 05:11 AM
Compila pero no sale nada :O haha

el dio el codigo para que vieras como iba, no para entregarselo al profe... por lo menos lee el código y mira que tiene o le falta
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.