Boa noite, eu to com um código em que eu tenho que fazer uma estrutura tipo uma agenda com nome, telefone e etc. Eu queria saber se tem como eu por ela em uma matriz, ou se tem alguma forma para ordenar as palavras no arq text por quick sort. Abaixo eu deixei o código para ilustrar melhor o que eu quero, mais o enunciado do que precisa ser feito.
Quick Sort,
Gerar código que leia arquivo texto gerado com as colunas ;”Nome, Endereço, Telefone, CPF, identidade, e-mail,
data” , apois a geração, ordenar na técnica pedida e listar na tela a oepração de ordenamento(tela dinâmica).
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int i, j=0, k=1, l=2, m=3, n=4, o=5, p=6;
char opop[5][7];
char str[165];
FILE *arq;
arq = fopen("Arqtrab.txt", "at");
if (arq == NULL)
{
printf("Problemas na CRIACAO do arquivo\n");
return;
}
struct Agenda
{
char nome[100];
char endereco[30];
char email[20];
int telefone[12];
int cpf[20];
int identidade[21];
int data[12];
};
struct Agenda Cadastro;
Cadastro.nome;
Cadastro.endereco;
Cadastro.email;
Cadastro.telefone;
Cadastro.cpf;
Cadastro.identidade;
Cadastro.data;
int opcao=1;
do {
printf("\n Cadastro de Clientes\n\n");
printf("\n Digite o nome: ");
scanf(" %s", &Cadastro.nome);
fflush(stdin);
printf("\n Digite o endereco: ");
scanf("%s", &Cadastro.endereco );
printf("\n Digite o email: ");
scanf("%s", &Cadastro.email);
printf("\n Digite o telefone: ");
scanf("%s", &Cadastro.telefone);
printf("\n Digite o cpf:");
scanf("%s", &Cadastro.cpf);
printf("\nDigite a identidade: ");
scanf("%s", &Cadastro.identidade);
printf("\nDigite a data: ");
scanf("%s", &Cadastro.data);
printf("\n\n");
printf("Cadastro efetuado com sucesso!");
printf("\n\n");
printf("\n Nome: %s Endereco: %s Email: %s Telefone: %s Cpf: %s Identidade: %s Data: %s .\n", Cadastro.nome, Cadastro.endereco, Cadastro.email, Cadastro.telefone, Cadastro.cpf, Cadastro.identidade, Cadastro.data);
printf("\n\n");
printf("Digite 1 para Novo Cadastro ou 0 para sair: ");
scanf("%d", &opcao);
}
while (opcao==1);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.endereco);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.email);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.telefone);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.cpf);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.identidade);
strcat(Cadastro.nome," ");
strcat(Cadastro.nome,Cadastro.data);
strcat(Cadastro.nome,"\n");
strcpy(str, Cadastro.nome);
fprintf(arq,"%s", str);
fclose(arq);
//fazer matriz e usar for nela para por as informações e depois usar o quick sort nas informações\\
return 0;
}