Ir ao conteúdo
  • Cadastre-se

Luana1983

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Tudo que Luana1983 postou

  1. gente estava desenvolvendo esse codigo assistindo video aulas mas o professor parou de gravar antes de ensinar a Remover Registro. Podem me ajudar? ***************************************************************************************************************** #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <conio.h> #include <string.h> typedef struct data DATA; //Variavel data do tipo (struct Data) struct data{ int dia; int mes; int ano; }; typedef struct contato CONTATO; //Variavel contato do tipo (struct CONTATO) struct contato{ char nome[30]; char telefone[15]; DATA aniv; //Variavel ANIV do tipo (struct DATA) }; //prototipos das minhas funções void cabecalho(); void inputData(); void listar(); void pesquisar(); void anivMes(); void remover(); main(){ setlocale(LC_ALL, "Portuguese") ; cabecalho(); int opcao; do { cabecalho(); //Chamada da função cabeçaho //opções do menu printf("1 - Inserir\n"); printf("2 - Remover\n"); printf("3 - Pesquisar pelo nome\n"); printf("4 - Listar\n"); printf("5 - Listar por letra inicial\n"); printf("6 - Imprimir aniversariante do mês\n"); printf("7 - Sair\n\n"); printf("Escolha uma opção: "); scanf("%d", &opcao); //Opções do menu escolhido switch(opcao){ case 1: //Inserir inputData();//chamada da função break; case 2: //Remover break; case 3: //Perquizar pelo nome pesquisar();//chamada da função break; case 4: //Listar listar(); break; case 5: //Listar por letra inicial break; case 6: anivMes(); //inprimir aniversariantes do mês break; case 7: printf("Obrigada por sua visita!\n"); getch();//Programa para e espera usuario digitar alguma coisa break; default: printf("Opção inválida\n"); getch();//Programa para e espera usuario digitar alguma coisa break; } }while(opcao != 7); } void cabecalho(){//função cabeçalho system("cls"); system("cls");// limpar tela printf("----------------------------------------------\n"); printf("** AGENDA ELETRÔNICA **\n"); printf("----------------------------------------------\n"); } void inputData(){//Função inserir dados FILE* arquivo;//Criação do ponteiro CONTATO ctt; //variavel temporária tipo CONTATO(STRUCT) arquivo = fopen("agenda.txt", "ab");//cria e abre o arquiovo binario if (arquivo == NULL){//Se a abertura do arquivo retornar nula printf("Problemas na abertura do arquivo.\n");//Resposta ao usuario } else{ do{//iniciop estrutura de repetição cabecalho(); //limpo tela fflush(stdin);//limpar a entrada padrão do teclado printf ("Digite o nome do contato: "); gets (ctt.nome); printf ("Digite o nome telefone: "); gets (ctt.telefone); printf ("Digite o de nascimento separada por espaços:"); scanf("%d %d %d", &ctt.aniv.dia, &ctt.aniv.mes, &ctt.aniv.ano ); //gravação do contato (ctt) do tamanho do contato, em 1 linha, no aquivo fwrite(&ctt, sizeof(CONTATO),1,arquivo); printf("Deseja continuar (s/n)?: "); }while(getche() == 's'); fclose(arquivo);//fechar o arquivo } } void listar(){//função lista na tela os coontatos cadastrados FILE* arquivo;//Criação do ponteiro CONTATO ctt; //variavel temporária tipo CONTATO(STRUCT) cabecalho(); arquivo = fopen("agenda.txt", "rb");//cria e abre o arquiovo binario if (arquivo == NULL){//Se a abertura do arquivo retornar nula printf("Problemas na abertura do arquivo.\n");//Resposta ao usuario } else{ while(fread(&ctt,sizeof(CONTATO),1,arquivo) == 1){ printf("Nome: %s\n",ctt.nome); printf("Telefone: %s\n",ctt.telefone); printf("Aniversário: %d/%d/%d\n",ctt.aniv.dia,ctt.aniv.mes,ctt.aniv.ano); printf("----------------------------------------------------------\n\n"); } } fclose(arquivo); getch(); } void pesquisar(){ FILE* arquivo;//Criação do ponteiro CONTATO ctt; //variavel temporária tipo CONTATO(STRUCT) char nome[30]; cabecalho(); arquivo = fopen("agenda.txt", "rb");//abre para o arquiovo binario if (arquivo == NULL){//Se a abertura do arquivo retornar nula printf("Problemas na abertura do arquivo.\n");//Resposta ao usuario } else{ fflush(stdin);//limpar a entrada padrão do teclado printf("Digite um nome para pesquisar: "); gets(nome); while(fread(&ctt, sizeof(CONTATO),1,arquivo)==1){ if (strcmp (nome,ctt.nome)== 0){//comparação de strings printf("Nome: %s\n",ctt.nome); printf("Telefone: %s\n",ctt.telefone); printf("Aniversário: %d/%d/%d\n",ctt.aniv.dia,ctt.aniv.mes,ctt.aniv.ano); printf("----------------------------------------------------------\n\n"); } } } fclose(arquivo); getch(); } void anivMes(){ FILE* arquivo;//Criação do ponteiro CONTATO ctt; //variavel temporária tipo CONTATO(STRUCT) cabecalho(); arquivo = fopen("agenda.txt", "rb");//abre para leiruta o arquiovo binario if (arquivo == NULL){//Se a abertura do arquivo retornar nula printf("Problemas na abertura do arquivo.\n");//Resposta ao usuario } else{ int mes; printf("Digite o mês: "); scanf("%d", &mes); while(fread(&ctt, sizeof(CONTATO),1,arquivo)==1){ if (mes ==ctt.aniv.mes){ printf("Nome: %s\n",ctt.nome); printf("Telefone: %s\n",ctt.telefone); printf("Aniversário: %d/%d/%d\n",ctt.aniv.dia,ctt.aniv.mes,ctt.aniv.ano); printf("----------------------------------------------------------\n\n"); } } } fclose(arquivo); getch(); } void remover(){ //travei aqui, ja procurei solução em um monte de lugar, mas nao enconmtrei }

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!