Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define TAMANHOVETOR 10
- #define TAMANHOCAMPO 50
- typedef struct ficha
- {
- char Nome[TAMANHOCAMPO];
- char Sexo[TAMANHOCAMPO];
- float Altura;
- int Colocacao;
- char estadocivil[TAMANHOCAMPO];
- }FICHA;
- int LerDados(FICHA Atletas[TAMANHOVETOR]);
- void ExibirFichas(FICHA Atletas[TAMANHOVETOR], int QuantidadeAtletas);
- void SalvarNovoArquivo(FICHA Atletas[TAMANHOCAMPO]);
- int main()
- {
- int Opcao;
- int QuantidadeAtletas;
- FICHA Atletas[TAMANHOVETOR];
- do{
- printf("********************************* \n");
- printf("MENU DE OPCAO: \n");
- printf("\t [1]: Carregar arquivo e exibir\n");
- printf("\t [2]: Ordenar dados e exibir\n");
- printf("\t [3]: Pesquisar dados e exibir\n");
- printf("\t [4]: Gravar os dados ORDENADOS\n");
- printf("\t [0]: Sair do programa\n");
- printf("\t Sua opcao: ");scanf("%i", &Opcao);
- if (Opcao == 1)
- {
- QuantidadeAtletas = LerDados(Atletas);
- ExibirFichas(Atletas, QuantidadeAtletas);
- }
- /* Opcao: Ordenar dados e exibir */
- else if(Opcao == 2)
- {
- system("cls");
- printf("Ordenar os dados e exibir: \n\n");
- }
- /* Opcao: Pesquisa (Binária) de dados e exibir */
- else if(Opcao == 3)
- {
- system("cls");
- printf("Pesquisar dados e exibir: \n\n");
- }
- /* Opcao: Gravar os dados ORDENADOS (Opcional) */
- else if(Opcao == 4)
- {
- system("cls");
- printf("Gravar os dados ORDENADOS (Opcional): \n\n");
- SalvarNovoArquivo(Atletas);
- }
- /* Opcao: Sair do Programa */
- else if(Opcao == 0)
- {
- system("cls");
- printf("FIM DO PROGRAMA.\n\n\n");
- }
- }while(Opcao);
- return 0;
- }
- int LerDados(FICHA Atletas[TAMANHOVETOR])
- {
- int i = 0;
- char C;
- int QuantidadeAtletas = 0;
- int Campo = 1;
- FILE *Arquivo;
- char Auxiliar[TAMANHOCAMPO];
- system("cls");
- printf("Dados do arquivo: \n\n");
- Arquivo = fopen("Arquivo.txt", "r");
- if (Arquivo == 0){
- printf("Erro na abertura do arquivo.\n\n\n");
- fclose(Arquivo);
- }
- else
- {
- i = 0; QuantidadeAtletas = 0; Campo = 1;
- do
- {
- C = getc(Arquivo);
- if (C != '\n' && C != EOF)
- {
- Auxiliar[i] = C;
- i++;
- }
- else
- {
- Auxiliar[i] = '\0';
- switch (Campo)
- {
- case 1:
- strcpy(Atletas[QuantidadeAtletas].Nome, Auxiliar);
- break;
- case 2:
- strcpy(Atletas[QuantidadeAtletas].Sexo, Auxiliar);
- break;
- case 3:
- Atletas[QuantidadeAtletas].Altura = atof(Auxiliar);
- break;
- case 4:
- Atletas[QuantidadeAtletas].Colocacao = atoi(Auxiliar);
- break;
- case 5:
- strcpy(Atletas[QuantidadeAtletas].estadocivil, Auxiliar);
- Campo = 0;
- QuantidadeAtletas++;
- }
- Campo++;
- i = 0;
- }
- }while (C != EOF);
- fclose(Arquivo);
- }
- return QuantidadeAtletas;
- }
- void ExibirFichas(FICHA Atletas[TAMANHOVETOR], int QuantidadeAtletas)
- {
- int i;
- for (i = 0; i < QuantidadeAtletas; i++)
- {
- printf("Nadador %i:\n", i + 1);
- printf("\t Nome : %s\n", Atletas[i].Nome);
- printf("\t Sexo : %s\n", Atletas[i].Sexo);
- printf("\t Altura : %.2f\n", Atletas[i].Altura);
- printf("\t Colocacao: %i\n", Atletas[i].Colocacao);
- printf("\t Estado Civil: %s\n", Atletas[i].estadocivil);
- }
- }
- void SalvarNovoArquivo(FICHA Atletas[TAMANHOCAMPO])
- {
- FILE *Arquivo;
- Arquivo = fopen("Arquivo.txt", "w");
- int i;
- for(i = 0; i < TAMANHOCAMPO; i++) {
- fprintf(Arquivo, "%s\n", Atletas[i].Nome);
- fprintf(Arquivo, "%s\n", Atletas[i].Sexo);
- fprintf(Arquivo, "%.2f\n", Atletas[i].Altura);
- fprintf(Arquivo, "%i\n", Atletas[i].Colocacao);
- fprintf(Arquivo, "%s\n", Atletas[i].estadocivil);
- }
- fclose(Arquivo);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement