Ir para conteúdo
Fórum Script Brasil
  • 0

LOCAÇÃO DE CARROS: GENTE PRECISO SALVAR, LER E ESCREVER EM ARQUIVO EXTERNO. Gente só tenho 4 horas pra entregar o trabalho da faculdade, AJUDEM!!!!


Samulo Mendonca

Pergunta

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

int i=0, j=0;
char tecla;
FILE *arquivo;
FILE *arquivo2;
struct cadastro_cliente
  {
      int cod;
      char nome [40];
      char rua [30];
      int numero;
      char cpf[11];
      //char bairro [30];
      char cidade [30];
      int codigocar;
      int CDC;
  };

struct cadastro_cliente Cliente[50];
struct cadastro_carro
  {
      int codcar;
      char modelo [20];
      char marca [15];
      char placa [15];
      int status;
  };

struct cadastro_carro Carro[50];

int cad_cliente(void);
int list_cliente(void);
int cad_carro(void);
int loc_carro(void);
int mostra_clientes(void);
int devo_carro(void);


int cad_cliente (void)
{arquivo=fopen("trabalho.txt","r");
      /*while(arquivo!=NULL){
      fscanf(arquivo,"%i",&Cliente[j].cod);
      fgets(Cliente[j].nome,40,arquivo);
      fgets(Cliente[j].rua,30,arquivo);
      fscanf(arquivo,"%i",&Cliente[j].cpf);
      fgets(Cliente[j].cidade,30,arquivo);
      j++;}*/
   system("cls");
   printf("Cadastro %d de 50\n", j);
   if (j<50){
        arquivo=fopen("trabalho.txt","w");
        printf("Digite o codigo do Cliente: ");
        scanf("%d", &Cliente[j].cod);
        fprintf(arquivo,"%d\n",Cliente[j].cod);
                fflush(stdin);
        printf("Digite o nome do cliente: ");
        gets(Cliente[j].nome);
        fputs(Cliente[j].nome,arquivo);
        printf("Digite o CPF do cliente: ");
        gets(Cliente[j].cpf);
        fprintf(arquivo,"\n%s\n",Cliente[j].cpf);
                fflush(stdin);
        printf("Digite o nome da cidade: ");
        gets(Cliente[j].cidade);
        fputs(Cliente[j].cidade,arquivo);
        fprintf(arquivo,"\n");
        printf("Digite o nome da rua: ");
        gets(Cliente[j].rua);
        fputs(Cliente[j].rua,arquivo);
                fflush(stdin);
        printf("Digite o numero da casa: ");
        scanf("%d", &Cliente[j].numero);
        fprintf(arquivo,"\n%d",Cliente[j].numero);
                fflush(stdin);
        Cliente[j].CDC=1;
        fprintf(arquivo,"%i",Cliente[j].CDC);
        /*printf(,"Digite o nome do Bairro: ");
        gets(Cliente[j].bairro);
                fflush(stdin);*/
        j++;
        fclose(arquivo);
        system("cls");
      }else{
      printf("Memoria cheia");}
   printf("Cadastro Efetuado com sucesso!");
   return(0);
}

int list_cliente (void)
{
  system("cls");
  int k=0;
  for(k=0;k<50;k++){
  if(Cliente[k].cod != 0)
       {
    printf("\nNome do Cliente: %s\n", Cliente[k].nome);
       }}
  system("pause");
  system("cls");
  return (0);
}

int cad_carro (void)
{
  system("cls");
  printf("Cadastro de carro %d de 50\n", i);
  if(i<50)
    {
     arquivo2=fopen("carro.txt","w");
     printf("Digite o codigo do veiculo: ");
     scanf("%d", &Carro.codcar);
     fprintf(arquivo2,"%d\n",Carro.codcar);
     fflush(stdin);
     printf("Digite o modelo do carro: ");
     gets(Carro.modelo);
     fputs(Carro.modelo,arquivo2),
     fprintf(arquivo2,"\n");
     fflush(stdin);
     printf("Digite a marca do carro: ");
     gets(Carro.marca);
     fputs(Carro.marca,arquivo2);
     fprintf(arquivo2,"\n");
     fflush(stdin);
     printf("Digite a placa do carro: ");
     gets(Carro.placa);
     fputs(Carro.placa,arquivo2);
     i++;
     fclose(arquivo2);
    }
  system("cls");
  return(0);
}

int loc_carro (void)
{
  system("cls");
  int k=0;
  char consulta[40];
  char resposta;
  int codi;
  fflush(stdin);
  printf("Digite o nome do cliente que quer locar um veiculo: ");
  gets(consulta);
  Reconsulta:
    if(consulta == Cliente[k].nome);
    {
      printf("Cliente cadastrado, deseja locar veiculo s/n: ");
      scanf("%c", &resposta);
      if(resposta == 's')
        {
          printf("Digite o codigo do Carro: ");
          scanf("%d", &codi);
          Cliente[k].codigocar=codi;
          Carro[k].status= 1;
          printf("Carro alugado com sucesso!");
          getchar();
        }
     else{printf("cliente não cadastrado");};
   };
   system("cls");
   return(0);
}

int mostra_clientes (void){
    system("cls");
    i=0;
    for (j=0; j<50; j++){
       if(Cliente[j].codigocar != 0)
        {
           printf("Cliente: %s\n", Cliente[j].nome);
           printf("Modelo do carro: %s\n",Carro.modelo);
           printf("Marca do veiculo: %s\n\n\n", Carro.marca);
           i++;
        }
    }
  system("pause");
  system("cls");
  return(0);
}

int devo_carro (void)
{
  system("cls");
  char dev, devolucao[40];
  printf("Digite o Nome do Cliente que vai devolver o veiculo: ");
  scanf("%c", &devolucao);
  for (i=0; i<50; i++)
   {
    if(devolucao == Cliente.nome)
      {
        printf("Realizar devolucao s/n? ");
        scanf("%c", &dev);
        if (dev == 's')
          {
            Cliente.codigocar=0 ;
            Carro.status=0;
          }
      }
   }
  system("cls");
  return(0);
}

int main (void){
  /*arquivo=fopen("trabalho.txt","r");
  while(arquivo!=NULL){
  fscanf(arquivo,"%i\n",&Cliente[j].cod);
  fgets(Cliente[j].nome,40,arquivo);
  fgets(Cliente[j].rua,30,arquivo);
  fscanf(arquivo,"%i\n",&Cliente[j].cpf);
  fgets(Cliente[j].cidade,30,arquivo);
  j++;}*/

  int opcao=0;
  while(opcao<8)
  {
    printf("\n\nLOCADORA DE VEICULOS\n");
    printf("..................\n\n");
    printf("1 - CADASTRAR CLIENTE\n");
    printf("2 - LISTAR CLIENTES CADASTRADOS\n");
    printf("3 - CADASTRAR CARRO\n");
    printf("4 - LOCAR CARRO\n");
    printf("5 - CLIENTES COM CARROS LOCADOS\n");
    printf("6 - DEVOLUCAO DE CARRO\n");
    printf("7 - SAIR\n");
    printf("Escolha uma op‡Æo:");
    fflush(stdin);
    scanf("%d", &opcao);
    switch(opcao)
      {
          case 1: cad_cliente(); break;
          case 2: list_cliente(); break;
          case 3: cad_carro(); break;
          case 4: loc_carro(); break;
          case 5: mostra_clientes(); break;
          case 6: devo_carro(); break;
          case 7: exit(0); break;
          default: printf("\nop‡Æo invalida - tecle <enter>");
          fflush(stdin);
          while ((tecla=getchar())!='\r')
          break;
      /*fim do swith*/
  }}/*fim do while*/
  getch();
  return(0);
}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...