Ir ao conteúdo
  • Cadastre-se

ordenar struct!dando erro!


dimsol

Posts recomendados

estou querendo organizar uma struct atraves do nome so que no meu fica aparecendo erro de :

[Error] invalid array assignment ??:confused:

aqui esta o codigo caso queiram ver

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>

struct pessoa{
char nome[30],cidade[30] ,uf[10];
int tel, codigo;
};

main()
{
struct pessoa p[20];//fflush (stdin);
int x,y;
char temp[30];

for (x=0;x<3;x++)
{
printf("\n digite o nome:");
fflush (stdin);
gets(p[x].nome);
printf ("codigo :");
scanf("%d",&p[x].codigo);
printf("tel:");
scanf("%d",&p[x].tel);
printf ("cidade :");
fflush (stdin);
gets(p[x].cidade);
printf("UF :");
fflush (stdin);
gets(p[x].uf);
printf("\n nome :%s ",p[x].nome);
printf("\n codigo :\%d",p[x].codigo);
printf("\n tel :%d",p[x].tel);
printf("\n cidade : %s",p[x].cidade );
printf("\n uf :%s",p[x].uf);
}
// apresentar os dados sem ordenação
for(x=0;x<3;x++)
{

printf("\n nome : %s",p[x].nome);
printf("\n codigo :%d",p[x].codigo);
printf("\n tel :%d",p[x].tel);
printf("\n cidade : %s",p[x].cidade );
printf("\n uf :%s",p[x].uf);
}
//ordenação de dados
for (x=0;x<2;x++)
{
for (y=x+1;y<=3;y++)
{
if(strcmp (p[x].nome,p[y].nome) > 0)
{
temp=p[x].nome;
p[x].nome=p[y].nome;
p[y].nome=temp;
}
}
}
//apresentar os dados ordenados
for(x=0;x<3;x++)
{

printf("\n nome : %s",p[x].nome);
printf("\n codigo :%d",p[x].codigo);
printf("\n tel :%d",p[x].tel);
printf("\n cidade : %s",p[x].cidade );
printf("\n uf :%s",p[x].uf);
}
system("pause");

}

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