Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Últimos assuntos
Relogio

Cadastro Lava Jato

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Cadastro Lava Jato

Mensagem  juk em Dom Jan 20, 2013 4:31 pm

Código:

#include <stdio.h>
#include <stdlib.h> //por causa do exit(0)
#include <string.h> //função de comparação de string
struct
{
   char placa[10];
   char dono[30];
   char modelo[30];
   char servic[40];
   int servicpreco;
   char pg[4];
} cad_ljt[20];
struct
{
   char placa[10];
   char dono[30];
   char modelo[30];
   char servic[40];
   int servicpreco;
   char pg[4];
} buffer[20];
///prototipofuncao
void gravar();
void cadastro();
int servico();
void tabelapreco();
void imprimir();
void imprimirarquivo();
void pesquisarplaca();
void pesquisarpg();
void pesquisardono();

///--------------
///variaveisglobais
int cont=0;
FILE *arquivo;//criar ponteiro para o arquivo
///-------------------
void cadastro()
{
   int op=1;
   while (op==1)
   {
      
      printf("Digite a placa do veiculo:");
      scanf(" %[^\n]",cad_ljt[cont].placa);
      printf("Digite o nome Proprietario:");
      scanf(" %[^\n]",cad_ljt[cont].dono);
      printf("Digite o modelo:");
      scanf(" %[^\n]",cad_ljt[cont].modelo);
      tabelapreco();
      printf("Tipo de servico(1-2-3-4-5):");
      scanf("%d",&cad_ljt[cont].servicpreco);
      cad_ljt[cont].servicpreco=servico(cad_ljt[cont].servicpreco); //ela ver o tipo de serviço e atribui a variavel o preço dele
      printf("Foi efetuado o pagamento(SIM|NAO):");
      scanf(" %[^\n]",cad_ljt[cont].pg);
      gravar(cont);
      cont ++;
      printf("Dejesa cadastra mais um carro:1_SIM 2_NAO:");
      scanf("%d",&op);
      if(op==0)
      op=0;
      
   }
      
}

int servico(int n) //ver o tipo de serviço e retorna o preço
{
   if(n==1)
   {
      n=25;
      strcpy(cad_ljt[cont].servic, "Lavagem Geral");
      return (n);
   }
   if(n==2)
   {
      n=15;
      strcpy(cad_ljt[cont].servic, "Lavagem Basica");
      return (n);
   }
   if(n==3)
   {
      n=35;
      strcpy(cad_ljt[cont].servic, "Lavagem Cera Gran Prix");
      return (n);
   }
   if(n==4)
   {
      n=10;
      strcpy(cad_ljt[cont].servic, "Lavagem Moto");
      return (n);
   }
   if(n==5)
   {
      n=17;
      strcpy(cad_ljt[cont].servic, "Puverizacao");
      return (n);
   }
   strcpy(cad_ljt[cont].servic, "ERRO FUNCAO");
   return (n);
}

void tabelapreco()
{
   printf("Servicos:\n");
   printf("1_Lavagem Geral          :R$25\n");
   printf("2_Lavagem Basica        :R$15\n");
   printf("3_Lavagem Cera Gran Prix :R$35\n");
   printf("4_Lavagem MOTO          :R$10\n");
   printf("5_PUVERIZACAO            :R$17\a");
   printf("\n");
}
void imprimir() //função imprimir dados da memroia
{
   int j=0;
    printf("Cadastro Numero:%d",j);
    do
      {
      printf("\n\n --------- Dados do cadastro:%d!! ---------\n\n",j);
      printf("PLACA ..............: %s\n", cad_ljt[j].placa);
      printf("Proprietario........: %s\n", cad_ljt[j].dono);
      printf("MODELO..............: %s\n", cad_ljt[j].modelo);
      printf("Servico.............: %s\n", cad_ljt[j].servic);
      printf("Preco...............: %d\n", cad_ljt[j].servicpreco);
      printf("PAGO................: %s\n", cad_ljt[j].pg);
      printf("\n");
      j++;
      } while (j<cont);
}

void imprimirarquivo()
{
    int  k=0;
    if ((arquivo = fopen("dados.txt", "r")) == NULL)
      {
     printf ("dados ñ pode ser aberto");
      printf ("Insira dados!\n");
      getchar();
      exit(1);
      }
   
      while (!feof(arquivo))
      {   
          ///------leitura
          fscanf(arquivo, "%s", buffer[k].placa);
          fscanf(arquivo, "%s", buffer[k].dono);
            fscanf(arquivo, "%s", buffer[k].modelo);
            fscanf(arquivo, " %[^\n]", buffer[k].servic); ///leitura com espaço
            fscanf(arquivo, "%d",&buffer[k].servicpreco);
            fscanf(arquivo, "%s", buffer[k].pg);
            ///------impressao
            printf("Cadastro Numero:%d\n",k);
            printf("PLACA ..............: %s\n", buffer[k].placa);
            printf("DONO.,..............: %s\n", buffer[k].dono);
            printf("MODELO..............: %s\n", buffer[k].modelo);
            printf("SERVICO.............: %s\n", buffer[k].servic);
            printf("PRECO...............: %d\n", buffer[k].servicpreco);
            printf("PAGO................: %s\n", buffer[k].pg);
     
        k++;
        getchar(); 
        }
     
  fclose(arquivo);
}

