Agenda Telefônica

Publicado por Emerson Lara (última atualização em 09/06/2011)

[ Hits: 9.570 ]

Homepage: python3-dicas.blogspot.com.br

Download Agenda.cpp




Programinha simples para criação de uma agenda telefônica, onde usamos estruturas de repetição (for e do while) além de funções (void ....) e o "menu" (switch), além de utilizar uma matriz (vetor em 2 dimensões) para preenchimento dos dados

  



Esconder código-fonte

#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
/*
*******************************************************************************
* AGENDA COM 10 POSICOES                                                                  *
* AUTOR: EMERSON BRAGA LARA                                                                                       *
* ESTUDANTE DE ENGENHARIA DA COMPUTACAO - UNA                                                       *
* BELO HORIZONTE - MINAS GERAIS - BRASIL                                                                     *
*******************************************************************************
*/


void limpar_agenda (char nomes[10][50], char tels [10][14]);//FUNCAO PARA LIMPAR AS POSICOES DA AGENDA
void pesquisar (char nomes[10][50], char tels[10][14]);     //FUNCAO PARA PESQUISAR AS POSICOES DA AGENDA
void inserir (char nomes[10][50], char tels [10][14]);      //FUNCAO PARA INSERIR DADOS NUMA POSICAO NA AGENDA
void alterar (char nomes[10][50], char tels [10][14]);      //FUNCAO PARA ALTERAR DADOS EM UMA POSICAO DA AGENDA
void excluir (char nomes[10][50], char tels[10][14]);       //FUNCAO PARA EXCLUIR DADOS DE UMA POSICAO NA AGENDA
int menu(void);

int main()
{
    int opcao;
    char nomes[10][50], tels[10][14];
    limpar_agenda (nomes, tels);
    do {                                                    //LOOP PARA MENU
        opcao = menu();
        switch (opcao) {                                    //MENU PRINCIPAL 
                       case 1: pesquisar (nomes, tels);
                       break;
                       case 2: inserir (nomes, tels);
                       break;
                       case 3: alterar (nomes, tels);
                       break;
                       case 4: excluir (nomes, tels);
                       break;
                       case 9: limpar_agenda (nomes, tels);
                       break;
                       case 0: //sair
                       break;
                       default: cout<< "\a\n OPCAO INVALIDA! \n"; //SE O USUÁRIO INSERIR UMA OPÇÃO DIFERENTE DA PREVISTA ELE IMPRIME ESTA MENSAGEM
                       system("pause");
                       break;
                       }
        }while (opcao !=0);
        system("pause");
        return 0;
}    

void limpar_agenda (char nomes[10][50], char tels[10][14]) //ESTA FUNCAO GRAVA UM VALOR NULO NAS POSICOES DAS MATRIZES
{
     for (int posicao=0; posicao<10; posicao++)
     {
         nomes[posicao][0]= '{FONTE}'; //nome que estao na xº posicao recebe vazio no seu primeiro bit limpando o restante
         tels[posicao][0]= '{FONTE}'; //tels que estao na xº posicao recebe vazio no seu primeiro bit limpando o restante
     }
     cout<<"Agenda zerada! Insira novos dados.\n";
     system("pause");
}     

int menu(void)                       //MOSTRA NA TELA AS OPCOES PARA O USUARIO
{
    int op;
    system("cls"); //limpa tela
    cout<<"Menu de opcoes \n";
    cout<<"1 - Pesquisar opcoes \n";
    cout<<"2 - Inserir \n";
    cout<<"3 - alterar  \n";
    cout<<"4 - Excluir  \n";
    cout<<"9 - Limpar Agenda  \n";
    cout<<"0 - Sair \n";
    cout<<"\n\t Digite uma opcao:  \n";
    cin>>op;
    return op;
}
 
