Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

travassos

Programa lava jato

Recommended Posts

Boa noite amigos, sou novo por aqui, venho pedir ajuda nesse projeto de facu, estou com alguns problemas, como editar, excluir e buscar por cliente, o resto consigo desenrolar.

 

Descrição: Deve ser construido um sistema de cadastro de um Lava Jato. O sistema deve cadastrar o cliente e seus respectivos carros que serão lavados no Lava Jato.

1 Parte:

Deve ser desenvolvido uma tela de login e senha para acessar o sistema. Essas informações devem está fixas no código fonte do sistema.

2 Parte:

Deve ser cadastrado no sitema o cliente com as seguintes informações: codigo_cliente, nome, endereço, telefone e email. O sistema deve permitir que os dados do cliente sejam editados e excluídos. O sistema também deve contemplar a busca do cliente pelo nome.

3 Parte:

Deve ser cadastrado no sistema os carros de um determinado cliente com as seguintes informações: codigo_carro, codigo_cliente, modelo, cor e a placa. O Sistema deve permitir que os dados do carro sejam editados e excluídos. O sistema também deve contemplar a busca do carro pela placa.

4 Parte:

Validações:

1) O sistema não deve permitir o cadastro de um mesmo carro para mais de um cliente. Entretanto, um cliente pode ter vários carros cadastrados.

2) O sistema não deve permitir o cadastro de mais de um carro com a mesma placa.

3) O sistema não deve permitir a exclusão de um cliente que tenha carros cadastrados. Primeiro o usuário deve excluir os carros daquele cliente para que possa excluí-lo definitivamente.

Obs.: Todos os dados do sistema devem ser armazenados em um arquivo.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include<ctype.h>
#define TAM 30
 
 typedef struct{
    char codigo[TAM];
    char nome[TAM];
    char cpf [TAM];
    char idade[TAM];
    char fone [TAM];
    char email [TAM];
char buscar [TAM];
 
} cliente;
 
struct carro{
    int codigo_car;
    char placa;
    char cor;
    char modelo;
    int codigo_cli;
    int ativo;
 
};
 
/*struct cliente cli;
FILE *arq;
char resposta;*/
 
/*struct Carro car;
FILE *arq;
char resposta;*/
 
/*void abrirArquivo(char arquivoLavaJato[]){
    system("cls");
    arq= fopen(arquivoLavaJato, "r+");
    if(arq== NULL){
        arq= fopen(arquivoLavaJato, "w+");
    }
}*/
 
int main (void){
 
  FILE *arq;
  if (arq==NULL){
        printf ("\n Erro ao abrir o arquivo \n");
       }
 
       else{
        printf("\n Arquivo aberto com sucesso \n");
       }
       arq=fopen("C:\\crud\\arq.txt","w+");
  arq=fopen("C:\\crud\\arq.txt", "r+");
   system ("pause");
   system ("cls");       
  char c,cadastro_login[50] = "adm",cadastro_senha[50] = "lavajato",acesso_login[50],acesso_senha[50];
       int a=0,b=1,d=3;
       int menu;
       char nome[TAM];
       char buscar[TAM];          
       cliente cli;
 
       do{
           printf("\nEntre com o login: ");
           fflush(stdin);      
           gets(acesso_login);
           printf("\nEntre com a senha: ");
           a=0;
 
               do{
                   c=getch();
                   if(isprint(c)){     
                   acesso_senha[a]=c;
                   a++;
                   printf("*");     
 
                   }
                   else if(c==8&&a){
                   acesso_senha[a]='\0';
                   a--;
                   printf("\b \b");   
 
                   } 
 
               }while(c!=13);           
               acesso_senha[a]='\0';
               if(!strcmp(cadastro_login,acesso_login)&&!strcmp(cadastro_senha,acesso_senha)){
               printf("\n\n\t\t\tLOGADO COM SUCESSO...\n\n");
               b=0;
               }
               else {
               system("cls");
               d--;         
               if (d)printf("\n\n\t\a\t USUARIO OU SENHA INVALIDOS - TENTE NOVAMENTE...\n\n");
               }
       }while(b&&d);                      
       if(!d){
       printf("\a\n\n\t\tCONTA BLOQUEADA - VOCE ERROU 3 VEZES CONSECUTIVAS...\n\n");
  return 0;
  } 
       system ("pause");       
       system ("cls");
       do
{     
printf("*=============================================================================*\n");
printf("|  ___        ___ ________  ___    ___  ___    ___                            |\n");
printf("|  XXX_      _XXX XXXXXXXX  XXX_   XXX  XXX    XXX                            |\n");
printf("|  XXXX_    _XXXX XXXXXXXX  XXXX   XXX  XXX    XXX                            |\n");
printf("|  XXXXX____XXXXX XXX_____  XXXXX__XXX  XXX    XXX                            |\n");
printf("|  XXXXXXXXXXXXXX XXXXXXXX  XXXXXXXXXX  XXX    XXX                            |\n");
printf("|  XXX XXXXXX XXX XXX_____  XXXXXXXXXX  XXX____XXX                            |\n");
printf("|  XXX  XXXX  XXX XXXXXXXX  XXX XXXXXX  XXXXXXXXXX                            |\n");
printf("|  XXX   XX   XXX XXXXXXXX  XXX  XXXXX  XXXXXXXXXX                            |\n");
printf("|  _________ ___    ___ ________ ___      _________ ____        ___ _________ |\n");
printf("|  XXXXXXXXX XXX    XXX XXXXXXXX XXX      XXXXXXXXX XXXX        XXX XXXXXXXXX |\n");
printf("|  XXX   XXX XXX    XXX XXX   XX XXX      XXXXXXXXX  XXX       XXX  XXXXXXXXX |\n");
printf("|  XXX______ XXX    XXX XXX___XX XXX      XXX___XXX   XXX     XXX   XXX___XXX |\n");
printf("|  XXXXXXXXX XXX    XXX XXXXXXXX XXX      XXXXXXXXX    XXX   XXX    XXXXXXXXX |\n");
printf("|  ___  XXXX XXX____XXX XXXXXXXX XXX_____ XXXXXXXXX     XXX_XXX     XXXXXXXXX |\n");
printf("|  XXX__XXXX XXXXXXXXXX XXX      XXXXXXXX XXX   XXX      XXXXX      XXX   XXX |\n");
printf("|  XXXXXXXXX XXXXXXXXXX XXX      XXXXXXXX XXX   XXX       XXX       XXX   XXX |\n");
printf("|                                                                             |\n");
printf("*=============================================================================*\n\n");
printf ("                              SUPER LAVA JATO\n\n "                                );
       printf("\n                              <1>  CADASTRAR");  
       printf("\n                              <2>  EXCLUIR"); 
       printf("\n                              <3>  EDITAR"); 
       printf("\n                              <4>  BUSCAR"); 
       printf("\n                              <5>  SAIR"); 
       printf("\n\nInforme a opcao desejada: "); 
       scanf("%d", &menu); 
       system("cls");
       
       switch(menu)  
 
       { 
 
       case 1: 
       printf("Cadastre o cliente \n");
       printf ("");
  gets (cli.nome);
  fputs (cli.nome, arq);
  printf ("Nome: \t");
  gets (cli.nome);
  fputs (cli.nome, arq);
       printf ("\nIdade:\t");
       gets (cli.idade);
       fputs (cli.idade, arq);
       printf("\nCPF:\t");
       gets(cli.cpf);
       fputs (cli.cpf, arq);
       printf("\nfone:\t");
       gets(cli.fone);
       fputs (cli.fone, arq);
       printf("\nemail:\t");
       gets(cli.email);
       fputs (cli.email, arq);
       printf("\nCodigo:\t");
       gets (cli.codigo);
       fputs (cli.codigo, arq);
       system ("cls");
  printf ("cadastrado com sucesso \n");
  system ("pause");
  system ("cls");
       getch();
 
       break; 
       case 2: 
       printf("Em manutencao\n"); //excluir
       system ("pause");
       getch(); 
 
       break; 
       case 3: 
       printf("Em manutencao\n"); //editar
  system ("pause"); 
       getch(); 
 
       break; 
       case 4: 
       printf("Digite o codigo do clinte:"); //buscar
       fputs (cli.buscar, arq);
  if (cli.buscar==cli.codigo){
   printf ("\n nome: %s", cli.nome);
   printf ("\n idade: %i", cli.idade);
   printf ("\n cpf: %i", cli.cpf);
   printf ("\n fone: %i", cli.fone);
   printf ("\n email: %i", cli.email);
   printf ("\n codigo: %i \n", cli.codigo);
  }
  else {
   printf ("codigo nao encontrado \n");
  } 
  system ("pause");
  system ("cls");
       getch(); 
 
       break; 
       case 5: 
       return 0;
  break; 
       } 
       } while (menu != 5);
 
       return 0;
       fclose(arq);
}
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/topic/336835-tutorial-systempause-e-fflushstdin/

 

Não use gets.

http://en.cppreference.com/w/c/io/gets

 

 

 

The gets() function does not perform bounds checking, therefore this function is extremely vulnerable to buffer-overflow attacks. It cannot be used safely (unless the program runs in an environment which restricts what can appear on stdin). For this reason, the function has been deprecated in the third corrigendum to the C99 standard and removed altogether in the C11 standard. fgets() and gets_s() are the recommended replacements.

 

E qual é o problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.