Agenda Telefônica
Publicado por Emerson Lara (última atualização em 09/06/2011)
[ Hits: 9.539 ]
Homepage: python3-dicas.blogspot.com.br
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
#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!"; } } }
C --> Calculadora de equações de 2º grau explicada.
Calcular pagamento com a menor quantidade de cédulas possível
Mostra valores da tabela ascii
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta