Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos Pascoal

Agenda em C

Recommended Posts

Estou precisando resolver uma questão de prova, porém não estou conseguindo. Fazer uma agenda em C. Comecei a fazer a primeira parte, porém não está rodando. Segue abaixo o código...

#include<string.h>
#include<conio.h>
#include<stdio.h>

struct agenda {
       char nome[30];
       int tel;
       } registros[10];
       

void cadastrar();

main() {
       
       char op;
       int i;
       
       getchar();
       switch (op) {
              
              case '1': {
                   
                   for (i=0; i<=10; i++) {
                       cadastrar();
                       }
                       break;
                       }
              case '2': {
                   printf ("A agenda será finalizada!");
                   break;
                         }
                   }
      getch (); 
     

cadastrar(){
       
       int i=0;
                     
       while (i<=10){
             
       printf("\nNome:\n");
       gets(registros[i].nome);
       printf("\nTelefone\n");
       scanf("%d",&registros[i].tel);
       printf("\nCadastro Realizado com Sucesso!\n\n");
       break;
       i++;
       if (i>10)
       printf("\nA Agenda está cheia!\n");
                     }
                   }
                       
                   
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, um bloco feito faz um tempo que pode ser usado como exemplo..

dica: foi usado a função "goto". Para C isso não presta, então sugeriria trocar por funções.

 

 

//Proposta de trabalho:
//Elaborar um programa para manipular uma estrutura com: Nome[15]    Telefone      Celular
//Estrutura deve permitir armazenar até 100 contatos;
//Utilizar um menu de opções para permitir a inclusão, alteração, consulta, exclusão e listagem dos contatos cadastrados;
//Estas opções devem ser executadas através de funções que manipulam ponteiros para as estruturas;

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>


int main (void)
{
    struct registros
    { 
      char nome[15];
      unsigned long int tel;
      unsigned long int cel;
    };
    struct registros agenda[100];
    int a,b,c,d,e,f,g,h,i,j,x,y,z;
    
    a=0;
    
    for(x=1;x<=100;x++)
    {
      agenda[x].nome[0]='\0';
    }
    
    goto menu;
    
menu:
{
  printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",201,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,187);
  printf("\n%c  Digite o numero da opcao para a acao desejada  %c\n",186,186);
  printf("%c                                                 %c\n",186,186);
  printf("%c            1.Adicionar contatos                 %c\n",186,186);
  printf("%c            2.Editar contato                     %c\n",186,186);
  printf("%c            3.Consultar contato                  %c\n",186,186);
  printf("%c            4.Apagar contato                     %c\n",186,186);
  printf("%c            5.Listar contato                     %c\n",186,186);
  printf("%c                                                 %c\n",186,186);
  printf("%c   Ou qualquer outra tecla para sair da agenda   %c\n",186,186);
  printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",200,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,188);
   
  x=getch();
  switch(x)
  {
      case 49:
          system("cls");
          goto adicionar;
      break;
      case 50:
          system("cls");
          goto editar;
      break;
      case 51:
          system("cls");
          goto consultar;
      break;
      case 52:
          system("cls");
          goto apagar;
      break;
      case 53:
          system("cls");
          goto listar;
      break;
      default: exit(0);  
  }
}

adicionar:
{ 
  for(a=1;a<=100;a++)
  { if(agenda[a].nome[0]=='\0'){break;}}
  if (a==101) goto menu;
  printf("Contato n.%d:\n\n",a);
  printf("Digite o nome: ");
  scanf("%s",agenda[a].nome);
  printf("Digite o numero do telefone: ");
  scanf("%lu",&agenda[a].tel);
  printf("Digite o numero do celular: ");
  scanf("%lu",&agenda[a].cel);
  printf("\n");
  printf("Deseja adicionar mais contatos?: [s] Sim [n] Nao\n");
         
  y=getch();
  system("cls");
  switch(y)
  {
    case 115: 
        goto adicionar;
    break;
    case 110: 
        goto menu;
    break;
    default: 
        system("cls");
        goto menu;
   }
}

editar:
{
  for(d=1;d<=100;d++)
  {
    if(agenda[d].nome[0]!='\0') 
    {                 
      printf("Contato n.%d\t",d);
      printf("Nome: %s\n",agenda[d].nome);
    }
  } 
  printf("\nEscolha o numero do contato: ");
  scanf("%d",&B);
  printf("\nNome: %s \nTelefone: %lu \nCelular: %lu\n",agenda[b].nome,agenda[b].tel,agenda[b].cel);
  printf("\nDeseja modificar esse contato? [s] Sim [n] Nao\n");
  printf("Para voltar ao menu pressione outra tecla.\n");
  
  z=getch();
  switch (z)
  {
    case 115: 
        system("cls"); 
        printf("Digite o nome: ");
        scanf("%s",agenda[b].nome);
        printf("Digite o numero do telefone: ");
        scanf("%d",&agenda[b].tel);
        printf("Digite o numero do celular: ");
        scanf("%lu",&agenda[b].cel);
        system("cls");
        goto menu;
   break;
   case 110:
       system("cls"); 
       goto editar;
   break;
   default: 
       system("cls");
       goto menu;
  } 
}

consultar:
{
  for(d=1;d<=100;d++)
  {
    if(agenda[d].nome[0]!='\0') 
    {                 
      printf("Contato n.%d\t",d);
      printf("Nome: %s\n",agenda[d].nome);
    }
  }  
  printf("\nDigite o numero do contato que deseja consultar: ");
  scanf("%d",&B);
  printf("\nNome: %s\nTelefone: %lu\nCelular: %lu\n\n",agenda[b].nome,agenda[b].tel,agenda[b].cel);
  printf("Deseja consultar outro contato? [s] Sim [n] Nao\n");
  printf("Ou qualquer outra tecla para voltar ao menu");

  c=getch();
  switch (c)
  {
     case 115:
          system("cls");
          goto consultar;
     break;
     case 110:
          system("cls");
          goto menu;
     break;
     default:
          system("cls");
          goto menu;
  } 
}

apagar:
{
  for(d=1;d<=100;d++)
  {
    if(agenda[d].nome[0]!='\0') 
    {                 
      printf("Contato n.%d\t",d);
      printf("Nome: %s\n",agenda[d].nome);
    }
  }  
  printf("Digite o numero do contato que deseja apagar: ");
  scanf("%d",&B);
  system("cls");
  printf("Nome: %s\nTelefone: %lu\nCelular: %lu\n\n",agenda[b].nome,agenda[b].tel,agenda[b].cel);
  printf("Deseja apagar esse contato? [s] Sim [n] Nao\n");
  printf("Pressione qualquer outra tecla para voltar ao menu\n");
  
  z=getch();
  switch (z)
  {
    case 115:
        for(d=b+1;d<=a;d++)
        { 
        strcpy(agenda[(d-1)].nome,agenda[d].nome);
        agenda[(d-1)].tel=agenda[d].tel;
        agenda[(d-1)].cel=agenda[d].cel;
        }
        agenda[(d-1)].nome[0]='\0';
        system("cls");
        goto menu;
    break;
    case 110:
         system("cls");
         goto apagar;
    break;
    default:
         system("cls");
         goto menu;
  }
}

listar:
{
  for(e=1;e<=20;e++)
  {
    printf("Contato n.:%3d - %s\n",e,agenda[e].nome);
  }
  printf("Para ir para a proxima pagina pressione 'n'\nPara ir para o menu pressione 'm'\nPara sair pressione qualquer outra tecla\n");
  f=getch();
  switch(f)
  {
    case 110:
        system("cls");
        for(e=21;e<=40;e++)
        {
          printf("Contato n.:%3d - %s\n",e,agenda[e].nome);
        }
        printf("Para ir para a proxima pagina pressione 'n'\nPara ir para o menu pressione 'm'\nPara sair pressione qualquer outra tecla");
        g=getch();
        switch(g)
        {
          case 110:
               system("cls");
               for(e=41;e<=60;e++)
               {
                 printf("Contato n.:%3d - %s\n",e,agenda[e].nome);
               }
               printf("Para ir para a proxima pagina pressione 'n'\nPara ir para o menu pressione 'm'\nPara sair pressione qualquer outra tecla\n");
               h=getch();
               switch(h)
               {
                 case 109:
                     system("cls");
                     goto menu;
                 break;
                 case 110:
                      system("cls");
                      for(e=61;e<=80;e++)
                      {
                        printf("Contato n.:%3d - %s\n",e,agenda[e].nome);
                      }
                      printf("Para ir para a proxima pagina pressione 'n'\nPara ir para o menu pressione 'm'\nPara sair pressione qualquer outra tecla\n");
                      i=getch();
                      switch(i)
                      {
                        case 109:
                            system("cls");
                            goto menu;
                        break;
                        case 110:
                             system("cls");
                             for(e=81;e<=100;e++)
                             {
                               printf("Contato n.:%3d - %s\n",e,agenda[e].nome);
                             }
                             printf("Para ir ao menu pressione 'm'\nPara sair pressione qualquer outra tecla\n");
                             j=getch();
                             switch(j)
                             {
                               case 109:
                                    system("cls");
                                    goto menu;
                               break;
                               default:
                                    exit(0);
                             }         
                        break;
                        default:
                             exit(0);
                        }       
                 break;
                 default:
                      exit(0);
               }  
           break;
           case 109:
               system("cls");
               goto menu;
           default:
               exit(0);     
    break;
        }
    case 109:
        system("cls");
        goto menu;
    break;
    default:
        exit(0);      
  }  
  
  printf("\nPara sair do programa pressione 'ESC'\nPara voltar ao menu pressione qualquer tecla\n");
  
  f=getch();
  switch(f)
  {
    case 27:
        exit(0);
    break;
    default:
        system("cls");
        goto menu;
  }          
}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.