Boa tarde, estou tentando desenvolver um programa que gera 3000 nomes e telefones aleatórios e salva essas informações para um txt. Até ai tudo bem, mas na proxima etapa deve ser feita uma listagem dos registros pela primeira letra do campo nome. Como pode ser feito essa etapa?
Pergunta
Jock
Boa tarde, estou tentando desenvolver um programa que gera 3000 nomes e telefones aleatórios e salva essas informações para um txt. Até ai tudo bem, mas na proxima etapa deve ser feita uma listagem dos registros pela primeira letra do campo nome. Como pode ser feito essa etapa?
Segue o código atual:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//Criação da struct que unirá nome e numero
struct reg{
char nome[80];
long int numero;
};
typedef struct reg Reg;
Reg novo;
void nameGenerator()
{
char consoante[] = {"BCDFGHJKLMNPRSTV"}, vogal[] = {"AEIOU"}, snome[80];
int i, letra, tam, cont;
//geração do primeiro nome
tam = rand()%7+4;
for(i=0; i<tam; i++)
{
if(i%2==0)
novo.nome=consoante[rand()%16];
else
novo.nome=vogal[rand()%4];
}
novo.nome=' ';
novo.nome[i+1]='';
//geração do segundo nome
tam = rand()%7+4;
for(i=0; i<tam; i++)
{
if(i%2==0)
snome=consoante[rand()%16];
else
snome=vogal[rand()%4];
}
snome='';
strcat(novo.nome, snome);
}
void numberGenerator()
{
novo.numero=rand()%1990000+8999999;
}
void listar()
{
FILE *press;
press = fopen("saida.txt", "w+");
//PARTE PROBLEMA
fclose(press);
}
void main()
{
srand (time(NULL));
int cont;
FILE *press;
press = fopen("saida.txt", "w+");
for(cont=0; cont<3000; cont++){
nameGenerator();
printf("%s\n", novo.nome);
fprintf(press, "%s\n", novo.nome);
numberGenerator();
printf("%d\n", novo.numero);
fprintf(press, "%d\n", novo.numero);
}
fclose(press);
system("pause");
}
Obrigado pela atenção!
Link para o comentário
Compartilhar em outros sites
3 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.