Jump to content
Fórum Script Brasil
  • 0

Erro ao compilar."incompatible types in assignment of 'int' to 'char [25]'


Jorge Miguel
 Share

Question

Sou iniciante na programação.
Estou com uma questão e na hora de compilar aparece o seguinte erro;

 [Error] incompatible types in assignment of 'int' to 'char [25]'

 

A questão é a seguinte:

Leia o nome, a idade e a renda familiar de um esportista do Clube Horse. Imprimir a categoria do esportista, com base na seguinte tabela:

IDADE CATEGORIA

até 15 anos Infantil

de 16 a 18 anos Juvenil

acima de 18 anos Adulto

Imprimir também a classe social do esportista, com base na tabela abaixo:

RENDA FAMILIAR CLASSE SOCIAL

até R$ 1.000,00 média baixa

de R$ 1.000,01 a R$ 3.500,00 média

acima de R$ 3.500,00 média alta

 

 

Uso a IDE "DEV C++" e fiz o seguinte:

#include <iostream>


	using namespace std;
	
	int main ()
	
{
	char nm[25], ct[25], cs[25];
	float rf, id;	

	
	cout<< "Qual o seu primeiro nome: ";
	cin>> nm;
	
	cout<< "Qual a sua idade: ";
	cin>> id;
	
	cout<< "Qual a sua renda familiar: ";
	cin>> rf;
	
	
	if ( id <= 15)
	{
		ct = 'Infantil';
	}
	
	else if (id > 15 && id <= 18)
	{
		ct = 'Juvenil';
	}
	
	else
		ct = 'Adulto';
		
		
	if ( rf <= 1000)
	{
		cs = 'Media Baixa';
	}
	
	else if ( rf > 1000 && rf <= 3500)
	{
		cs = 'Media';
	}
	
	else
		cs = 'Media Alta';
		
		
	cout<< "Sua categoria e: " << ct << "\n";
	cout<< "Sua classe social e: " << cs << "\n";
	
	system ("pause");
	return 0;
		
	
}

Esta faltando algo??

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
#include <iostream>
#include <cstring> //para usar strcpy(str1, str2) "string copy" incluir cstring lib, esta funçao copia str2 em str1
#include <cstdlib> //para system("Pause")
using namespace std;
	
int main (){
	char nm[25], ct[25], cs[25];
	float rf, id;	

	
	cout<< "Qual o seu primeiro nome: ";
	cin>> nm;
	
	cout<< "Qual a sua idade: ";
	cin>> id;
	
	cout<< "Qual a sua renda familiar: ";
	cin>> rf;
	
	
	if ( id <= 15)
	{
		strcpy (ct, "Infantil");
	}
	
	else if (id > 15 && id <= 18)
	{
		strcpy (ct,"Juvenil");
	}
	
	else
		strcpy (ct,"Adulto");
		
		
	if ( rf <= 1000)
	{
		strcpy (cs, "Media Baixa");
	}
	
	else if ( rf > 1000 && rf <= 3500)
	{
		strcpy (cs, "Media");
	}
	
	else
		strcpy (cs,"Media Alta");
		
		
	cout<< "Sua categoria e: " << ct << "\n";
	cout<< "Sua classe social e: " << cs << "\n";
	
	system ("pause");
	return 0;
}

Si está usando C_string devemos usar as funções de C, como strcpy para copiar um string em outro, não se permite fazer diretamente como str1 = str2, como no caso de usar a classe string de c++, para C_strings(strings tipo C) não que devemos usar strcpy(str1, str2); que é o equivalente a str1 = str2. Certifique-se que no str1 tenha suficiente espaço para caber str2 ou vai causar transbordamento de memória.

Link to comment
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.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...