Banco em C

Publicado por erico rojahn santos 22/03/2007

[ Hits: 9.136 ]

Homepage: http://kernelsys.blogspot.com

Download banco.c




Script em C que simula um banco com todas as atividades, depósito, saldo, cadastro etc.

  



Esconder código-fonte

/*  Erico Rojahn Santos
    09/03/2007
    Msn: ericopf@gmail.com
*/

/* Programa em C que simula um banco com todas as atividades, deposito, saldo, cadastro etc..*/

# include "stdio.h"
# include "string.h"

int n,i;
struct cliente {
       char nome[20];
       char cpf[11];
       char conta[6];
       char agencia[6];
       char senha[6];       
       float saldo;
       }usuario[20];


cadastrarCliente (){
   int i=1;
    printf ("\n\t\t===== CADASTRO DE CLIENTES ===== \n");    
     printf ("\nQuantos clientes deseja cadastrar? ");
     scanf ("%d", &n);

  for (i=1;i<=n;i++)
    {
    puts ("");
    printf ("\n*-- NOME--* ");
    scanf ("%s", &usuario[i].nome);   
    printf ("\n*--CPF--* ");
    scanf ("%s", &usuario[i].cpf);
    printf ("\n*--AGENCIA--* ");
    scanf ("%s", &usuario[i].agencia);
    printf ("\n*--NUMERO DA CONTA--* ");
    scanf ("%s", &usuario[i].conta);
    printf ("\n*--SENHA--* ");
    scanf ("%s", &usuario[i].senha);   
    usuario[i].saldo = 0;
    }  //for  
    printf ("\n\n*-- operacao realizada com sucesso !!!--*");
    sleep (2500) ;
 } 
    
