Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite galera! ^^
Minha primeira postagem aqui no fórum. Enfim, estou fazendo um trabalho da faculdade e preciso classificar uma struct em ordem alfabética. A struct é simples, só tem nome e idade. Depois que eu faço a classificação usando o código abaixo, as posições ficam sem valor algum, como se estivessem "vazias". O código é muito grande, por isso vou postar só um trecho do código. Obrigado! (:
void classificar ()
{
system("cls");
if (cont > 0)
{
printf ("Deseja classificar por nome ou idade? ");
fflush (stdin); gets(resp2);
if ((strcmp(resp2, "nome")==0) || (strcmp(resp2, "idade")==0))
{
for (i=0; i<=48; ++i)
{
for (j=i+1; j<=49; ++j)
{
if (strcmp (resp2, "nome") ==0)
{
if (strcmp(cad[i].nome, cad[j].nome) ==1 )
{
strcpy (x.nome, cad[i].nome);
strcpy (cad[i].nome, cad[j].nome);
strcpy (cad[j].nome, x.nome);
x.idade = cad[i].idade;
cad[i].idade = cad[j].idade;
cad[j].idade = x.idade;
}
}
else
{
if (cad[i].idade > cad[j].idade)
{
strcpy (x.nome, cad[i].nome);
strcpy (cad[i].nome, cad[j].nome);
strcpy (cad[j].nome, x.nome);
x.idade = cad[i].idade;
cad[i].idade = cad[j].idade;
cad[j].idade = x.idade;
}
}
}
}
system ("cls");
printf ("A classifica%c%co foi feita com sucesso! \nOs administrativos foram cadastrados por %s", 135, 198, resp2);
chamadaMenu ();
}
else
{
printf ("\n\nO comando %s %c um comando inv%clido!", resp2, 130, 161);
chamadaMenu ();
}
}
else
semAdministrativos ();
chamadaMenu ();
}Carregando comentários...