Ir ao conteúdo

Posts recomendados

Postado

Olá, preciso realizar um programa que eu entre com um numero e um nome e os mesmo faça a soma dos resultados.

Ex:  n° 9181 = 19  nome: Pablo dos santos = 14 letras.

19 + 14 = 33. fiz o código dos numeros e o codigo das letras porém não sei como fazer para soma - lo.

 

CALCULA DIGITO

#include <stdio.h>
#include <stdlib.h>




int somaDigitos (int digitos)
{
    int resto, valor, i, resultado, soma = 0;
   
    resultado = digitos;
   
    while (resultado != 0)
    {
          resto = resultado % 10;
          resultado = resultado / 10;
         
          soma = soma + resto;
    }
   
    return soma;
}

main()
{
     
      int numero, res;
     
     
      printf("\nDigite o n%cmero:\n", 163);
      scanf("%d", &numero);
     
     
      res = somaDigitos (numero);
     
     
      printf("\n*** Soma dos d%cgitos do n%cmero: %d. *** \n", 161, 163, res);
    
      printf("\n\n");
     
    
      system ("pause");
}






#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TAM 50


main()
{
char nome[TAM];
int i = 1 , cont = 0, qtd, j;
printf("Digite o nome: \n \n");
gets(nome);
printf("\n\n");
qtd = strlen(nome);

while (i <= qtd)
{
if (nome[i] != ' ')
{
cont++;
}
i++;
}
 
printf("O nome possui %d letras.", cont);


printf("\n\n\n");      
         
 system("pause");
 }

 

  • Curtir 1
Postado

@Pablo.Mascarenhas Se não houver restrição em tratar as entradas só como string será mais simples. Aí sua função pode ter dois parâmetros: Um para a string e outro para identificar o tipo de soma (contar as letras ou dos dígitos), p.ex,

 

int resultado(char *str, int tipo){
    int soma = 0;
    while(*str){
        if(tipo){
            if(*str != ' '){
                soma += 1;
            }
        }else{
            soma += *str -'0';
        }
        str += 1;
    }
    return soma;
}

 

O loop vai até o terminador nulo, para somar os dígitos quando o segundo parâmetro recebe zero ou contar quando diferente,

printf("%d\n", resultado("9181", 0));

 

Sobre como somar os resultados do seu código, deixe apenas uma função main e pegue as variáveis que adicionou a quantidade de letras e dígitos, p.ex,

printf("%d\n", res + cont);

 

  • Curtir 1
Postado

@Pablo.Mascarenhas Agora é só pegar as duas variáveis e efetuar a soma desses resultados.

 

Obs: Veja o alerta do seu compilador sobre a função gets. No lugar dessa prefira fgets que é mais segura por ter um parâmetro para limitar a quantidade de caracteres.

  • Curtir 1
  • 2 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!