Ir para conteúdo
Fórum Script Brasil

pvj

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Sobre pvj

pvj's Achievements

0

Reputação

  1. pvj

    Sistema de Locadora de Veiculos

    Bom, modifiquei toda minha função Altera_Clientes, mas agora está ocorrendo um outro erro no sistema, se alguém puder me ajudar a identificar que erro é esse, por favor. Obrigada! A função é a seguinte #include "locadora.h" void Altera_Clientes(){ char nomepesq[30]; int achei,apontador; int a; char resp; resp='S'; cliente *vetclientes; // vetor de clientes int n; // numero de clientes FILE *arq_cliente; // arq. de armazenamento printf("--------------------------------------------------------------------------------\n"); printf(" Alteracao de Clientes\n"); printf("--------------------------------------------------------------------------------\n"); arq_cliente = fopen("Cadastro_Cliente.bin","r+b"); //abre o arquivo p/ leitura e escrita if(arq_cliente){ while ((resp=='S') && (resp=='s')){ achei=0; printf("Digite o nome do cliente que deseja alterar: "); fflush(stdin); fgets(nomepesq,30,stdin); rewind(arq_cliente); //posiciona o apontador de reg no inicio do arquivo apontador=0; while (!feof(arq_cliente) && achei==0){ a=fread(&vetclientes,sizeof (cliente),1,arq_cliente); //le registro apontador++; if(a==1){ if(strcmp(vetclientes[n].nome,nomepesq)==0){ //compara as strings //se o nome foi encontrado, escreve os dados do registro printf("\nNome: %s",&vetclientes[n].nome); printf("\nCPF: %i", &vetclientes[n].cpf); printf("\nEndereco: %s",&vetclientes[n].endereco); printf("\nTelefone: %i",&vetclientes[n].telefone); printf("\nIdade: %i",&vetclientes[n].idade); printf("\nCliente alterado com sucesso:\n"); achei = 1; // le os dados a serem alterados printf("Alterar..."); printf("\nNome: "); fflush(stdin); fgets(vetclientes[n].nome,30,stdin); //le o nome printf("\nCPF: "); scanf("%i",&vetclientes[n].cpf); //le a idade printf("\nEndereco: "); scanf("%i",&vetclientes[n].endereco); //le a idade printf("\nTelefone: "); scanf("%i",&vetclientes[n].telefone); //le a idade printf("\nIdade: "); scanf("%i",&vetclientes[n].idade); //le a idade printf("Confirma a alteracao? S/N "); scanf("%c", resp);; if((resp=='S')&&(resp=='s')){ apontador--; //fseek - Comando para posicionamento do “ponteiro de leitura/escrita” em arquivos binários fseek(arq_cliente,apontador * sizeof (cliente),SEEK_SET); //seek_set movimenta para a posição indicada (começando a contar do zero, primeiro byte do arquivo). a=fwrite(&vetclientes,sizeof (cliente),1,arq_cliente); if(a!=1){ printf("Problemas na gravacao."); } } } } } if(achei==0){ printf("Registro não encontrado."); } } fclose(arq_cliente); // fecha o arquivo //libera memoria free(vetclientes); } } O erro é o seguinte: Valeu! Já resolvi! Valeu!
  2. pvj

    Sistema de Locadora de Veiculos

    Compilei, é na compilação que dá o erro.
  3. pvj

    Sistema de Locadora de Veiculos

    Sim a chave continua ali. Aqui que não coloquei mas no programa está.
  4. pvj

    Sistema de Locadora de Veiculos

    Mesmo erro, a linha ficou assim: if(strcmp(nomecli, cliente[n].nome)==0)
  5. pvj

    Sistema de Locadora de Veiculos

    Obrigada Rodrigo, nem notei que havia errado na sintaxe ali. Mas o erro continua... :wacko:
  6. Socorro!!!|| Estou fazendo um Sistema de Restaurante em VBnet para um trabalho da faculdade. Mas estou com alguns problemas, dentre eles, no meu cadastro de Clientes, simplesmente a execução para no comando insert ou no comando update e não continua, fazendo assim com que não seja nem inserido nem alterado o Cliente. Por favor, se alguém puder ajudar!!! Segue abaixo o código do botão gravar que verifica se o cliente deseja incluir novo cliente ou alterar e efetua a gravação no banco de dados. ----------------------------------------------------------------------------------------- Private Sub btn_Gravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Gravar.Click Dim SQLComando As String Try '<Códigos que podem gerar erro> If Len(txt_CodCli.Text) > 0 Then 'alteração SQLComando = "UPDATE Clientes SET Nome='" & cmb_Nome.Text & "', Endereco ='" & txt_Endereco.Text & "', Fone =" & txt_Fone.Text & ", Celular =" & txt_Celular.Text & ", CPF =" & txt_Cpf.Text & ", CodCidade = " & cmb_Cidade.SelectedValue & " , Email ='" & txt_Email.Text & "', DataNasc ='" & CDate(txt_DataNasc.Text) & "' WHERE Codigo = '" & CLng(txt_CodCli.Text) & "'" Else ' inserção 'não insere o código porque é auto enumerável SQLComando = "INSERT INTO Clientes (Nome, Endereco, Fone, Celular, Cpf, CodCidade, Email, DataNasc) VALUES ( '" & cmb_Nome.Text & "', '" & txt_Endereco.Text & "', " & txt_Fone.Text & ", " & txt_Celular.Text & ", " & txt_Cpf.Text & ", " & cmb_Cidade.SelectedValue & ", '" & txt_Email.Text & "', '" & CDate(txt_DataNasc.Text) & "')" End If 'Cria o comando Dim ComandoCli As New OleDb.OleDbCommand(SQLComando, Conexao) Console.WriteLine(SQLComando) 'Executa o comando e grava no banco ComandoCli.ExecuteNonQuery() MessageBox.Show("Registro Gravado com sucesso!") CarregaCombos() InicializaControles() Catch Ex As Exception '<Rotina de tratamento de erro> ' MsgBox(Ex.Message) Console.WriteLine(Ex.Message) Finally '<Rotina que deve ser executada, independentemente da ocorrência de erro> End Try End Sub ----------------------------------------------------------------------------------------------------- Obrigada!
  7. Por favor, estou desesperada! Tenho que entregar na quarta um trabalho que é um sistema de locadora de veículos, mas estou enfrentando alguns problermas com erros... Abaixo seguem todas as funções do programa, comentei os erros. Se alguém puder ajudar por favor! Obrigada. //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 "); } } //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); } //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); } } //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!"); } } } } #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); }
  8. pvj

    Sistema de Locadora de Veiculos

    :wacko: Agora estou com outro problema. Na alteração gera o seguinte erro: "expected primary-expression before '[' token" Na linha: if(strcmp(nomecli = cliente[n].nome)==0) { Segue abaixo função altera_Clientes completa: #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); } }
  9. Gente!!! Estou precisando de ajuda! Tenho que fazer um sisteminha de gerenciamento de uma locadora de veículos em linguagem c, gravando em arquivos binário os cadastros e arquivo de texto os relatórios... Mas estou bem perdida e o prazo está se esgotando... Não consegui fazer alteração e exclusão de clientes nem de Automóveis, nem fiz o Gerencimento de Locações e também estou com dificuldade nos relatórios. Segue abaixo o Código da parte de alteração de clientes... e um relatório. Se alguém puder dar uma forcinha! #include "locadora.h" // Função de cadastro de clientes void Altera_Clientes() { char nomecli[50]; 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); if(nomecli = cliente[n].nome) { 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); } } /*--------------------------------------------------------------*/ #include "locadora.h" // Função Relatório de Automóveis void Relatorio_Automoveis() { printf("--------------------------------------------------------------------------------\n"); printf(" Relatorio de Automoveis\n"); printf("--------------------------------------------------------------------------------\n"); automovel *vetautomoveis; // vetor de automóveis int i, n; // numero de automóveis FILE *arq_automoveis; // abre o arquivo para leitura arq_automoveis=fopen("Cadastro_Automoveis.bin","r+b"); if(arq_automoveis==NULL) // se não existe o arquivo exibe mensagem printf("\nArquivo inexistente"); else { // se existe lê numero de automóveis fread(&n,sizeof(int),1,arq_automoveis); // aloca memória para o vetor vetautomoveis = (automovel *)malloc(sizeof(automovel)*n); // e le o vetor de automóveis fread(vetautomoveis,sizeof(automovel),n,arq_automoveis); } // exibe todos os automóveis do vetor for(i=0;i<n;i++) { printf("\n"); printf("\nAutomovel %d",i); printf("\nModelo: %s",vetautomoveis[i].modelo); printf("\nMarca: %d",vetautomoveis[i].marca); printf("\nPlaca: %d",vetautomoveis[i].placa); printf("\nCor: %d",vetautomoveis[i].cor); fwrite("Automovel ") fwrite("Modelo: ", sizeof(char), 20, arq_automoveis); fwrite(vetautomoveis[i].modelo, sizeof(char), 1, arq_automoveis); fwrite("Marca: ", sizeof(char), 20, arq_automoveis); fwrite(vetautomoveis[i].marca, sizeof(char), 1, arq_automoveis); fwrite("Placa: ", sizeof(char), 20, arq_automoveis); fwrite(vetautomoveis[i].placa, sizeof(char), 1, arq_automoveis); fwrite("Cor: ", sizeof(char), 20, arq_automoveis); fwrite(vetautomoveis[i].cor, sizeof(char), 1, arq_automoveis); } system("PAUSE"); // fecha o arquivo fclose(arq_automoveis); // libera memória do vetor free(vetautomoveis); } Obrigada
×
×
  • Criar Novo...