void pesquisar (char nomes [10][50], char tels[10][14]) //FUNCAO PARA PESQUISA DE DADOS GRAVADOS
{
         int posicao;
         system("cls");
         cout<<"Pesquisar posição\n";
         do{
                          cout<<"Digite a posicao (1 a 10):";
                          cin>> posicao;
                          } while (posicao<1||posicao>10);//caso o usuario insira um valor fora do intervalo de 1 a 10 ser-lhe-á requisitado digitar novamente
         posicao--;
         if (nomes[posicao][0]=='{FONTE}')// condicao para quando o usuario escolher uma posicao vazia
         {
                          cout<<"\a\n Posicao vazia!\n";
                          system ("pause");
         }
                                    
         else 
         {
              cout<<"Nome: " <<nomes[posicao]<<endl;
              cout<<"Telefone: "<<tels[posicao]<<endl;
         }
         system("pause");
}
void inserir (char nomes [10][50], char tels[10][14])//FUNCAO PARA INSERIR DADOS
{
     int posicao = 0;
     while (nomes[posicao][0]!='{FONTE}'&& posicao<9)
     {
           posicao++;
     }
     if (posicao<10&& nomes[posicao][0]=='{FONTE}')
     {
           cout<<"Nome:\n";
         scanf("%s",nomes[posicao]);
           
           cout<<"Telefone:\n";
           scanf("%s",tels[posicao]);
     }
     else 
     {
          cout<<"\a\nAgenda cheia!\n"; //caso o número de posicoes preenchidas ultrapasse 10 esta mensagem é exibida.
          system("pause");
     }

}   
void alterar (char nomes[10][50], char tels[10][14])//FUNCAO PARA ALTERAR DADOS GRAVADOS
{
     int posicao;
     char confirma;
     do
     {
          cout<<"Informe a posicao (1 a 10) para alterar:\n";
          cin>>posicao;
          }
     while (posicao<1||posicao>10);//caso o usuario insira um valor fora do intervalo de 1 a 10 ser-lhe-á requisitado digitar novamente
     posicao--;
     if (nomes[posicao][0]='{FONTE}')// condicao para quando o usuario escolher uma posicao vazia
     {
          cout<<"\a\n Posicao vazia.\n";
     }
          else
          {
              cout<<"Nome:"<<nomes[posicao]<<endl;
              cout<<"Deseja altera o nome?(s):";
              cin>>confirma;
              if (confirma =='s')
              {
                           cout<<"Nome: ";
                           cin>>nomes[posicao];
                           cout<<"Suuuuuucessoooooooo!!!\n\n";
              }
              cout<<"Telefone: "<<tels[posicao];
              cout<<"Deseja alterar o telefone?(s):";
              cin>>confirma;
              if (confirma =='s')
              
              {
                           cout<<"Telefone(99)9999-9999:\n";
                           cin>>tels[posicao];
                           cout<<"Telefone alterado com sucesso!\a\a\n";
              }
          }
     }
     
void excluir (char nomes[10][50], char tels[10][14])//FUNCAO PARA EXCLUIR DADOS
{
         int posicao;
         char confirma;
         do
         {
              cout<<"Deseja excluir qual posicao (0 a 10)?\n";
              cin>>posicao;
         } while(posicao<1||posicao>10);//caso o usuario insira um valor fora do intervalo de 1 a 10 ser-lhe-á requisitado digitar novamente
         posicao--;
         if (nomes[posicao][0]='{FONTE}')// condicao para quando o usuario escolher uma posicao vazia
            {
             cout<<"\a\n Posicao já está vazia.\n";
             system("pause");
            }
            else
               {
                    cout<<"Tem certeza que deseja apagar"<<nomes[posicao]<<"?\n"<<endl;//CONFIRMACAO PARA EXCLUSAO
                    cin>>confirma;
                    if (confirma =='s'||confirma=='S')//"S" maísculo e minúsculo serão aceitos.
                       {
                          nomes[posicao][0]='{FONTE}';
                          cout<<"Posicao excluida. Se nao podia, fudeu!";
                       }
               }            
}

Scripts recomendados

SIMPCalc

Divisores simultâneos de 2 números

Jogo do Labirinto no Terminal

Visualizador binário

entendendo o return...


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts