Programa em linguagem GO produzido pelo ChatGpt.
// -----------------------------------------------------------
// Nome :Verifica_cpf.go
// Objetivo :Verifica validade de cpf
// Autor: :ChatGpt
// Data :10-10-2024
// Instrucoes :
// Para commpilar, use
// go build Verifica_cpf.go
// Para executar, use
// Verifica_cpf.exe
//
// -----------------------------------------------------------
package main
import (
"fmt"
"regexp"
"strconv"
"strings"
)
// Função para validar CPF
func validaCPF(cpf string) bool {
// Remover pontos e traços
re := regexp.MustCompile(`[^\d]`)
cpf = re.ReplaceAllString(cpf, "")
// Verificar se o CPF tem 11 dígitos
if len(cpf) != 11 {
return false
}
// Verificar se todos os dígitos são iguais
if cpf == strings.Repeat(string(cpf[0]), 11) {
return false
}
// Converter os primeiros 9 dígitos para inteiros
numeros := make([]int, 11)
for i := 0; i < 11; i++ {
n, _ := strconv.Atoi(string(cpf[i]))
numeros[i] = n
}
// Calcular o primeiro dígito verificador
soma := 0
for i := 0; i < 9; i++ {
soma += numeros[i] * (10 - i)
}
resto := (soma * 10) % 11
if resto == 10 {
resto = 0
}
if resto != numeros[9] {
return false
}
// Calcular o segundo dígito verificador
soma = 0
for i := 0; i < 10; i++ {
soma += numeros[i] * (11 - i)
}
resto = (soma * 10) % 11
if resto == 10 {
resto = 0
}
if resto != numeros[10] {
return false
}
// CPF válido
return true
}
func main() {
var cpf string
fmt.Println("Digite o CPF para validar:")
fmt.Scan(&cpf)
if validaCPF(cpf) {
fmt.Println("CPF válido!")
} else {
fmt.Println("CPF inválido!")
}
}
Sê o primeiro