To com problema na parte de testar se a senha é valida e no total de outros caracteres( parte 6 e 7). também to com algum erro de parametros no codigo, ou seja, to fudidasso.
exercicio é o seguinte:
" Leia um texto de até 50 caracteres correspondente ao cadastro de uma senha. Verifique se a senha é válida para cadastro. Para isso implemente, as funções abaixo: a. Implemente a função totalCaracteres que recebe como parâmetro uma string e retorna o total de caracteres válidos nessa string. (não utilizar strlen). b. Implemente a função contaNumero que recebe como parâmetro uma string e retorna a quantidade de caracteres numéricos (algarismo entre 0-9) que aparecem na string. (Obs.: utilize os valores da tabela ASCII para fazer as comparações). c. Implemente a função contaLetraMaiuscula que recebe como parâmetro uma string e retorna a quantidade de caracteres que são letras maiúsculas (A-Z). (Obs.: utilize os valores da tabela ASCII para fazer as comparações). d. Implemente a função contaLetraMinuscula que recebe como parâmetro uma string e retorna a quantidade de caracteres que são letras minúsculas (a-z) (Obs.: utilize os valores da tabela ASCII para fazer as comparações). e. Implemente a função contaSimbolo que recebe como parâmetro uma string e retorna a quantidade de caracteres que são símbolos conforme a lista abaixo: i. se for qualquer símbolo da tabela ASCII a partir do símbolo de exclamação ( ! ) - código ASCII 33 até a ponto ( . ) - código ASCII 46. ii. interrogação (?) - código ASCII 63 iii. arroba ( @ ) - código ASCII 64 iv. sublinhado ( _ ) - código ASCII 95 f. No main, escreva um programa que leia uma string de tamanho máximo 50. Utilizando as funções anteriormente escritas, conte e mostre: i. o total de caracteres ii. total de algarismos numéricos iii. total de letras maiúsculas iv. total de letras minúsculas v. total de símbolos vi. total de outros caracteres (nem letra, nem número, nem símbolo). vii. Verifique e informe se a senha é válida ou não: a. Válida: no mínimo 8 caracteres, com pelo menos: um caractere do tipo numérico, uma letra maiúscula, uma letra minúscula e um símbolo. Não pode ter outro tipo de caractere além dos descritos."
//Brian Nicolas Dias Costa
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int totalCaracteres(char senha[50]){
int i, total;
for(i=0; i<50; i++){
if(senha[i] != '\0'){
total++;
}else{
return total;
}
}
return total;
}
int contaNumero(char senha[50]){
int i, num;
for (i=0; i =! '\0'; i++){
if(senha[i] >47 && senha[i]< 58){
num++;
}else{
return num;
}
}
return num;
}
int contaLetraMaiuscula(char senha[50]){
int i, maiuscula;
for (i=0; i =! '\0'; i++){
if(senha[i] >= 65 && senha[i] <= 90){
maiuscula++;
}else{
return maiuscula;
}
}
return maiuscula;
}
int contaLetraMinuscula(char senha[50]){
int minuscula, i;
for (i=0; i =! '\0'; i++){
if(senha[i] >= 97 && senha[i] <= 122){
minuscula++;
}else{
return minuscula;
}
}
return minuscula;
}
int contaSimbolo(char senha[50]){
int simbolo, i;
for (i=0; i =! '\0'; i++){
if(senha[i] >= 33 && senha[i] <= 46){
simbolo++;
}else if(senha[i] == 63 || senha[i] == 64 || senha[i] == 95){
simbolo++;
}
}
return simbolo;
}
int main(int argc, char *argv[]) {
char senha[50];
printf("Digite sua senha\n");
scanf("%s", &senha[50]);
printf("Total de caracteres: %d\n", totalCaracteres(senha[50]));
printf("Total de caracteres numericos: %d\n", contaNumero(senha[50]));
printf("Total de letras maiusculas: %d\n", contaLetraMaiuscula(senha [50]));
printf("Total de letras minusculas: %d\n", contaLetraMinuscula(senha [50]));
return 0;
}