Executando

Arquivos C+

Publicado em 01 de Julho de 2017 dias na TI e Programação

Sobre este projeto

Aberto

Adicione a opcão ao programa de gravar um novo contato telefônico na agenda, inclusive atualizando o arquivo agenda.txt


#include <iostream>
#include <string>
#include <fstream>
#define MAX_AGENDA 50

using namespace std;

struct Contato{
    string nome;
    int telefone;
    };

//funcao que busca nome na agenda e retorna numero de telefone
//se nao encontrar o nome, retorna -1
int buscaNumero(Contato lista[], int n, string nome){
    for (int i = 0; i < n; i++) {
        if(nome == lista[i].nome)
            return lista[i].telefone; //encerra imediatamente e retorna numero
    }
    return -1; //encerrou laco sem encontrar -> retorna -1
}

int main(){

    Contato agenda[MAX_AGENDA];
    int i,n, resultado;
    string buscar;
    ifstream db;
    
    db.open("agenda.txt");
        
    n = 0; //leitura do numero de contatos incluso na agenda
    if(db.is_open()){    
        while(!db.eof()){ //leitura do nome do i-esimo contato
            getline(db, agenda[n].nome);
            db >> agenda[n].telefone; //leitura do telefone do i-esimo contato
            db.ignore(); //ignore \n logo apos o numero de telefone
            n++;
        }
    }
    else
        return 1;

    cout << "Digite o nome a pesquisar ou s para sair: " << endl;
    getline(cin,buscar); //leitura do nome a ser procurado na agenda
    while(buscar!="s"){
        resultado  = buscaNumero(agenda, n, buscar);
        if(resultado<0)
            cout << "Contato nao encontrado\n";
        else
            cout << "Telefone: " << resultado << endl;
        cout << "\nDigite o nome a pesquisar ou s para sair: ";
        getline(cin, buscar); //leitura do nome a ser procurado na agenda
    }
    db.close();
    return 0;
}

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Experiência nesse tipo de projeto Sim (Eu já gerenciei esse tipo de projeto)
Funções necessárias Outro
Outras funções necessárias Adicionar uma pequena opção num programa C++ de implementação simples de Arquivos

Prazo de Entrega: Não estabelecido

Habilidades necessárias

C++

Outro projetos publicados por H. L.