Kashmir96 0 Denunciar post Postado Abril 19, 2015 Boa noite pessoal então eu estou fazendo essa agenda e sou leigo com programação eu estava conseguindo fazer mas fiquei garrado na parte de localizar contato pois o codigo não compila, se tiver alguma boa alma caridosa de plantão que possa dar uma corrigida no que estou errando ficarei muito grato. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define AGENDA "agenda.dat" typedef struct numCel { char ddd [4]; char num [10]; } numCel; typedef struct numFixo { char dd [4]; char num [10]; } numFixo; typedef struct numComer { char dd [4]; char num [10]; } numComer; typedef struct endRes { char rua [200]; char num [5]; char complemento [20]; char bairro [50]; char cidade [50]; char estado [3]; char cep [9]; } endRes; typedef struct endEle { char mail [200]; char skype [200]; char facebook [200]; } endEle; typedef struct indentidade { char nome [20]; char sobrenome [50]; char apelido [20]; } identidade; typedef struct contato { identidade id; endEle el; endRes er; numCel nce; numFixo nf; numComer nco; } contato; int verifica(char nome[]) { fread(&contato,sizeof(agenda),1,arq); while(!feof(arq)) { if (strcmp(contato.id.nome,nome) == 0) { fseek(arq,-sizeof(agenda),SEEK_CUR); return 1; } fread(&contato,sizeof(agenda),1,arq); } return 0; } void loc_contato() { char nome [20]; FILE *arq = fopen("agenda.dat", "rb"); if( arq == NULL) { printf("Erro ao abrir arquivo"); } printf("==================================================\n"); printf("\t\t BUSCAR CONTATO\n"); printf("==================================================\n"); printf("\nNome: "); fflush(stdin); gets(nome); if (verifica(nome) == 1) { fread(&contato., sizeof(agenda), 1, arq); printf("\n\n\n"); printf("=========================================="); printf("CONTATOS | TELEFONE \n"); printf("=========================================="); printf("%-20s %8d\n", contato.id.nome,contato.nce.num); printf("==========================================") } else { printf("Contato nao existe"); } fclose(arq); } char menu() { system("color 70"); printf("\n=========================================="); printf("\n\t\t MENU"); printf("\n=========================================="); printf("\n\n [1] ADICIONAR CONTATO:"); printf("\n\n [2] BUSCAR CONTATO:"); printf("\n\n [3] LISTAR CONTATOS:"); printf("\n\n [4] DELETAR CONTATO:"); printf("\n\n [5] EDITAR CONTATO:"); printf("\n\n [6] SAIR:"); printf("\n\n=======================================\n"); printf("\n INFORME A OPCAO DESEJADA: "); } void ins_reg() { contato c; printf("==================================================\n"); printf("\t\t DIGITE OS DADOS "); printf("\n==================================================\n"); fflush(stdin); printf("\nNome: "); gets(c.id.nome); printf("\nSobrenome: "); gets(c.id.sobrenome); printf("\nApelido: \n"); gets(c.id.apelido); printf("==================================================\n"); printf("\nCelular: "); gets(c.nce.num); printf("\nDDD: "); gets(c.nce.ddd); printf("\nTel residencial: "); gets(c.nf.num); printf("\nDDD: "); gets(c.nf.dd); printf("\nTel Comercial: "); gets(c.nco.num); printf("\nDDD: "); gets(c.nco.dd); printf("\n==================================================\n"); printf("\nE-mail: "); gets(c.el.mail); printf("\nSkype: "); gets(c.el.skype); printf("\nFacebook: "); gets(c.el.facebook); printf("\n==================================================\n"); printf("\nRua: "); gets(c.er.rua); printf("\nBairro: "); gets(c.er.bairro); printf("\nCidade: "); gets(c.er.cidade); printf("\nEstado: "); gets(c.er.estado); printf("\nComplemento: "); gets(c.er.complemento); printf("\nCEP: "); gets(c.er.cep); printf("\n==================================================\n"); } void cria_arq(char *s) { FILE *arq = fopen(s, "wb"); fclose(arq); } void add_contato() { FILE *arq = fopen ("agenda.dat", "rb+"); if (arq == NULL) { cria_arq(AGENDA); arq = fopen (AGENDA, "rb+"); } ins_reg(); fwrite(&ins_reg, sizeof(contato), 1, arq); fclose(arq); } void sair() { printf("\n\n\n\n\n\n"); printf("\n=========================================================\n"); printf("\n\t\t SEU PROGRAMA FOI ENCERRADO\n"); printf("\n=========================================================\n"); printf("\n\n\n\n\n\n"); exit(0); } int main() { char vEscolha; while("true") { menu(); scanf("%c", &vEscolha); switch(vEscolha) { case '1' : system("cls"); add_contato(); getch(); break; case '2' : system("cls"); loc_contato(); getch(); break; case '3' : break; // não precisa por enquanto case '4' : break; // case '5' : break; // case '6' : system("cls"); sair(); getch(); break; default : break; } } system("PAUSE"); } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 20, 2015 o código não compila Leia as mensagens que o compilador mostra. Compartilhar este post Link para o post Compartilhar em outros sites
Kashmir96 0 Denunciar post Postado Abril 20, 2015 se tiver como apagar o topico pode apagar, consegui resolver. Compartilhar este post Link para o post Compartilhar em outros sites