Substitua o priemeiro * por < e o segundo por * nos includes.
#include *stdio.h*;
#include *stdlib.h*;
/*
Usei a biblioteca stdlib por que o realloc está implementado nela
*/
// criando um tipo de estrutura chamada produto
typedef struct
{
char nome[20];
float preco;
}produto;
main()
{
//criando uma variavel do tipo produto
produto *qq = NULL;
int count = 0;
int comand;
int tamanho;
int i;
printf("0 - fechar programa\n1 - adicionar produto\n2 - imprimir todos os produtos adicionados\n\n");
do
{
printf("Digite o comando:\n");
scanf("%d", &comand);
//switch para definir o comando a ser executado
switch (comand)
{
case 0:
break;
case 1:
count++;
//tamanho rebe o valor de count vezes sizeof fa estrutura criada
tamanho = count*sizeof(produto);
//alocando dinamicamente mais espaço para a variavel qq
qq = (produto*) realloc (qq, count*sizeof(produto));
//dá valores a nome e preco que estão dentro da estrutura qq
scanf("%s %f",&(qq+tamanho)->nome,&(qq+tamanho)->preco);
break;
case 2:
//imprime todos os valores da estrutura qq
for(i=1;i<=count;i++) { //tamanho rebe o valor de i vezes sizeof fa estrutura criada
tamanho = i*sizeof(produto);
//imprime valor a valor
printf("%s %.2f\n",(qq+tamanho)->nome,(qq+tamanho)->preco);
}
break;
default:
printf("\aComando invalido!\n");
}
}
while(comand !=0);
//desaloca o espaço reservado para qq
free(qq);
}
estrurura com alocação dinamica (linguagem C)
Colaboradores
Tecnologia do Blogger.
Bruxaria! Seu herege! kkkkkkkkk
ResponderExcluirnão entendo bulhufas disso aí! kkkk