deposito (){
    int a,b,c,x;
    float dep;
    char agn[6], conta[6], senha[6];
    
    printf ("\n\t\t===== DEPOSITO ===== \n"); 
    
    printf ("\n*--DIGITE A SUA AGENCIA--* ");
    scanf ("%s", &agn); 
    printf ("\n*--NUMERO DA CONTA--* ");
    scanf ("%s", &conta);
    
    for (i=1;i<=n;i++)
    {
        a = strcmp(agn,usuario[i].agencia);
        b = strcmp(conta,usuario[i].conta);
        if  ( (a == 0) && (b == 0) )
        {
          x=1;
          printf ("\n CLIENTE : %s", usuario[i].nome) ;
          printf ("\n CPF : %s", usuario[i].cpf) ;
          printf ("\n\n*--QUANTIDADE DO DEPOSITO--*");
          scanf ("%f", &dep) ;
          if (dep >= 0)
          {
            usuario[i].saldo = usuario[i].saldo + dep;
          }//if2
          else
          {
          printf ("\n\a *-- erro: O DEPOSITO TEM QUE SER POSITIVO --* ");
          break;
          }//else
        }//if1
     
     }  //for
     if(x!=1)
     printf ("\n\a\a *-- erro: DADOS INCORRETOS ! --*");
     printf ("\n\n*-- aguarde... --*");
     sleep (2500) ;
                 
}     
consultaSaldo (){
     char agn[6], conta[6], senha[6];
     int a,b,c,x;  
     printf ("\n\t\t===== SALDO =====\n"); 
    
    printf ("\n*--DIGITE A SUA AGENCIA--* ");
    scanf ("%s", &agn); 
    printf ("\n*--NUMERO DA CONTA--* ");
    scanf ("%s", &conta);
    printf ("\n *--DIGITE A SUA SENHA--* ");
    scanf ("%s", &senha); 
    for (i=1;i<=n;i++)
    {
        
        a = strcmp(agn,usuario[i].agencia);
        b = strcmp(conta,usuario[i].conta);
        c = strcmp(senha,usuario[i].senha);
        if  ( (a == 0) && (b == 0)  && (c == 0) )
        {
          x=1;
          printf ("\n CLIENTE : %s", usuario[i].nome) ;
          printf ("\n CPF : %s", usuario[i].cpf) ;
          printf ("\n\n *--SEU SALDO E : %f reais --*", usuario[i].saldo) ;        
        }//if
       }//for
    if (x != 1)
    {
    printf ("\n\a\a *-- erro: DADOS INCORRETOS ! --*");
    }
    printf ("\n\n*-- aguarde... --*");
    sleep (2500) ;      
}
transfere (){
   char agn[6], conta[6], senha[6],agn2[6],conta2[6];
    int a,b,c,d,e,j,x,l; 
    float val;
    printf ("\n\t\t ===== TRANSFERENCIA ===== \n"); 
    
    printf ("\n*--DIGITE A SUA AGENCIA--* ");
    scanf ("%s", &agn); 
    printf ("\n*--NUMERO DA CONTA--* ");
    scanf ("%s", &conta);
    printf ("\n *--DIGITE A SUA SENHA--*: ");
    scanf ("%s", &senha); 
    for (i=1;i<=n;i++)
    {
        
        a = strcmp(agn,usuario[i].agencia);
        b = strcmp(conta,usuario[i].conta);
        c = strcmp(senha,usuario[i].senha);
        if  (   (a == 0) && (b == 0)  && (c == 0)  )
        {
         l=1;
          printf ("\n CLIENTE : %s", usuario[i].nome) ; 
          printf ("\n CPF : %s", usuario[i].cpf) ;
        }  //if1
      if (l != 1){
      printf ("\a\a*-- erro: DADOS INCORRETOS ! --*");
      printf ("\n\n aguarde...");
      sleep (1800);
      system ("cls");
      main();
      }
    }  //for   1
    printf ("\n*--DIGITE A AGENCIA DO BENEFICIADO--* ");
    scanf ("%s", &agn2); 
    printf ("\n*--NUMERO DA CONTA DO BENEFICIADO--* ");
    scanf ("%s", &conta2);
    
          for (j=1;j<=n;j++)
          {
            d = strcmp(agn2,usuario[j].agencia);
            e = strcmp(conta2,usuario[j].conta);
               if  ((d == 0) && (e == 0))
               {
              
               printf ("\n *--CLIENTE BENEFICIADO--* %s", usuario[j].nome) ; 
                
               printf ("\n*--VALOR DA TRANSFERENCIA--*");
               scanf ("%f", &val);
                        
                        for (i=1;i<=n;i++)
                        {
                            if (usuario[i].saldo >= val)
                            {
                            x=1;
                            usuario[j].saldo = usuario[j].saldo + val;
                            usuario[i].saldo = usuario[i].saldo - val;                    
                            }//if 3
                        
                            else 
                            {
                            x=0;
                            }
                        }//for3
                       
                       if (x != 0){printf ("\a\a *-- erro: SALDO INSUFICIENTE! --*");}         
               }//if 2
                                 
          }//for2
  printf ("\n\n*-- aguarde... --*");  
 sleep (2500) ;        
} 
saque (){ 
    int a,b,c,x;
    float saq;
    char agn[6], conta[6], senha[6];
    
    printf ("\n\t\t===== SAQUE ===== \n"); 
    
    printf ("\n*--DIGITE A SUA AGENCIA--* ");
    scanf ("%s", &agn); 
    printf ("\n*--NUMERO DA CONTA--* ");
    scanf ("%s", &conta);
    
    for (i=1;i<=n;i++)
    {
        a = strcmp(agn,usuario[i].agencia);
        b = strcmp(conta,usuario[i].conta);
        if  ( (a == 0) && (b == 0) )
        {
          printf ("\n CLIENTE : %s", usuario[i].nome) ;
          printf ("\n CPF : %s", usuario[i].cpf) ;
          printf ("\n\n*--VALOR DA RETIRADA--*");
          scanf ("%f", &saq) ;
          if ((saq > 0) && (saq <= usuario[i].saldo) )
          {
            x=1;
            usuario[i].saldo = usuario[i].saldo - saq;
          }//if2
        }//if1
     }  //for 
     if (x != 1){
           printf ("\n\a\a*-- erro: SALDO INSUFICIENTE ! --*");
           }
      printf ("\n\n*-- aguarde... --*");
      sleep (2500) ;  
}//fecha saque


menu (){
printf ("Selecione a opcao desejada...\n");
puts ("");
puts ("1 - NOVO CLIENTE") ;
puts ("2 - DEPOSITO") ;
puts ("3 - CONSULTA SALDO") ;
puts ("4 - TRANSFERENCIA") ;
puts ("5 - RETIRADA");    
puts ("6 - Sair");  
     }
main()
{
int op;

menu ();
scanf ("%d", &op);
 switch (op)
 {
    case 1:
    system ("cls") ;
    cadastrarCliente ();
    system ("cls");
    main();
    case 2:
    system ("cls") ;
    deposito (); 
    system ("cls");
    main();
    case 3:
    system ("cls") ;
    consultaSaldo ();
    system ("cls");
    main();
    case 4:
    system ("cls") ;
    transfere();
    system ("cls");
    main();         
    case 5:
    system ("cls") ;
    saque (); 
    system ("cls");
    main(); 
    case 6:  
    exit (1);       
 }
getch();
} 

Scripts recomendados

Usando medidas de comprimento

A - Comando Break

Organizar variáveis em ordem crescente

Mini-editor de texto intuitivo em ncurses

Pra quem gosta de RPG. Um sistema de lutas.


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts