Advertisement
MarceloSousa

Untitled

Dec 8th, 2013
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.62 KB | None | 0 0
  1. locacao_locar(void){
  2.  
  3.     int id_cliente, id_carro,confirmacao_1,confirmacao_2,i,dias,protecao,valor_tarifa;
  4.     FILE * p_carro, * p_cliente,  * p_locacao;
  5.     tcarro reg_carro;
  6.     tcliente reg_cliente;
  7.     tlocacao reg_locacao;
  8.  
  9.  
  10.     printf("informe o id do cliente\n");
  11.     scanf("%d",&id_cliente);
  12.  
  13.     p_cliente=fopen("cliente.dat","rb");
  14.     fseek(p_cliente,(id_cliente-1)*sizeof(tcliente),SEEK_SET);
  15.     fread(&reg_cliente,sizeof(tcliente),1,p_cliente);
  16.  
  17.     printf("informe o id do carro\n");
  18.     scanf("%d",&id_carro);
  19.  
  20.     p_carro=fopen("carro.dat","rb");
  21.     fseek(p_carro,(id_carro-1)*sizeof(tcarro),SEEK_SET);
  22.     fread(&reg_carro,sizeof(tcarro),1,p_carro);
  23.  
  24.     printf("Informe Por Quantos Dias Deseja Locar o Carro: ");
  25.     scanf("%d",&dias);
  26.  
  27.     printf("\nDeseja Contratar alguma Proteção?");
  28.     printf("|\n_________________________________|\n");
  29.     printf("|         PROTEÇÕES               |\n");
  30.     printf("|(1) Gold Basic                   |\n");
  31.     printf("|(2) Gold Premium                 |\n");
  32.     printf("|(3) Gold Total                   |\n");
  33.     printf("|(4) Informação Sobre as Proteções|\n");
  34.     printf("|(0) Não Contratar Proteção       |\n");
  35.     printf("|_________________________________|\n");
  36.  
  37.     printf("Informe Sua Opção: ");
  38.     scanf("%d",&protecao);
  39.  
  40.  
  41.     switch(protecao){
  42.         case 4: info_protecao();break;
  43.         case 0: carro_locacao_menu();break;}
  44.  
  45.     clrscr();
  46.     valor_tarifa= calculo_tarifa(id_carro,dias,protecao);
  47.  
  48.  
  49.  
  50.  
  51.     //p_locacao = fopen ("locacao.dat","wb+");
  52.  
  53.  
  54. //    printf("Valor de id Cliente: %d\nValor de id Carro: %d\n",id_cliente,id_carro);
  55.     printf("Deseja Locar Este Carro (1) SIM / (2) NÃO");
  56.     scanf("%d",&confirmacao_1);
  57.  
  58.  
  59.     switch(confirmacao_1){
  60.  
  61.         case 1: {
  62.  
  63.                     p_locacao = (FILE *) abre_arquivo("locacao.dat");
  64.                      if (p_locacao == NULL)
  65.                          mensagem("Erro ao criar/abrir arquivo locacao.dat");
  66.                 reg_locacao.id_cliente = id_cliente;
  67.                 reg_locacao.id = id_carro;
  68.                 for(i=0;i<=strlen(reg_carro.nome);i++){
  69.                 reg_locacao.nome[i] = reg_carro.nome[i];}
  70.                 for(i=0;i<=strlen(reg_carro.marca);i++){
  71.                 reg_locacao.marca[i] = reg_carro.marca[i];}
  72.                 reg_locacao.dias = dias;
  73.                 reg_locacao.protecao = protecao;
  74.                 reg_locacao.valor = valor_tarifa;
  75.                 reg_locacao.flag = 1;
  76.                 fseek(p_locacao, 0, SEEK_END);
  77.                 reg_locacao.cod = 1 + ftell(p_locacao) / sizeof(tlocacao);
  78.  
  79.  
  80.                 printf("\nConfirma a Locação (1)SIM / (2)NÃO: ");
  81.                 scanf("%d",&confirmacao_2);
  82.                 switch(confirmacao_2){
  83.  
  84.                     case 1:
  85.  
  86.                             fseek(p_locacao, 0L, SEEK_END);
  87.                             fwrite(&reg_locacao, sizeof(tlocacao), 1, p_locacao);
  88.                             //printf("id_cliente: %d\nid_carro: %d\nnome_carro: %s\nmarca_carro: %s\ndias: %d\nprotecao: %d\nflag: %d\nvalor: %f\n",reg_locacao.id_cliente,reg_locacao.id_carro,reg_locacao.nome_carro,reg_locacao.marca_carro,reg_locacao.dias,reg_locacao.protecao,reg_locacao.flag,reg_locacao.valor);
  89.                             //getch();
  90.                             fclose(p_locacao);
  91.                             mensagem("Locação Concluída com Sucesso!");break;
  92.  
  93.                     case 2:
  94.                             mensagem("Locação Não Confirmada");
  95.                             carro_locacao_menu();break;
  96.  
  97.                     default: mensagem("Opção Inválida!");}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement