Buscar

Sem Título1

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

//locadora.h
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
// definicao do tipo cliente
typedef struct {
 int codcli;
 char nome[100];
 int cpf[11];
 char endereco[30];
 int telefone[10];
 int idade[2];
 int codcarro;
 int status; // sendo o status 0 para inativo e 1 para ativo 
}cliente;
// definicao do tipo automovel
typedef struct {
 int codcar;
 char modelo[20];
 char marca[20];
 char placa[7];
 char cor[20];
 int status;
}automovel;
//prototipo das funcoes
//funcoes de clientes
void Clientes();
void Automoveis();
void Cadastro_Clientes();
void Altera_Clientes();
void Consultar_Clientes();
void Excluir_Clientes();
void Relatorio_Clientes();
//funcoes de automoveis
void Cadastro_Automoveis();
void Relatorio_Automoveis();
//funcao de locacao
int Gerenciamento_Locacoes();
--------------------------------------------------------------------------------------------------
//main
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "Locadora.h"
int main()
{
 char escolha=0;
 while( (escolha!='s') && (escolha!='S') )
 {
 printf("--------------------------------------------------------------------------------\n");
 printf(" Sistema de Gerenciamento de uma Locadora de Automoveis\n");
 printf("--------------------------------------------------------------------------------\n");
 printf(" Digite o numero referente a opcao desejada:\n");
 printf(" 1- Clientes\n");
 printf(" 2- Automoveis\n");
 printf(" 3- Gerenciamento de Locacoes\n");
 printf("Opcao: ");
 scanf("%i", &escolha);
 fflush(stdin);
 switch(escolha)
 {
 case 1:
 Clientes(); break;
 case 2:
 Automoveis(); break;
 case 3:
 Gerenciamento_Locacoes(); break;
 default:
 printf("Opcao invalida, digite a opcao novamente:\n ");
 } 
 }
 return 0;
}
--------------------------------------------------------------------------------------------------
//Clientes
#include "locadora.h"
// Função de cadastro de clientes
void Clientes()
{
int escolha=0;
 printf("--------------------------------------------------------------------------------\n");
 printf(" Clientes\n");
 printf("--------------------------------------------------------------------------------\n"); 
 printf(" Digite o numero referente a opcao desejada:\n");
 printf(" 1- Cadastrar Cliente\n");
 printf(" 2- Alterar Cliente\n");
 printf(" 3- Excluir Cliente\n");
 printf(" 4- Consultar Clientes\n");
 printf(" 5- Relatorio de Clientes\n");
 printf("Opcao: ");
 scanf("%i", &escolha);
 fflush(stdin);
 switch(escolha)
 {
 case 1:
 Cadastro_Clientes(); break;
 case 2:
 Altera_Clientes(); break;
 case 3:
 Excluir_Clientes(); break;
 case 4:
 Consultar_Clientes(); break;
 case 5:
 Relatorio_Clientes(); break;
 default:
 printf("Opcao invalida, digite a opcao novamente:\n ");
 } 
 }
CODE
//Cadastro Clientes
#include "locadora.h"
// Função de cadastro de clientes
void Cadastro_Clientes()
{
 printf("--------------------------------------------------------------------------------\n");
 printf(" Cadastro de Clientes\n");
 printf("--------------------------------------------------------------------------------\n"); 
 cliente *vetclientes; // vetor de clientes
 int n; // numero de clientes
 FILE *arq_cliente; // arq. de armazenamento
 // abre o arquivo para leitura
 arq_cliente=fopen("Cadastro_Cliente.txt","r+b");
 if(arq_cliente==NULL)
 {
 // se arquivo não existe abre para escrita 
 arq_cliente=fopen("Cadastro_Cliente.txt","w+b");
 // inicializa num de clientes com 0
 n=0;
 }
 else
 {
 //se arquivo existe le o num de clientes 
 fread(&n,sizeof(int),1,arq_cliente);
 //aloca memória para os clientes 
 vetclientes = (cliente *)malloc(sizeof(cliente)*n);
 // e le o vetor de clientes inteiro
 fread(vetclientes,sizeof(cliente),n,arq_cliente);
 }
 if(n==0)
 {
 // se n=0, aloca memoria para vetor
 vetclientes = (cliente *)malloc(sizeof(cliente));
 }
 else
 {
 // caso contrario realoca memoria para vetor
 vetclientes= (cliente *)realloc(vetclientes,sizeof(cliente)*(n+1));
 }
 // cadastra novo cliente 
 printf("\nCliente %d",n); 
 printf("\nNome: "); scanf("%s",vetclientes[n].nome);
 fflush(stdin);
 printf("CPF: "); scanf("%i",vetclientes[n].cpf);
 fflush(stdin);
 printf("Endereco: "); scanf("%s",vetclientes[n].endereco);
 fflush(stdin);
 printf("Telefone: "); scanf("%i",vetclientes[n].telefone);
 fflush(stdin);
 printf("Idade: "); scanf("%i",&vetclientes[n].idade);
 vetclientes[n].codcli = n;
 vetclientes[n].status = 1;
 printf("codigo:", &vetclientes[n].codcli);
 printf("\nRegistro gravado com sucesso!\n");
 // incrementa numero de clientes
 n++;
 // fecha o arquivo
 fclose(arq_cliente);
 // e em seguida reabre para posicionar no comeco
 arq_cliente=fopen("Cadastro_Cliente.txt","r+b");
 //reescreve o numero de clientes atualizado
 fwrite(&n,sizeof(int),1,arq_cliente); 
 fwrite(vetclientes,sizeof(cliente),n,arq_cliente); 
 // e fecha o arquivo
 fclose(arq_cliente);
 //libera memoria
 free(vetclientes);
}
CODE
//Altera Clientes
#include "locadora.h"
// Função de cadastro de clientes
void Altera_Clientes()
{
char nomecli[50];
int i;
 printf("--------------------------------------------------------------------------------\n");
 printf(" Alteracao de Clientes\n");
 printf("--------------------------------------------------------------------------------\n"); 
 cliente *vetclientes; // vetor de clientes
 int n; // numero de clientes
 FILE *arq_cliente; // arq. de armazenamento
 // abre o arquivo para leitura
 arq_cliente=fopen("Cadastro_Cliente.txt","r+b");
 if(arq_cliente==NULL)
 {
 // se arquivo não existe abre para escrita 
 arq_cliente=fopen("Cadastro_Cliente.txt","w+b");
 // inicializa num de clientes com 0
 n=0;
 }
 else
 {
 //se arquivo existe le o num de clientes 
 fread(&n,sizeof(int),1,arq_cliente);
 // e le o vetor de clientes inteiro
 fread(vetclientes,sizeof(cliente),n,arq_cliente);
 printf("Digite o nome do cliente que deseja alterar:\n");
 scanf("%i", &nomecli);
 for (i=0; i<n; i++)
 { 
 //ERRO!!!!!!!!!!!!
 //NA LINHA ABAIXO DA ERRO! (expected primary-expression before '[' token)
 if(strcmp(nomecli = cliente[n].nome)==0) {
 printf("\nCliente %d",n); 
 printf("\nNome: "); scanf("%s",vetclientes[n].nome);
 fflush(stdin);
 printf("CPF: "); scanf("%i",vetclientes[n].cpf);
 fflush(stdin);
 printf("Endereco: "); scanf("%s",vetclientes[n].endereco);
 fflush(stdin);
 printf("Telefone: "); scanf("%i",vetclientes[n].telefone);
 fflush(stdin);
 printf("Idade: "); scanf("%i",&vetclientes[n].idade);
printf("\nCliente alterado com sucesso:\n");
 }
 }
 // fecha o arquivo
 fclose(arq_cliente);
 // e em seguida reabre para posicionar no comeco
 arq_cliente=fopen("Cadastro_Cliente.txt","r+b");
 //reescreve o numero de clientes atualizado
 fwrite(&n,sizeof(int),1,arq_cliente); 
 fwrite(vetclientes,sizeof(cliente),n,arq_cliente); 
 // e fecha o arquivo
 fclose(arq_cliente);
 //libera memoria
 free(vetclientes);
}
}
CODE
//Excluir Clientes
#include "locadora.h"
// Função de cadastro de clientes
void Excluir_Clientes()
{
 int n;
 int i;
 char consulta[40];
 char resposta;
 cliente *vetclientes;
 printf("--------------------------------------------------------------------------------\n");
 printf(" Exclusão de Cliente\n");
 printf("--------------------------------------------------------------------------------\n"); 
 printf("Digite o nome do cliente que voce deseja excluir: ");
 gets(consulta);
 fflush(stdin);
 for(i=0;i<n;i++)
 {
 if(strcmp(consulta, vetclientes[i].nome));
 {
 printf("Cliente cadastrado. Deseja excluir cliente? s/n: ");
 scanf("%c", &resposta);
 if(resposta == 's' or resposta=='S'){
 //PROBLEMA NESTA LINHA, ERRO NA EXECUÇÃO
 //CORTA A EXECUÇÃO QUANDO CHEGA AQUI
 vetclientes[i].status = 0; //define que o cliente está inativo
 printf("Cliente excluido com sucesso!");
 }
 }
 }
}
CODE
#include "locadora.h"
// Função Relatório de Clientes
void Relatorio_Clientes()
{
 printf("--------------------------------------------------------------------------------\n");
 printf(" Relatorio de Clientes\n");
 printf("--------------------------------------------------------------------------------\n");
 cliente *vetclientes; // vetor de clientes
 int i, n; // numero de clientes
 FILE *arq_cliente;
 //abre o arquivo binario para ler
 arq_cliente=fopen("Cadastro_Cliente.bin","r+b"); 
 printf("Teste1");
//IMPRIME O PRINTF TESTE1 E DEPOIS não IMPRIME MAIS NADA!
 //carrega o vetor
 //se arquivo existe le o num de clientes 
 fread(&n,sizeof(int),1,arq_cliente);
 //aloca memória para os clientes 
 vetclientes = (cliente *)malloc(sizeof(cliente)*n);
 // e le o vetor de clientes inteiro
 fread(vetclientes,sizeof(cliente),n,arq_cliente);
 // abre o arquivo para leitura
 arq_cliente=fopen("Relatorio_Clientes.txt","w+t");
 printf("Teste2"); 
 if(arq_cliente==NULL){
 // se não existe o arquivo exibe mensagem
 printf("\nErro na abertura do arquivo");
 exit(0);
 }
 // carrega todas informações de clientes no Relatório_Clientes.txt
 for(i=0;i<n;i++)
 {
 printf("- entrou no for-");
 if(vetclientes[i].status == 1){
 printf(" - if do status-");
 fprintf(arq_cliente, "Cód.Cliente: %i", vetclientes[i].codcli); 
 fprintf(arq_cliente, "Nome: %s", vetclientes[i].nome);
 fprintf(arq_cliente, "\nCPF: %i", vetclientes[i].cpf);
 fprintf(arq_cliente, "\nEndereco: %s", vetclientes[i].endereco);
 fprintf(arq_cliente, "\nTelefone: %i", vetclientes[i].telefone);
 fprintf(arq_cliente, "\nIdade: %i", vetclientes[i].idade); 
 fprintf(arq_cliente, "----------------------------------------------------------------");
 }
 }
 printf("-saiu do for-");
 system("PAUSE");
 // fecha o arquivo
 fclose(arq_cliente);
 // libera memória do vetor
 free(vetclientes);
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais