1 /* 2 * Este programa implementa leitura de aquivo texto para testar as implementações do 3 * TAD Conta (Conta Corrente). 4 * Declarações se encontram em conta.h e as respectivas implementações do TAD em conta.c. 5 */ 6 7 /* 8 * File: main.c 9 * Author: Osvandre 10 * 11 * Created on 7 de Setembro de 2017, 00:43 12 */ 13 14 #include "conta.h" 15 #include <stdio.h> 16 #include <stdlib.h> 17 #include <string.h> 18 19 /* 20 * Este programa lê dados de um arquivo texto e define elementos para um vetor 21 * cujos itens são do tipo do TAD Conta. Cada linha do arquivo contém um nome 22 * de cliente. O número de conta é composto por meio de um cálculo de sequencial 23 * e o salto inicia-se com 0.00. 24 */ 25 int main(void) { 26 Conta cc[100]; //Um vetor de no máximo 100 Contas-correntes 27 int nc, n, i; 28 char nomeCli[NOMECLI_MAX_SIZE+1]; 29 char nomeArq[]="nomes.txt"; 30 FILE *arq; 31 printf("\nIniciando o processamento.....\n\n"); 32 arq = fopen(nomeArq, "r"); 33 34 if(arq == NULL) { 35 printf("Erro, nao foi possivel abrir o arquivo\n"); 36 } else { 37 printf("Lendo arquivo...."); 38 nc = 1000; 39 n = 0; 40 while( fgets(nomeCli,(NOMECLI_MAX_SIZE+1), arq) != NULL){ //Lê cada linha do arquivo 41 strcpy(cc[n].nomeCliente, nomeCli); //Preenche dados de uma variável do TAD 42 cc[n].numero = nc+n; 43 cc[n].saldo = 0; 44 n++; 45 } 46 printf(">>>>>>> Foram lidas %d linhas do arquivo! <<<<<<<\n",n); 47 } 48 fclose(arq); 49 50 51 printf("\n\n>>>>>>> listando as contas <<<<<<<\n"); 52 for(i=0; i<n; i++) { 53 printf("\n------ Conta Corrente nº %d ------\n", cc[i].numero); 54 printf("Cliente...: %s", cc[i].nomeCliente); 55 printf("Saldo.....: %7.2f\n", cc[i].saldo); 56 } 57 58 return (EXIT_SUCCESS); 59 } 60 61