Agenda Telefônica

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

[ Hits: 9.539 ]

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

C --> Calculadora de equações de 2º grau explicada.

Matrix no terminal.

Calcular pagamento com a menor quantidade de cédulas possível

Mostra valores da tabela ascii

Cálculo de média ponderada


  

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