Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida Linguagem C


Samuel Rébola

Pergunta

include <stdio.h>

int main ()

{

int numero1 =123 ;

float numero2 =123 ;

char letra= 'x';

int somadeTodos;

printf("%i", numero1);

printf("%f", numero2);

printf("%c", letra);

int somadeTodos = numero1+numero2+letra;

printf("%i",somadeTodos);

return 0;

}

 

.Enfim, me falaram que o erro esta no int somadeTodos , como faço pra somar letras com numeros interios e decimais ent.

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O que você quer? Uma string 123123x ou um resultado inteiro, considerando o caractere com seu código ASCII?

1 hora atrás, Samuel Rébola disse:

int somadeTodos = numero1+numero2+letra;

O correto é somadeTodos = numero1+numero2+letra;

Como você declarou somadeTodos como inteiro, o resultado da soma será inteiro. Para isto, C vai converter o numero float em inteiro e o caractere x também (x equivale a 120 na tabela ASCII). Desta o cálculo será 123+123+120=366.
 

#include <stdio.h>

int main (){
	int numero1 =123 ;
	float numero2 =123 ;
	char letra= 'x';
	int somadeTodos;

	printf("Numero 1: %i\n", numero1);
	printf("Numero 2: %i\n", numero2);
	printf("Letra: %c\n", letra);
	somadeTodos = numero1+numero2+letra;
	printf("Soma: %i\n",somadeTodos);

return 0;

}

 

Editado por Hazzu
Link para o comentário
Compartilhar em outros sites

  • 0
39 minutos atrás, Hazzu disse:

#include <stdio.h> int main (){

O que eu queria saber é como eu posso somar variáveis diferentes tipo somar decimal com inteiro e letra pro exemplo: numero1 seria 12 (inteiro) , numero2  seria 12.4  (decimal) e o ultimo seria a letra que poderia ser qualquer letra , no caso letra x ; E a soma dessas 3 variáveis seria  12+12.4  + x = 24.4 +x ( e x você disse que vale a 120),,,,... e na multiplicação 12.12,4.x = 148,8x... Nesse caso não quero que o x seja substituído pelo valor da tabela e na soma também não.

Link para o comentário
Compartilhar em outros sites

  • 0

Nesse caso x tem que ser uma variável, não um valor. Note que no seu caso, a variável é letra, e 'x' apenas um valor dela.
Você pode fazer assim:

#include <stdio.h>

int main (){
	int numero1 =5 ;
	float numero2 =4.5 ;
	float x=666.5;
	float somadeTodos;

	printf("Numero 1: %i", numero1);
	printf("\nNumero 2: %f", numero2);
	printf("\nValor de x: %f", x);
	somadeTodos = numero1+numero2+x;
	printf("\nSoma: %f\n", somadeTodos);

return 0;

}

Mas parece que você quer transformar programação em notação matemática.
Em programação 148,8x será uma string, não uma operação.

Se você quiser mesmo assim gerar uma string dessa forma, pode usar a função sprintf:
 

#include <stdio.h>

int main (){
	int numero1 =5 ;
	float numero2 =4.5 ;
	char letra='x';
	char expressao[20];

	printf("Numero 1: %i", numero1);
	printf("\nNumero 2: %f", numero2);
	printf("\nLetra: %c", letra);
	sprintf(expressao, "%.2f+%c", numero1+numero2, letra);	//.2f é para imprimir com apenas 2 casas decimais
	printf("\nExpressão: %s\n",expressao);

return 0;

}

 

Editado por Hazzu
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...