• 0
Samuel Rébola

Duvida Linguagem C

Question

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.

 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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;

}

 

Edited by Hazzu

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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;

}

 

Edited by Hazzu

Share this post


Link to post
Share on other sites
  • 0
13 minutos atrás, Hazzu disse:

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.

Vlw pela ajuda

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.