Ir ao conteúdo
  • Cadastre-se

inserção de dados na lista em C


djessirv

Posts recomendados

ola pessoal estou a fazer um programa em C, que pede dados do utilizado e inseri na lista, só que o campo fase é inserida automaticamente com a letra t.Não estou a conseguir colocar t na variável.código abaixo.

typedef struct TEC
{
int numero;
char nome[50];
int contracto;
float preco;
char fase[1];
struct TEC *prox;
}escola;

escola *escl=NULL;

escola *ins()
{ int y;
int x;
escola *al;
al=(escola*)malloc(sizeof(escola));
do
{
printf("\nInsira o numero\n");
scanf("%d", &al->numero);
x=verifica_numero(al->numero);
if (x==0)
{
printf ("\nO numero ja existe\n");
}
}while (x==0);
printf("\nInsira o nome do aluno\n");
scanf("%s", &al->nome);
do
{
printf("\nInsira o tipo de contrato\n");
scanf("%d", &al->contracto);
y=ver_cont(al->contracto);
if(y==0)
{
printf("ERRO");
}
}while(y==0);

printf("\nInsira o preco\n");
scanf("%f", &al->preco);


al->fase="t";//é aqui que esta a dar erro

al->prox=NULL;
printf ("\nA insercao feita\n");
return al;
}

Link para o comentário
Compartilhar em outros sites

Pelo amor de deus!

Use a tag CODE!!!

Troço ruim de ler do caramba!

Meu amigo, se você só precisa de UM caracter declare char fase; e não char fase[1];

Tá dando erro porque você declarou char fase[1];

Isso define uma string! O que faz fase (sem indexador colchetes) ser um ponteiro CONSTANTE para o primeiro caracter da string.

Você escrever al->fase="t"; significa tentar alterar o valor do ponteiro para apontar para esse t que está em algum outro lugar da memória.

Se você pretende usar strings mesmo e não só UM caracter utilize as funções de string.h

strcpy(al->fase,"t");

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!