Ir ao conteúdo
  • Cadastre-se

Erro ao atribuir valores em string (c++)


h_bram

Posts recomendados

Estou com o seguinte problema:

Preciso fazer um programa que mostre o mês por extenso.

Para isso criei uma matriz do tipo "char" mes12X10, onde 12 são os meses e dez os espaços para escreve-los.

Apos isso atribui os valores da seguinte forma:

mes[0]= "JANEIRO";

mes[1]= "FEVEREIRO";

mes[2]= "MARCO";

mes[3]= "ABRIL";

mes[4]= "MAIO";

mes[5]= "JUNHO";

mes[6]= "JULHO";

mes[7]= "AGOSTO";

mes[8]= "SETEMBRO";

mes[9]= "OUTUBRO";

mes[10]= "NOVEMBRO";

mes[11]= "DEZEMBRO";

Mas meu Code Blocks informa o seguite erro:

error: incompatible types in assignment of `const char[8]' to `char[10]'

Alguem pode me ajudar??? :help:

Link para o comentário
Compartilhar em outros sites

Poderia mostrar a parte do codigo onde você declarou a variável e a parte onde tá atribuindo esses valores?

Se estiver atribuindo exatamente como mostrou aí, vai dar erro mesmo, precisa usar:

#include <string.h>

//...

strcpy (mes[0], "JANEIRO");

Em C++ você pode usar a classe string e criar um vetor com várias:

http://www.cplusplus.com/reference/string/string/assign/

string mes[12];

Link para o comentário
Compartilhar em outros sites

Poderia mostrar a parte do codigo onde você declarou a variável e a parte onde tá atribuindo esses valores?

Se estiver atribuindo exatamente como mostrou aí, vai dar erro mesmo, precisa usar:

#include <string.h>

//...

strcpy (mes[0], "JANEIRO");

Em C++ você pode usar a classe string e criar um vetor com várias:

http://www.cplusplus.com/reference/string/string/assign/

string mes[12];

Esta ai:

#include <iostream>

#include <conio.h>

using namespace std;

int main()

{ char mes[12][20];

float venda[12][4],t_mes=0,t_sem=0,t_ano=0;

int l,c;

mes[0]= "JANEIRO";

mes[1]= "FEVEREIRO";

mes[2]= "MARCO";

mes[3]= "ABRIL";

mes[4]= "MAIO";

mes[5]= "JUNHO";

mes[6]= "JULHO";

mes[7]= "AGOSTO";

mes[8]= "SETEMBRO";

mes[9]= "OUTUBRO";

mes[10]= "NOVEMBRO";

mes[11]= "DEZEMBRO";

Fiz do jeito que você postou e DEU CERTO

Valeu pela ajuda!!!

Abraço :jump:

Link para o comentário
Compartilhar em outros sites

você ainda tem a opção de deixar o compilador calcular sozinho o tamanho do primeiro indice da matriz fazendo o seguinte ao declarar a matriz:

char mes[][10] = {"JANEIRO", "FEVEREIRO", "MARÇO", "ABRIL", "MAIO", "JUNHO", "JULHO", "AGOSTO", "SETEMBRO" , "OUTUBRO", "NOVEMBRO", "DEZEMBRO"};

Link para o comentário
Compartilhar em outros sites

você ainda tem a opção de deixar o compilador calcular sozinho o tamanho do primeiro indice da matriz fazendo o seguinte ao declarar a matriz:

char mes[][10] = {"JANEIRO", "FEVEREIRO", "MARÇO", "ABRIL", "MAIO", "JUNHO", "JULHO", "AGOSTO", "SETEMBRO" , "OUTUBRO", "NOVEMBRO", "DEZEMBRO"};

Valeu pela dica :)

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!