void gravar(int k)
{
    arquivo=fopen("dados.txt","a+");                                     
    fprintf(arquivo,"%s\n%s\n%s\n%s\n%d\n%s\n",cad_ljt[k].placa,cad_ljt[k].dono,cad_ljt[k].modelo,cad_ljt[k].servic,cad_ljt[k].servicpreco,cad_ljt[k].pg); //função que imprimir no arquivo
    fclose(arquivo);                    
}

void pesquisarplaca()
{
    int  k=0;
    char pesq[80];

    if ((arquivo = fopen("dados.txt", "r")) == NULL)
      {
     printf ("dados ñ pode ser aberto");
      printf ("Insira dados!\n");
      getchar();
      exit(1);
      }
    printf ("Digite a placa: ");
    scanf("%s",pesq);

    while (!feof(arquivo))
      {
          fscanf(arquivo, "%s", buffer[k].placa);
          fscanf(arquivo, "%s", buffer[k].dono);
            fscanf(arquivo, "%s", buffer[k].modelo);
            fscanf(arquivo, " %[^\n]", buffer[k].servic);
            fscanf(arquivo, "%d", &buffer[k].servicpreco);
            fscanf(arquivo, "%s", buffer[k].pg);
           
             
          if (strcmp(pesq, buffer[k].placa) == 0 )
            {
            printf("Cadastro Numero:%d\n",k);
            printf("PLACA ..............: %s\n", buffer[k].placa);
            printf("DONO.,..............: %s\n", buffer[k].dono);
            printf("MODELO..............: %s\n", buffer[k].modelo);
            printf("SERVICO.............: %s\n", buffer[k].servic);
            printf("PRECO...............: %d\n", buffer[k].servicpreco);
            printf("PAGO................: %s\n", buffer[k].pg);
     
            }
            k++; 
        }
     
  fclose(arquivo);
}

void pesquisarpg()
{
    int  k=0;
    char pesq[80];

    if ((arquivo = fopen("dados.txt", "r")) == NULL)
      {
     printf ("dados ñ pode ser aberto");
      printf ("Insira dados!\n");
      getchar();
      exit(1);
      }
    printf ("LISTA OS CARROS PAGOS(SIM|NAO): ");
    scanf("%s",pesq);

    while (!feof(arquivo))
      {
          fscanf(arquivo, "%s", buffer[k].placa);
          fscanf(arquivo, "%s", buffer[k].dono);
            fscanf(arquivo, "%s", buffer[k].modelo);
            fscanf(arquivo, " %[^\n]", buffer[k].servic);
            fscanf(arquivo, "%d", &buffer[k].servicpreco);
            fscanf(arquivo, "%s", buffer[k].pg);
           
             
          if (strcmp(pesq, buffer[k].pg) == 0 )
            {
            printf("Cadastro Numero:%d\n",k);
            printf("PLACA ..............: %s\n", buffer[k].placa);
            printf("DONO.,..............: %s\n", buffer[k].dono);
            printf("MODELO..............: %s\n", buffer[k].modelo);
            printf("SERVICO.............: %s\n", buffer[k].servic);
            printf("PRECO...............: %d\n", buffer[k].servicpreco);
            printf("PAGO................: %s\n", buffer[k].pg);
     
            }
            k++; 
}
     
  fclose(arquivo);
}

void pesquisardono()
{
    int  k=0;
    char pesq[80];

    if ((arquivo = fopen("dados.txt", "r")) == NULL)
      {
     printf ("dados ñ pode ser aberto");
      printf ("Insira dados!\n");
      getchar();
      exit(1);
      }
    printf ("Digite o nome do proprietario: ");
    scanf("%s",pesq);

    while (!feof(arquivo))
      {
          fscanf(arquivo, "%s", buffer[k].placa);
          fscanf(arquivo, "%s", buffer[k].dono);
            fscanf(arquivo, "%s", buffer[k].modelo);
            fscanf(arquivo, " %[^\n]", buffer[k].servic);
            fscanf(arquivo, "%d", &buffer[k].servicpreco);
            fscanf(arquivo, "%s", buffer[k].pg);
           
            if (strcmp(pesq, buffer[k].dono) == 0 )
              {
              printf("Cadastro Numero:%d\n",k);
              printf("PLACA ..............: %s\n", buffer[k].placa);
              printf("DONO.,..............: %s\n", buffer[k].dono);
              printf("MODELO..............: %s\n", buffer[k].modelo);
              printf("SERVICO.............: %s\n", buffer[k].servic);
              printf("PRECO...............: %d\n", buffer[k].servicpreco);
              printf("PAGO................: %s\n", buffer[k].pg);
              }
      k++; 
      }
 fclose(arquivo);
}
int main()
{
   int op;
   int op2;
   printf("Digite uma opção:\n1_Cadastro\n2_Imprimir Arquivo\n3_pesquisar\n0_Sair\n:");
   scanf("%d",&op);
    switch (op)
     {
     case 1:
           {
       cadastro();
       imprimir();
       break;
           }
     case 2:
           {
       imprimirarquivo();
       break;
           }
     case 3:
           {
         printf("Digite uma opção:\n1_pesquisar placa\n2_lista pagamento\n3_pesquisar dono\n:");
         scanf("%d",&op2);
           switch (op2)
           {
           case 1:
             pesquisarplaca();
             break;
           case 2:
             pesquisarpg();
             break;
           case 3:
             pesquisardono();
             break;
            }
            break;
          }
      case 0:
        exit(0);
        break;   
     }
   
   getchar();
   getchar();
   main();//recursividade
   return 0;
}
avatar
juk

Mensagens : 225
Data de inscrição : 02/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum