Estou tentando atribuir ao struct do tipo ponteiro da função main() um outro struct do tipo ponteiro retornado por uma função, mas não tenho resultados concretos, apenas tenho a exibição de lixo.....
Alguém sabe como solucionar isso??
Ajudem, por favor, preciso urgentemente........
Segue o código:
#include <stdio.h>
#include <stdlib.h>
//Declaração do tipo de estrutura
struct tipo{
int numero;
float x, y;
char varchar1[40], varchar2 [10], varchar3 [12];
};
//Variável Global necessária p/ contagem
int var=1;
struct tipo *leitura();
//Função Principal
main(){
char opcao;
struct tipo *p;
do{
p=leitura();//Atribuindo o struct ponteiro da função p/ o ponteiro p
system("cls");
printf("Numero : %d\n", p->numero);
printf("Valores float : x = %.2f e y = %.2f\n", p->x, p->y);
printf("Varchar1 = %s\n", p->varchar1);
printf("Varchar2 = %s\n", p->varchar2);
printf("Varchar3 = %s\n", p->varchar3);
printf("Deseja Continuar (S/N)?");
scanf("%s", &opcao);
system("cls");
}while(opcao=='S' || opcao=='s');
}
//Função de leitura que retorna um struct do tipo ponteiro
Pergunta
Guest --Evaldo --
Estou tentando atribuir ao struct do tipo ponteiro da função main() um outro struct do tipo ponteiro retornado por uma função, mas não tenho resultados concretos, apenas tenho a exibição de lixo.....
Alguém sabe como solucionar isso??
Ajudem, por favor, preciso urgentemente........
Segue o código:
#include <stdio.h>
#include <stdlib.h>
//Declaração do tipo de estrutura
struct tipo{
int numero;
float x, y;
char varchar1[40], varchar2 [10], varchar3 [12];
};
//Variável Global necessária p/ contagem
int var=1;
struct tipo *leitura();
//Função Principal
main(){
char opcao;
struct tipo *p;
do{
p=leitura();//Atribuindo o struct ponteiro da função p/ o ponteiro p
system("cls");
printf("Numero : %d\n", p->numero);
printf("Valores float : x = %.2f e y = %.2f\n", p->x, p->y);
printf("Varchar1 = %s\n", p->varchar1);
printf("Varchar2 = %s\n", p->varchar2);
printf("Varchar3 = %s\n", p->varchar3);
printf("Deseja Continuar (S/N)?");
scanf("%s", &opcao);
system("cls");
}while(opcao=='S' || opcao=='s');
}
//Função de leitura que retorna um struct do tipo ponteiro
struct tipo *leitura(){
struct tipo le, *pont_le;
le.numero=var;
printf("Informe o valor float x: ");
scanf("%f", &le.x);
printf("Informe o valor float y: ");
scanf("%f", &le.y);
printf("Informe varchar1: ");
scanf("%s", &le.varchar1);
printf("Informe varchar2: ");
scanf("%s", &le.varchar2);
printf("Informe varchar3: ");
scanf("%s", &le.varchar3);
pont_le=&le
var++;
return pont_le;
}
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.