diogoAlves

IFF/Programação Estruturada/Trabalho/P1/3

Jun 17th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.81 KB | None | 0 0
  1. //IFF - Programação Estruturada
  2. //Trabalho P1 - 3
  3. //Grupo: Danielly Santos, Diogo Alves, Matheus Rangel, Nícolas Ferreira e Rafael Zapata
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <locale.h>
  8. #include <time.h>
  9.  
  10. void depositar(float valor){
  11.     time_t t = time(NULL);
  12.     FILE *conta;
  13.     conta= fopen("Movimentacoes.txt","a");
  14.     fprintf(conta,"\n%s -Depósito - R$%.2f",asctime(localtime(&t)), valor);
  15.     fclose(conta);
  16. }
  17. void sacar(float valor){
  18.     time_t t = time(NULL);
  19.     FILE *conta;
  20.     conta= fopen("Movimentacoes.txt","a");
  21.     fprintf(conta,"\n%s -Saque - R$%.2f",asctime(localtime(&t)), valor);
  22.     fclose(conta);
  23. }
  24. void transferir(float valor){
  25.     time_t t = time(NULL);
  26.     FILE *conta;
  27.     conta= fopen("Movimentacoes.txt","a");
  28.     fprintf(conta,"\n%s -Transferência - R$%.2f",asctime(localtime(&t)), valor);
  29.     fclose(conta);
  30. }
  31. void verSaldo(){
  32.     float saldo=0;
  33.     FILE *Saldo;
  34.     Saldo= fopen("Saldo.txt","r");
  35.     while(!feof(Saldo)){
  36.         fscanf(Saldo,"%f",&saldo);
  37.     }
  38.     printf("\nO saldo atual é de: R$%.2f\n",saldo);
  39.     fclose(Saldo);
  40. }
  41. void verExtrato(){
  42.     char extrato[50];
  43.     FILE *conta;
  44.     conta= fopen("Movimentacoes.txt","r");
  45.     while(!feof(conta)){
  46.         fgets(extrato,50,conta);
  47.         printf("%s\n",extrato);
  48.     }
  49.     fclose(conta);
  50. }
  51. int atualizarSaldo(float valor){
  52.     float saldo=0;
  53.     FILE *Saldo;
  54.     Saldo= fopen("Saldo.txt","r");
  55.     if(Saldo==NULL){
  56.         Saldo=fopen("Saldo.txt","a");
  57.         fclose(Saldo);
  58.         printf("\nPrimeira execução, arquivo criado com sucesso!\n");
  59.         Saldo=fopen("Saldo.txt","r");
  60.     }
  61.     while(!feof(Saldo)){
  62.         setbuf(stdin,NULL);
  63.         fscanf(Saldo,"%f",&saldo);
  64.     }
  65.     saldo+=valor;
  66.     fclose(Saldo);
  67.     if(saldo<0){
  68.         return 1;
  69.     }else{
  70.         Saldo=fopen("Saldo.txt","a");
  71.         fprintf(Saldo,"\n%.2f",saldo);
  72.         fclose(Saldo);
  73.         return 0;
  74.     }
  75. }
  76.  
  77. int main(){
  78.     setlocale(LC_ALL,"Portuguese");
  79.     int op, resp;
  80.     float valor, saldo=0;
  81.     FILE *conta=fopen("Movimentacoes.txt", "r");
  82.     if(conta==NULL){
  83.         printf("Erro na abertura do arquivo. Arquivo não encontrado. \nDeseja criar o arquivo? (1- Sim / 2- Não): ");
  84.         scanf("%d",&resp);
  85.         if(resp==1){
  86.             conta=fopen("Movimentacoes.txt", "a");
  87.         }else{
  88.             return 1;
  89.         }
  90.     }
  91.     do{
  92.         system("cls");
  93.         printf("\n\nEscolha uma das opções: \n\n");
  94.         printf("(1) Depositar \n(2) Sacar \n(3) Transferir \n(4) Ver Saldo na tela \n(5) Ver extrato na tela \n(6) Sair \n\n R:");
  95.         scanf("%d",&op);
  96.         switch(op){
  97.             case 1:
  98.                 printf("\nQuanto deseja depositar? R$");
  99.                 scanf("%f",&valor);
  100.                 depositar(valor);
  101.                 atualizarSaldo(valor);
  102.                 printf("\nDepósito realizado com sucesso!\n");
  103.                 system("pause");
  104.             break;
  105.             case 2:
  106.                 printf("\nQuanto deseja sacar? R$");
  107.                 scanf("%f",&valor);
  108.                 if(atualizarSaldo(valor*(-1))==0){
  109.                     sacar(valor);
  110.                     printf("\nSaque realizado com sucesso!\n");
  111.                 }else{
  112.                     printf("\nNão há saldo disponível para essa operação.\n");
  113.                 }
  114.                 system("pause");
  115.             break;
  116.             case 3:
  117.                 printf("\nQuanto deseja transferir? R$");
  118.                 scanf("%f",&valor);
  119.                 if(atualizarSaldo(valor*(-1))==0){
  120.                     transferir(valor);
  121.                     printf("\nTransferência realizada com sucesso!\n");
  122.                 }else{
  123.                     printf("\nNão há saldo disponível para essa operação.\n");
  124.                 }
  125.                 system("pause");
  126.             break;
  127.             case 4:
  128.                 verSaldo();
  129.                 system("pause");
  130.             break;
  131.             case 5:
  132.                 system("cls");
  133.                 printf("\n------------------------------");
  134.                 verExtrato();
  135.                 printf("\n------------------------------\n");
  136.                 system("pause");
  137.             break;
  138.             case 6:
  139.             break;
  140.         }
  141.     }while(op!=6);
  142.     conta= fopen("Movimentacoes.txt","a");
  143.     fprintf(conta,"\n------------------------------");
  144.     fclose(conta);
  145.     return 0;
  146. }
  147.  
  148. //Feito por: Danielly Santos e Diogo Alves
Advertisement
Add Comment
Please, Sign In to add comment