Responder dúvida

Seja o primeiro a responder

Manipulação de caracteres

C
O exercício é o seguinte: Desenvolva um subprograma para validação de CPF (Cadastro de Pessoas Físicas): desenvolva um algoritmo que dado um número de CPF, informado pelo usuário como uma cadeia de caracteres, ve- rifique se é válido e imprima a resposta na tela. A cadeia de caracteres digitada conterá pontos e traço conforme exemplo. char cpf[14]=“529.982.247-25”; Para verificar se um CPF é válido deve-se analisar os 2 (dois) últimos dígitos de acordo com alguns cálculos realizados com os demais números. Veja a seguir o cálculo para o exemplo: • Verificação do primeiro dígito: Primeiro: multiplica-se os 9 (nove) primeiros dígitos pela sequência decrescente de números intei- ros a partir de 10 (dez). 10 9 8 7 6 5 4 3 2 * * * * * * * * * 5 2 9 9 8 2 2 4 7 50 + 18 + 72 + 63 + 48 + 10 + 8 + 12 + 14 = 295 Segundo: multiplica-se o resultado por 10 (dez). 295 ∗ 10 = 2950 Terceiro: faz-se a divisão do resultado por 11 (onze) e pega-se o valor do resto da divisão. 2950 % 11 = 2 ++Caso o resultado do resto for maior que 10 (dez), então considera-se como resultado o valor 0 (zero). • Verificação do segundo dígito: Primeiro: multiplica-se os 10 (dez) primeiros dígitos pela sequência decrescente de números intei- ros a partir de 11 (onze). 11 10 9 8 7 6 5 4 3 2 * * * * * * * * * * 5 2 9 9 8 2 2 4 7 2 55 + 20 + 81 + 72 + 56 + 12 + 10 + 16 + 21 + 4 = 347 Segundo: multiplica-se o resultado por 10 (dez). 347 ∗ 10 = 3470 Terceiro: faz-se a divisão do resultado por 11 (onze) e pega-se o valor do resto da divisão. 3470 % 11 = 5 ++Caso o resultado do resto for maior que 10 (dez), então considera-se como resultado o valor 0 (zero). Desta forma temos como resposta os dígitos “25”, os quais correspondem aos dígitos do CPF dado como exemplo: “529.982.247-25”. OBS: Você pode usar as funções int tam = strlen(texto), int num = atoi(texto) {converte ca- deia de caracteres para inteiro} e int valor = isdigit(char) {se valor==0 o char é um número entre 0 e 9}. Todas das bibliotecas #include e #include Minha dúvida é a seguinte: eu passo o cpf pra função de validação como uma string ou eu já faço a conversão para inteiro? Essa função atoi não entendi como funciona. Sei como ela converte um único caractere em inteiro, mas com uma string como um CPF, que contém "." e "-", não consegui implementar. Eu teria que passar os números do cpf pra um vetor de inteiros, certo?
Foto de Pedro B.
Pedro Renato perguntou há 2 anos