Ir ao conteúdo

Leonardo Baldi

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

1
  1. Oii galera então tava tentando criar uma agenda em C e fiz o seguinte programa que por algum motivo não roda. Vocês podem me dizer onde está errado e se possível como arrumar o problema? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <conio.h> struct Pessoa { char nome[30]; char email[30]; struct Telefone fone; char obs[50]; }; int main() { struct Pessoa contatos[100]; struct Pessoa aux; int opcao,op;/// VARIAVEL NA ESCOLHA DO MENU int indice=0;///VARIAVEL QUE CONTEM O VALOR DO INDICE DO VETOR int i,encontrou=0;///INDICA A QDE DE REGISTRO char pesq[30];///GUARDAR O NOME DA PESQUISA int cod; do { system("cls"); printf("---###--AGENDA DE CONTATOS--###---\n"); printf(" ( 1 ) CADASTRAR CONTATO \n"); printf(" ( 2 ) PESQUISAR UM CONTATO POR NOME \n"); printf(" ( 3 ) LISTAR TODOS OS CONTATOS \n"); printf(" ( 4 ) EXCLUIR UM CONTATO \n"); printf(" ( 5 ) SAIR \n"); printf("\n ESCOLHA UMA OPCAO:"); scanf("%d",&opcao); fflush(stdin); switch(opcao) { case 1: system("cls"); printf("\n--**** CADASTRO DE CONTATO ****--"); printf("\n CODIGO:%i\n",indice); printf("\n NOME E SOBRENOME:"); gets(contatos[indice].nome); printf("\n EMAIL:"); gets(contatos[indice].email); printf("\n TELEFONE:"); scanf("%d",&contatos[indice].fone); indice++; fflush(stdin); break; case 2: system("cls"); printf("\n--**** CONSULTAR UM CONTATO POR NOME ****--"); printf("\nPESQUISAR:"); gets(pesq); for(i=0; i<indice; i++) { if(strcmp(pesq,contatos[i].nome)==0){ printf("\n CODIGO:%i",i); printf("\n NOME E SOBRENOME:%s",contatos[i].nome); printf("\n EMAIL:%s",contatos[i].email); printf("\n TEL:%d",contatos[i].fone); encontrou = 1; } } if (encontrou==0) { printf("\n NENHUM REGISTRO ENCONTRADO!\n\n"); } printf("\n"); system("pause"); break; case 3: printf("--**** LISTAR TODOS OS CONTATOS ****-- \n"); for(i=0; i<indice; i++){ printf("\nCODIGO: %i",i); printf("\n NOME E SOBRENOME:%s",contatos[i].nome); printf("\n EMAIL:%s",contatos[i].email); printf("\n TEL:%d",contatos[i].fone); printf("\n--------------------------------\n"); } system("pause"); break; case 4: printf("\n--###----EXCLUIR CONTATO----###--\n"); printf("\nINFORMA O CODIGO:"); scanf("%i",&cod); printf("\n NOME E SOBRENOME:%s",contatos[cod].nome); printf("\n EMAIL:%s",contatos[cod].email); printf("\n TEL:%d",contatos[cod].fone); printf("\nDeseja EXCLUIR CONTATO? SIM(1)/NAO(2): "); scanf("%i",&i); if(i==1){ for(i=cod; i<indice; i++){ strcpy(contatos[i].nome,contatos[i+1].nome); strcpy(contatos[i].email,contatos[i+1].email); contatos[i].fone=contatos[i+1].fone; } indice--; } break; case 5: printf("\n------- SAIR-------"); getchar(); printf("\nadeus\n"); system("exit"); break; system("cls"); break; } }while(opcao!=5); return 0; }
  2. Opa tudo bem? Eu precisava criar uma agenda em C porém já tentei e não consigo. Se possível alguem pode me mandar o código com as seguintes especificações? Armazene seus contatos em um array (vetor) estático de tamanho definido, ou seja, precisa ser definida uma constante N de tamanho 100 (cem). O contato da agenda terá as seguintes informações: identificador, nome, sobrenome, telefone e e-mail. O contato deve ser um tipo estruturado (struct) que lhe permita armazenar essas informações; A agenda deve ter quatro funções: adicionar, pesquisar, listar e excluir. Alguma ideia por favor?
  3. Criei um programa, mas não consigo roda-lo. O erro parece ser no #include<conio.h>, mas ao remove-lo aparecem outros problemas. O trabalho era criar uma agenda usando struc com as funções de adicionar, pesquisar, listar e excluir. Se possivel por favor escreva o código da resposta, ainda sou bem iniciante em programar. #include<string.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> struct agenda { int id; char telefone[17]; char nome[30]; char sobrenome; char email; int tel; int vazio; //VAZIO = 0 e DISPONIVEL = 1. } registros[100]; void cadastrar(int id, int pos); void pesquisar(); int verifica_pos(); void zerar(); int verifica_id(int id); void excluir(); main() { zerar(); int op=0,retorno,codaux,posicao; while(op!=4){ printf("\n\n\t\t\t\t** AGENDA **\n\n\nMENU\n\n1 - Adicionar\n2 - Pesquisar\n3 - Listar\n4 - Excluir\n\nOpcao: "); scanf("%d",&op); fflush(stdin); switch(op) { case 1: { // CADASTRAR posicao=verifica_pos(); if (posicao!=-1) { printf("\nEntre com o identificador desejado\n"); scanf("%d",&codaux);fflush(stdin); retorno=verifica_id(codaux); if (retorno==1) cadastrar(codaux,posicao); else printf("\nIdentificador ja existente\n"); } else printf("\nA agenda esta cheia\n"); break; } case 2: { // PESQUISAR pesquisar(); break; } case 3: { listarContatos(); break; } case 4: { excluir(); break; } } } getch(); } void cadastrar(int id, int pos) { pos=verifica_pos(); registros[pos].id=id; printf("\nNome:\n"); gets(registros[pos].nome); printf("\nSobrenome:\n"); gets(registros[pos].sobrenome); printf("\nEmail:\n"); gets(registros[pos].email); printf("\nTelefone\n"); scanf("%d",&registros[pos].tel); registros[pos].vazio=1; printf("\nCadastro Realizado com Sucesso!\n\n"); } void pesquisar() { int cont=0, id; printf("\nEntre com o Identificador\n"); scanf("%d",&id); while(cont<=100) { if (registros[cont].id==id) { if (registros[cont].vazio==1) { printf("\nNome: %s",registros[cont].nome); printf("\nSobrenome: %s", registros[cont].sobrenome); printf("\nEmail: %s", registros[cont].email); printf("\nTelefone: %d",registros[cont].tel); break; } } cont++; if (cont>100) printf("\nCodigo nao encontrado\n"); } } int verifica_pos() { int cont=0; while (cont<=100) { if (registros[cont].vazio==0) return(cont); cont++; } return(-1); } void zerar() { int cont; for (cont=0;cont<=100;cont++) registros[cont].vazio=0; } int verifica_id(int id) { int cont=0; while (cont<=100) { if (registros[cont].id==id) return(0); cont++; } return(1); } void listarContatos() { int qtdeContatos; int i; int contagem = 1; for (i = 0; i < qtdeContatos; i++) { printf("\n\tContato nº: %d\n", contagem++); printf("\tIdentificador: %s\n", registros[i].id); printf("\tNome: %s\n", registros[i].nome); printf("\tSobrenome: %s\n", registros[i].sobrenome); printf("\tTelefone: %d\n", registros[i].tel); printf("\tEmail: %s\n", registros[i].email); } printf("\n\n"); } void excluir() { int id, cont=0; printf("\nEntre com o identificador do registro que deseja excluir\n"); scanf("%d",&id); while (cont<=100) { if (registros[cont].id==id) if (registros[cont].vazio==1) { registros[cont].vazio=0; printf("\nExclusao feita com sucesso\n"); break; } cont++; if (cont>100) printf("\nIdentificador nao encontrado\n"); } } system("pause");

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...