Buscar

Algoritmo simulando Agenda Telefônica usando Map

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

exercicio_agenda_telefone/ExercicioAgenda.dev
[Project]
FileName=ExercicioAgenda.dev
Name=ExercicioAgenda
UnitCount=2
Type=1
Ver=1
ObjFiles=
Includes=
Libs=
PrivateResource=
ResourceIncludes=
MakeIncludes=
Compiler=
CppCompiler=
Linker=
IsCpp=1
Icon=
ExeOutput=
ObjectOutput=
OverrideOutput=0
OverrideOutputName=
HostApplication=
Folders=
CommandLine=
UseCustomMakefile=0
CustomMakefile=
IncludeVersionInfo=0
SupportXPThemes=0
CompilerSet=0
CompilerSettings=
[Unit1]
FileName=func_pessoa.h
CompileCpp=1
Folder=ExercicioAgenda
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit2]
FileName=main.cpp
CompileCpp=1
Folder=ExercicioAgenda
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[VersionInfo]
Major=0
Minor=1
Release=1
Build=1
LanguageID=1033
CharsetID=1252
CompanyName=
FileVersion=
FileDescription=Developed using the Dev-C++ IDE
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=
AutoIncBuildNr=0
exercicio_agenda_telefone/ExercicioAgenda.exe
exercicio_agenda_telefone/func_pessoa.h
#include <string>
#include <iostream>
using namespace std;
//declaração da classe pessoa
class pessoa{
 private:
 string nome;
 public:
 pessoa();
 pessoa(string nome);
 ~pessoa();
 string getnome();
 void setnome(string nome);
 void imprimir();
};
//implementação das funções da classe pessoa
pessoa::pessoa(){}
pessoa::pessoa(string nome){
 this->nome = nome;
}
pessoa::~pessoa(){}
string pessoa::getnome(){
 return nome;
}
void pessoa::setnome(string nome){
 this->nome = nome;
}
//apresenta os dados da pessoa no console
void pessoa::imprimir(){
 cout << " Nome: " << nome << endl;
}
exercicio_agenda_telefone/main.cpp
#include <cstdlib>
#include <iostream>
#include <map>
#include "func_pessoa.h"
using namespace std;
void menu(){
 system("cls");//limpa os dados do console 
 cout << "---- ESCALACAO PROSPERA E.C ----\n\n" << endl;
 cout << "1 - Limpar escalacao" << endl;//
 cout << "2 - Inserir jogador" << endl;//
 cout << "3 - Remover pelo numero" << endl;
 cout << "4 - Remover pelo nome do jogador" << endl;
 cout << "5 - Localizar pelo numero" << endl;
 cout << "6 - Localizar pelo nome" << endl;
 cout << "7 - Listar jogadores" << endl;
 cout << "8 - SOBROU ESSA OPCAO" << endl;
 cout << "0 - Sair" << endl;
}
int main()
{
 
 
 int opcao,subst;
 bool nr_localizado;
 string num,nome;
 map<string,pessoa> map_escalacao;
 map<string,pessoa>::iterator it;
 
 
 while(true){
 menu();
 cout << "\nNumero da acao desejada:";
 cin >> opcao;
 
 //define a escolha do usuário
 if(opcao == 0){
 break;
 }else if(opcao == 1){
 map_escalacao.clear();
 }else if(opcao == 2){
 //solicita ao usuários os dados
 cout << "Nome: ";
 cin >> nome;
 cout << "Numero: ";
 cin >> num;
 
 //verifica se o número do telefone já existe no mapa
 it = map_escalacao.find(num);
 if(it != map_escalacao.end()){
 cout << "O numero informado ja esta na escalaçao" << endl;
 cout << "1 - Substituir\n2 - Cancelar\nOpcao: " << endl;
 cin >> subst;
 if(subst != 1){
 //o dado não será substituido 
 continue;
 }
 }
 
 //insere o dado no mapa, se existir, irá substituir
 map_escalacao[num] = pessoa(nome);
 
 }else if(opcao == 3){
 cout << "Desconvocar numero: ";
 cin >> num;
 int nrDel = map_escalacao.erase(num);
 if(nrDel > 0){
 cout << "O Jogador foi Desconvocado" << endl;
 }else{
 cout << "O Jogador não existe" << endl;
 }
 
 }else if(opcao == 4){
 cout << "Nome a desconvocar: ";
 cin >> nome;
 if(!map_escalacao.empty()){
 nr_localizado = false; 
 for(it = map_escalacao.begin(); it != map_escalacao.end(); it++){
 if(nome == it->second.getnome()){
 it->second.imprimir();
 cout << "Desconvocando..." << endl;
 map_escalacao.erase(it->first);
 nr_localizado = true;
 break;
 }
 }
 
 if(!nr_localizado){
 cout << "O " << nome << " nao foi localizado" << endl;
 }
 
 }else{
 cout << "A escalacao nao possui jogadores" << endl;
 }
 
 }else if(opcao == 5){
 cout << "Numero a localizar: ";
 cin >> num;
 it = map_escalacao.find(num);
 if(it != map_escalacao.end()){
 cout << "Dados jogador" << endl;
 it->second.imprimir(); 
 }else{
 cout << "Numero nao encontrado" << endl;
 }
 
 }else if(opcao == 6){
 cout << "Nome: ";
 cin >> nome;
 
 if(!map_escalacao.empty()){
 nr_localizado = false; 
 for(it = map_escalacao.begin(); it != map_escalacao.end(); it++){
 if(nome == it->second.getnome()){
 cout << "Dados jogador" << endl;
 it->second.imprimir();
 nr_localizado = true;
 break;
 }
 }
 
 if(!nr_localizado){
 cout << "O " << nome << " nao foi localizado" << endl;
 }
 }else{
 cout << "A escalacao nao possui jogadores convocados" << endl;
 }
 
 }else if(opcao == 7){
 if(!map_escalacao.empty()){
 cout << "Jogadores: " << endl;
 for(it = map_escalacao.begin(); it != map_escalacao.end(); it++){
 cout << "Numero: " << it->first;
 it->second.imprimir();
 cout << "" << endl;
 }
 
 }else{
 cout << "A escalacao nao possui jogadores" << endl;
 }
 
 }else if(opcao == 8){
 cout << "Numero: ";
 cin >> num;
 it = map_escalacao.find(num);
 if(it != map_escalacao.end()){
 cout << "Ligando para:" << endl;
 it->second.imprimir(); 
 }else{
 cout << "Numero nao encontrado" << endl;
 }
 
 }else{
 cout << "A opcao informada e invalida" << endl;
 }
 system("PAUSE");
 }//#end while
 
 return 0;
}
exercicio_agenda_telefone/main.o
exercicio_agenda_telefone/Makefile.win
# Project: ExercicioAgenda
# Makefile created by Dev-C++ 4.9.9.2
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
RES = 
OBJ = main.o $(RES)
LINKOBJ = main.o $(RES)
LIBS = -L"C:/Dev-Cpp/lib" 
INCS = -I"C:/Dev-Cpp/include" 
CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" 
BIN = ExercicioAgenda.exe
CXXFLAGS = $(CXXINCS) 
CFLAGS = $(INCS) 
RM = rm -f
.PHONY: all all-before all-after clean clean-custom
all: all-before ExercicioAgenda.exe all-after
clean: clean-custom
	${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o "ExercicioAgenda.exe"
$(LIBS)
main.o: main.cpp
	$(CPP) -c main.cpp -o main.o $(CXXFLAGS)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais