lostgamex Postado Junho 11, 2011 Denunciar Share Postado Junho 11, 2011 (editado) Apresenta erro ao compilar , estou usando o code blocks ? Help!!!!/* Programa de cadastro de usuarios que utilizam serviços de rede. */ #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<ctype.h> #include<string.h> #define QUANTIDADE 50 int inicioLista = 0; int fimLista = -1; char caminhoArq[4056] = "clientes.txt"; struct cliente { char idCliente[50]; char nome[50]; char endereco [50]; char telefone [50]; char login [50]; char senha [50]; char email [50]; char limiteBanda [50]; char hostname [50]; char mac [50]; char ip [50]; char servico[50]; }lista[QUANTIDADE]; char apresentarMenu() { char escolha = ' '; printf("---------------------------------------\n"); printf(" CADASTRO DOS USUARIOS DA REDE \n"); printf("---------------------------------------\n"); printf("\nEscolha uma das opcoes:\n"); printf("\n[1] - Inserir Registro\n"); printf("\n[2] - Apresentar Registros\n"); printf("\n[6] - Excluir Registro\n"); printf("\n[7] - Gravar Registros em Arquivo\n"); printf("\n[8] - Carregar Registros do Arquivo\n"); printf("\n[9] - Configuracoes\n"); printf("\n[0] - Sair do programa\n"); escolha = getch(); fflush(stdin); return(escolha); } void inserirRegistro() { // inserção de valores na lista system("cls"); printf("---------------------------------------\n"); printf(" INSERIR REGISTRO\n"); printf("---------------------------------------\n"); char opcao = ' '; do { if((fimLista+1)<QUANTIDADE) { printf("\nRegistro %d -----------------------------\n", fimLista+1); printf("\nId Cliente: \t"); gets(lista[fimLista+1].idCliente); fflush(stdin); printf("\nNome Cliente: \t"); gets(lista[fimLista+1].nome); fflush(stdin); printf("\nEndereco: \t"); gets(lista[fimLista+1].endereco); fflush(stdin); printf("\nTelefone: \t"); gets(lista[fimLista+1].telefone); fflush(stdin); printf("\nLogin: \t"); gets(lista[fimLista+1].login); fflush(stdin); printf("\nSenha: \t"); gets(lista[fimLista+1].senha); fflush(stdin); printf("\nE-mail: \t"); gets(lista[fimLista+1].email); fflush(stdin); printf("\nLimite de Banda: \t"); gets(lista[fimLista+1].limiteBanda); fflush(stdin); printf("\nHostname: \t"); gets(lista[fimLista+1].hostname); fflush(stdin); printf("\nMAC: \t"); gets(lista[fimLista+1].mac); fflush(stdin); printf("\nIP: \t"); gets(lista[fimLista+1].ip); fflush(stdin); printf("\nServicos: \t"); gets(lista[fimLista+1].servico); fflush(stdin); fimLista++; do { printf("\nDeseja inserir outro registro? [S]im ou [N]ao.\n"); opcao = toupper(getch()); if((opcao != 'S')&&(opcao != 'N')) { printf("\nOpcao invalida!!!\n"); } } while((opcao != 'S')&&(opcao != 'N')); } else { printf("\nLista Cheia!!!\n"); opcao = 'N'; } } while(opcao != 'N'); //fim da inserção dos numeros na matriz system("pause"); } void apresentarRegistros() { //inserção de valores na lista system("cls"); printf("---------------------------------------\n"); printf(" APRESENTAR REGISTROS\n"); printf("---------------------------------------\n"); int indiceLista = 0; if(fimLista > -1) { for(indiceLista=0; indiceLista <= fimLista; indiceLista++) { printf("\n\n--------------------------------------------------"); printf("\n Id: %s",lista[indiceLista].idCliente); printf("\n Nome: %s \n",lista[indiceLista].nome); printf("\n Endereco: %s \n",lista[indiceLista].endereco); printf("\n Telefone: %s \n",lista[indiceLista].telefone); printf("\n Login: %s \n",lista[indiceLista].login); printf("\n Senha: %s \n",lista[indiceLista].senha); printf("\n E-mail: %s \n",lista[indiceLista].email); printf("\n Limite de Banda: %s \n",lista[indiceLista].limiteBanda); printf("\n Hostname: %s \n",lista[indiceLista].hostname); printf("\n Mac: %s \n",lista[indiceLista].mac); printf("\n IP: %s \n",lista[indiceLista].ip); printf("\n Servicos: %s \n",lista[indiceLista].servico); } } else { printf("\nLista vazia!!!\n"); } printf("\n"); system("pause"); } void excluirRegistro() { // exclusão de registro da lista system("cls"); printf("---------------------------------------\n"); printf(" EXCLUIR REGISTRO\n"); printf("---------------------------------------\n"); int indiceLista = 0; char opcao = ' '; do { if( fimLista > -1 ) { printf("\nDigite o numero de ordem da posicao que deseja excluir\n"); printf("ou 0 para apagar todos os registros:\n"); scanf("%d",&indiceLista); if(indiceLista == 0) { for(fimLista; fimLista>= indiceLista; fimLista--) { lista[indiceLista].idCliente[0] = ''; lista[indiceLista].nome[0] = ''; lista[indiceLista].endereco[0] = ''; lista[indiceLista].telefone[0] = ''; lista[indiceLista].login[0] = ''; lista[indiceLista].senha[0] = ''; lista[indiceLista].email[0] = ''; lista[indiceLista].limiteBanda[0] = ''; lista[indiceLista].hostname[0] = ''; lista[indiceLista].mac[0] = ''; lista[indiceLista].ip[0] = ''; lista[indiceLista].servico[0] = ''; } printf("\nTodos os registros apagados com sucesso!!!\n"); opcao = 'N'; } else { indiceLista--; if(( indiceLista <= fimLista )&&( indiceLista > -1 )) { if( indiceLista < fimLista ) { for(indiceLista; indiceLista < fimLista; indiceLista++) { strcpy(lista[indiceLista].idCliente,lista[indiceLista+1].idCliente); strcpy(lista[indiceLista].nome,lista[indiceLista+1].nome); strcpy(lista[indiceLista].endereco,lista[indiceLista+1].endereco); strcpy(lista[indiceLista].telefone,lista[indiceLista+1].telefone); strcpy(lista[indiceLista].login,lista[indiceLista+1].login); strcpy(lista[indiceLista].senha,lista[indiceLista+1].senha); strcpy(lista[indiceLista].email,lista[indiceLista+1].email); strcpy(lista[indiceLista].limiteBanda,lista[indiceLista+1].limiteBanda); strcpy(lista[indiceLista].hostname,lista[indiceLista+1].hostname); strcpy(lista[indiceLista].mac,lista[indiceLista+1].mac); strcpy(lista[indiceLista].ip,lista[indiceLista+1].ip); strcpy(lista[indiceLista].servico,lista[indiceLista+1].servico); } lista[indiceLista].idCliente[0] = ''; lista[indiceLista].nome[0] = ''; lista[indiceLista].endereco[0] = ''; lista[indiceLista].telefone[0] = ''; lista[indiceLista].login[0] = ''; lista[indiceLista].senha[0] = ''; lista[indiceLista].email[0] = ''; lista[indiceLista].limiteBanda[0] = ''; lista[indiceLista].hostname[0] = ''; lista[indiceLista].mac[0] = ''; lista[indiceLista].ip[0] = ''; lista[indiceLista].servico[0] = ''; fimLista--; } else { lista[indiceLista].idCliente[0] = ''; lista[indiceLista].nome[0] = ''; lista[indiceLista].endereco[0] = ''; lista[indiceLista].telefone[0] = ''; lista[indiceLista].login[0] = ''; lista[indiceLista].senha[0] = ''; lista[indiceLista].email[0] = ''; lista[indiceLista].limiteBanda[0] = ''; lista[indiceLista].hostname[0] = ''; lista[indiceLista].mac[0] = ''; lista[indiceLista].ip[0] = ''; lista[indiceLista].servico[0] = ''; fimLista--; } printf("\nRegistro excluido com sucesso!!!\n"); do { printf("\nDeseja excluir outro registro? [S]im ou [N]ao.\n"); opcao = toupper(getch()); if((opcao != 'S')&&(opcao != 'N')) { printf("\nOpcao invalida!!!\n"); } } while((opcao != 'S')&&(opcao != 'N')); } else { printf("\nRegistro inexistente!!!\n"); system("pause"); } } } else { printf("\nLista vazia!!!\n"); opcao = 'N'; } } while(opcao != 'N'); system("pause"); } void gravarRegistrosArquivo() { system("cls"); printf("---------------------------------------\n"); printf(" GRAVAR REGISTROS EM ARQUIVO\n"); printf("---------------------------------------\n"); int indiceLista = 0; FILE *ptrArq; if(fimLista > -1) { char temp[4096]; ptrArq = fopen(caminhoArq,"w"); if(!ptrArq) { printf("\nErro na abertura do arquivo! Finalizando o programa!\n"); system("pause"); exit(0); } printf("\nGravando"); for(indiceLista; indiceLista <= fimLista; indiceLista++) { sprintf(temp,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\r\n", lista[indiceLista].idCliente, lista[indiceLista].nome, lista[indiceLista].endereco, lista[indiceLista].telefone, lista[indiceLista].login, lista[indiceLista].senha, lista[indiceLista].email, lista[indiceLista].limiteBanda, lista[indiceLista].hostname, lista[indiceLista].mac, lista[indiceLista].ip, lista[indiceLista].servico); fputs(temp,ptrArq); printf("."); } fclose(ptrArq); } else { ptrArq = fopen(caminhoArq,"w"); if(!ptrArq) { printf("\nErro na abertura do arquivo! Finalizando o programa!\n"); system("pause"); exit(0); } fclose(ptrArq); } printf("\n"); system("pause"); } void carregarRegistrosArquivo() { system("cls"); if( fimLista > -1 ) { printf("---------------------------------------\n"); printf(" CARREGAR REGISTROS DO ARQUIVO\n"); printf("---------------------------------------\n"); for(fimLista; fimLista>= inicioLista; fimLista--) { lista[fimLista].idCliente[0] = ''; lista[fimLista].nome[0] = ''; lista[fimLista].endereco[0] = ''; lista[fimLista].telefone[0] = ''; lista[fimLista].login[0] = ''; lista[fimLista].senha[0] = ''; lista[fimLista].email[0] = ''; lista[fimLista].limiteBanda[0] = ''; lista[fimLista].hostname[0] = ''; lista[fimLista].mac[0] = ''; lista[fimLista].ip[0] = ''; lista[fimLista].servico[0] = ''; } } int ind; FILE *ptrArq; char temp[4096]; ptrArq = fopen(caminhoArq,"r"); if(!ptrArq) { ptrArq = fopen(caminhoArq,"clientes.txt"); if(!ptrArq) { printf("\nErro na abertura do arquivo! Finalizando o programa!\n"); system("pause"); exit(0); } } printf("\n Carregando registros!"); while( !feof(ptrArq) ) { ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].idCliente,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].nome,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].endereco,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].telefone,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].login,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].senha,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].email,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].limiteBanda,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].hostname,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].mac,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == ',' ) { temp[ind] = ''; strcpy(lista[fimLista+1].ip,temp); } ind = 0; temp[ind] = fgetc(ptrArq); while(( temp[ind] != ',' )&&( temp[ind] != EOF )) { ind++; temp[ind] = fgetc(ptrArq); } if( temp[ind] == '\n' ) { temp[ind] = ''; strcpy(lista[fimLista+1].servico,temp); fimLista++; printf("."); } } fclose(ptrArq); printf("\n"); system("pause"); } void manterConfiguracoes() { // mantem configuracoes gerais do programa system("cls"); printf("---------------------------------------\n"); printf(" CONFIGURACOES\n"); printf("---------------------------------------\n"); char opc = ' '; printf("\nEscolha uma das opcoes:\n"); printf("\n[1] - Alterar Caminho / Nome Arquivo\n"); opc = getch(); fflush(stdin); switch(opc) { case '1': alterarCaminhoArquivo(); break; default: system("cls"); printf("\nOpcao invalida!!!\n"); system("pause"); } } void alterarCaminhoArquivo() { // altera o cmanho e/ou nome do arquivo system("cls"); printf("---------------------------------------\n"); printf(" ALTERAR CAMINHO / NOME ARQUIVO\n"); printf("---------------------------------------\n"); printf("\nDigite o camnho/ nome do arquivo ou digite X para voltar às configuracoes originais:\n"); scanf("%s",caminhoArq); fflush(stdin); if(!(strcmp(caminhoArq,"x"))) { strcpy(caminhoArq,"clientes.txt"); printf("\nValor padrão restaurado!\n"); } else { printf("\nCaminho e/ou nome de arquivo alterados!\n"); } system("pause"); } int main() { char opcao = ' '; carregarRegistrosArquivo(); do { system("cls"); opcao = apresentarMenu(); switch(opcao) { case '1': inserirRegistro(); break; case '2': apresentarRegistros(); break; case '6': excluirRegistro(); break; case '7': gravarRegistrosArquivo(); break; case '8': carregarRegistrosArquivo(); break; case '9': manterConfiguracoes(); break; case '0': system("cls"); gravarRegistrosArquivo(); printf("\nSaindo do programa...\n"); system("pause"); break; default: system("cls"); printf("\nOpcao invalida!!!\n"); system("pause"); break; } } while(opcao != '0'); return 0; } Editado Junho 11, 2011 por lostgamex Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DCerberus Postado Junho 12, 2011 Denunciar Share Postado Junho 12, 2011 É ficou meio dificil de analisar o código assim.Para ajudar, informe o erro gerado pelo code blocks e declare suas funções APÓS a função main, ou crire um cabeçalho separado para isso. Senão, seu código fica "sujo" , fica meio ruim de achar erros como este seu.E uma duvida , esta linha :char caminhoArq[4056] = "clientes.txt";Você pretende, colocar a frase " clientes.txt" na string, ou deseja ABRIR o arquivo "clientes.txt" e jogar seus dados na string ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lostgamex
Apresenta erro ao compilar , estou usando o code blocks ?
Help!!!!
Editado por lostgamexAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.