Ir ao conteúdo
  • Cadastre-se

Problemas com string em struct (estrutura)


junior1993alves
Ir à solução Resolvido por CiroboyBR,

Posts recomendados

Boa tarde amigos. Tenho uma pequena duvida sobre meu código em C. A teoria é simples, criei uma estrutura e dentro dela contém uma variável CHAR cor[10]. Gostaria de copiar uma string para dentro dessa variável através de funções. Porém não consigo, meu código retorna erro. Se puderem me ajudar por favor...

 

OBS: Ainda não esta completo meu programa, por que não consigo sair dessa parte, este é o motivo pra não ter dado continuidade 

 

o erro se encontra aqui >>> strcpy(*var).cor,branco);

                                             printf("%s",(*var).cor);
 
O código completo é esse >>>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
struct roupa {
int tamanho, camiseta, calca, x;
char cor[10];
float preco_compra, preco_venda, lucro;
};
 
void ler_dados(struct roupa *var)
{
int x;
char branco[] = "BRANCO";
printf("Escolha o produto a ser comprado. 1. CAMISETA 2. CALCA \n");
scanf("%d",&x);
switch(x)
{
case 1:
{
printf("Escolha a cor da camiseta. 1. BRANCO 2. PRETO 3. AZUL");
scanf("%d",&x);
switch(x)
{
case 1:
{
strcpy(*var).cor,branco);
printf("%s",(*var).cor);
}break;
case 2:
{
//cor = "PRETO";
}break;
case 3:
{
//cor = "AZUL";
}break;
default:
printf("error");
}
}break;
case 2:
{
printf("2");
}break;
default:
printf("error");
}
}
 
void processar_dados(struct roupa *var)
{
 
}
 
void mostrar_dados(struct roupa *var)
{
 
}
 
main()
{
struct roupa var; //struct local
printf(" ****** SOFTWARE PARA COMPRA DE ROUPAS ****** \n\n");
ler_dados(&var);
//processar_dados(&var);
//mostrar_dados(var);
}

Teve alguns erros na escrita mas já corrigi... Copiei o codigo errado tentando fazer alterações para resolver... Porém mesmo corrigido continua a dar erro...

o erro é >>> C:\Users\xvlatad\Documents\FACULDADE\C\trabalho_roupa_struct.cpp In function 'void ler_dados(roupa*)':

28 20 C:\Users\xvlatad\Documents\FACULDADE\C\trabalho_roupa_struct.cpp [Error] cannot convert 'roupa' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)'
Link para o comentário
Compartilhar em outros sites

  • Solução


#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <ctype.h>

struct roupa {

int tamanho, camiseta, calca, x;

char cor[10];

float preco_compra, preco_venda, lucro;

};

void ler_dados(struct roupa *var) {

int x;

char branco[] = "BRANCO";

printf("Escolha o produto a ser comprado. 1. CAMISETA 2. CALCA \n");

scanf("%d",&x);

switch(x) {

case 1: {

printf("Escolha a cor da camiseta. 1. BRANCO 2. PRETO 3. AZUL");

scanf("%d",&x);

switch(x) {

case 1: {

strcpy( (*var).cor, branco);

printf("%s",(*var).cor);

}

break;

case 2: {

//cor = "PRETO";

} break;

case 3: {

//cor = "AZUL";

} break;

default:

printf("error");

}

}

break;

case 2: {

printf("2");

}

break;

default:

printf("error");

}

}

void processar_dados(struct roupa *var) {

}

void mostrar_dados(struct roupa *var) {

}

main() {

struct roupa var; //struct local

printf(" ****** SOFTWARE PARA COMPRA DE ROUPAS ****** \n\n");

ler_dados(&var);

//processar_dados(&var);

//mostrar_dados(var);

}

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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!