-
Posts
4 -
Cadastrado em
-
Última visita
Reputação
4-
@devair1010 Arquivo.h #include <iostream> #include <time.h> typedef unsigned int unsit; struct TempoCrescente { tm tm_Crescente{0}; time_t t_hour{0}; time_t t_min{0}; time_t t_sec{0}; //recebe horas, min e sec void Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec); }; struct TempoDecrescente { tm tm_Decrescente{0}; //recebe horas, min e sec void Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec); }; Arquivo.cpp #include <iostream> #include <time.h> #include "StructTemporizador.h" void TempoCrescente::Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec) { this->t_hour = t_hour; this->t_min = t_min; this->t_sec = t_sec; } void TempoDecrescente::Set_HoraMinSec(time_t t_hour, time_t t_min, time_t t_sec) { tm_Decrescente.tm_hour = t_hour; tm_Decrescente.tm_min = t_min; tm_Decrescente.tm_sec = t_sec; //Verificar se os campos estão armazenando os valores passados std::cout << tm_Decrescente.tm_hour << "|" << tm_Decrescente.tm_min << "|" << tm_Decrescente.tm_sec; } Agora estou com problema no codeBlockskkkkkkkkkk, faz um tempo que não mexo. No VScode roda normal, só falta a parte do playsound, já no codeBlocks está dando erro. Volver se consigo resolver. Acabei de corrigir, o problema era porque eu tinha colocado o arquivo.cpp direto no arquivo_main.cpp. Agora vou colocar escolher as músicas para colocar no código.
-
Quero saber como faço para usa a função PlaySound no VScode para tocar sons, até agora não achei nem um vídeo explicando para fazer isso. Poderiam me explicar passo a passo e caso tiverem algum pdf sobre o assunto já ajudaria muito. Sou iniciante e estou aprendendo mexer no VScode. Caso precisar do código completo só pedir. //Arquivo main() #include <iostream> #include <windows.h> #include <string> #include <cstdlib> #include "StructTemporizador.cpp" void Temporizador(); void TemporizadorCrescente(); void TemporizadorDecrescente(); void EntradaUsuario(time_t * pInput); void ContagemCrescente(TempoCrescente * tc_Crescente); void ContagemDecrescente(TempoDecrescente * tc_Decrescente); void ContagemDecrescente(TempoDecrescente * tc_Decrescente); bool ExibirTimeCrescenteb(TempoCrescente * tc_Crescente); void ExibirTimeDecrescenteb(TempoDecrescente * tc_Crescente); int MusicaAlarme(); void PlayMusica(int musica); int MusicaAlarme() { int musica{0}; std::cout << "\nMusicas" << std::endl; std::cout << "Escolha uma dessas musicas para tocar no alarme" << std::endl; std::cout << "beep beep[1]"; std::cout << "\nsirene[2]"; std::cout << "\nPássaro gritando[3]"; std::cout << "\nDigite "; std::cin >> musica; switch(abs(musica)) { case 1: return 1; break; case 2: return 2; break; case 3: return 3; break; } return 0; } void PlayMusica(int musica) { switch(musica) { case 1: std::cout << "Musica 1" << std::endl; break; case 2: std::cout << "Musica 2" << std::endl; break; case 3: std::cout << "Musica " << std::endl; break; } } bool ExibirTimeCrescenteb(TempoCrescente * tc_Crescente) { time_t t_hour = tc_Crescente->tm_Crescente.tm_hour; time_t t_min = tc_Crescente->tm_Crescente.tm_min; time_t t_sec = tc_Crescente->tm_Crescente.tm_sec; if((t_hour == tc_Crescente->t_hour) && (t_min == tc_Crescente->t_min) && (t_sec == tc_Crescente->t_sec)){ std::cout << t_hour << "|" << t_min << "|" << t_sec; return false; }else{ std::cout << t_hour << "|" << t_min << "|" << t_sec << std::endl; return true; } } void ExibirTimeDecrescenteb(TempoDecrescente *tc_Decrescente) { time_t t_hour = tc_Decrescente->tm_Decrescente.tm_hour; time_t t_min = tc_Decrescente->tm_Decrescente.tm_min; time_t t_sec = tc_Decrescente->tm_Decrescente.tm_sec; std::cout << t_hour << "|" << t_min << "|" << t_sec << std::endl; } void EntradaUsuario(time_t *pInput) { int hora{0}, minutos{0}, segundos{0}; std::cout << "\nHora: "; std::cin >> hora; std::cout << "\nMinuto: "; std::cin >> minutos; std::cout << "\nSegundos: "; std::cin >> segundos; pInput[0] = (time_t)abs(hora); pInput[1] = (time_t)abs(minutos); pInput[2] = (time_t)abs(segundos); } void ContagemCrescente(TempoCrescente * tc_Crescente) { bool b_continua = true; while(b_continua) { system("CLS"); b_continua = ExibirTimeCrescenteb(tc_Crescente); Sleep(1000); if(tc_Crescente->tm_Crescente.tm_sec < 60){ tc_Crescente->tm_Crescente.tm_sec++; }else{ if(tc_Crescente->tm_Crescente.tm_min < 60){ tc_Crescente->tm_Crescente.tm_min++; }else{ if(tc_Crescente->tm_Crescente.tm_hour < 24){ tc_Crescente->tm_Crescente.tm_hour++; tc_Crescente->tm_Crescente.tm_min = 0; } } tc_Crescente->tm_Crescente.tm_sec = 0; } } } void ContagemDecrescente(TempoDecrescente *td_Decrescente) { bool b_continua = true; while(b_continua) { system("CLS"); ExibirTimeDecrescenteb(td_Decrescente); Sleep(1000); if(td_Decrescente->tm_Decrescente.tm_sec > 0){ td_Decrescente->tm_Decrescente.tm_sec--; }else{ td_Decrescente->tm_Decrescente.tm_sec = 60; if(td_Decrescente->tm_Decrescente.tm_min >0){ td_Decrescente->tm_Decrescente.tm_min--; }else{ td_Decrescente->tm_Decrescente.tm_min = 60; if(td_Decrescente->tm_Decrescente.tm_hour > 0){ td_Decrescente->tm_Decrescente.tm_hour--; }else{ b_continua = false; break; } } } } } void TemporizadorCrescente() { TempoCrescente tc_Crescente; time_t * pInput{nullptr}; pInput = static_cast<time_t*>(calloc(3, sizeof(time_t))); EntradaUsuario(pInput); int musica = MusicaAlarme();//para o susário escolhar uma música que vai tocar ao final do temporizador tc_Crescente.Set_HoraMinSec(pInput[0], pInput[1], pInput[2]); ContagemCrescente(&tc_Crescente); PlayMusica(musica); free(pInput); } void TemporizadorDecrescente() { TempoDecrescente td_Decrescente; time_t * pInput{nullptr}; pInput = static_cast<time_t*>(calloc(3, sizeof(time_t))); EntradaUsuario(pInput); td_Decrescente.Set_HoraMinSec(pInput[0], pInput[1], pInput[2]); ContagemDecrescente(&td_Decrescente); } void Texto() { std::string texto {"\tTEMPORIZADOR"}; std::cout << std::string(30,'*').c_str() << std::endl; std::cout << texto.c_str() << std::endl; std::cout << std::string(30,'*').c_str() << std::endl; } void Temporizador() { int escolha{0}; Texto(); std::cout << "\tescolha " << std::endl; std::cout << "Temporizador Crescente[1]"; std::cout << "\nTemporizador Decrescente[2]"; std::cout << "\nDigite: "; std::cin >> escolha; switch(escolha) { case 1: TemporizadorCrescente(); break; case 2: TemporizadorDecrescente(); break; } }; int main() { Temporizador(); std::cin.ignore(); std::cin.get(); return 0; }
-
@Rieidi valeu, tinha esquecido de retirar o c_str() hehehehe. A variável do tipo string sexo_funcionario era um vetor por isso usei o c_str().
-
Bom dia, sou iniciante em programação. Estou com problemas com a comparação de string na função método, ele tem uma estrutura condicional que vai comparar o sexo do funcionário. Se sexo do funcionário digitado for igual a "masculino" então execute as seguintes instruções. Se não se sexo funcionário digitado for igual a "feminino" então execute as seguintes instruções. #include <iostream> //#include <cstdlib>//para usar a função método std::atof() para realizar a conversão de string para float #include <string> #include <vector> //using namespace std; class cFuncionario { private: //inícioVetorDinâmico //std::string aListaNomeSalarioSexo[10][3]; std::vector<std::string>vNome_Funcionario; std::vector<std::string>vSexo_Funcionario; std::vector<int>vSalario; //Variáveis Membros int sexo_masculino{0}; int sexo_feminino{0}; float tot_salario_Homens{0.0}; float tot_salario_Mulheres{0.0}; public: void SetListaFuncionariSalarioSexo(std::string nome, int salario, std::string sexo); void SetSexoFouM(std::string sexo_funcionario, float salario); float GetTotalSalarioPagoHomens(); float GetTotalSalarioPagoMulheres(); int GetQuantidadeDeMulheres(); int GetQuantidadeDeHomens(); void Lista(); void LiberandoMemoria(); }; void cFuncionario::LiberandoMemoria() { /* while((vNome_Funcionario.empty() != NULL ) && (vSexo_Funcionario.empty() != NULL) && (vSalario.empty() != NULL)) */ while((!vNome_Funcionario.empty()) || (!vSexo_Funcionario.empty()) || (!vSalario.empty())) { vNome_Funcionario.erase(vNome_Funcionario.begin(), vNome_Funcionario.begin() + vNome_Funcionario.size()); vSexo_Funcionario.erase(vSexo_Funcionario.begin(), vSexo_Funcionario.begin() + vSexo_Funcionario.size()); vSalario.erase(vSalario.begin(), vSalario.begin() + vSalario.size()); } std::cout << "\n\n" <<vNome_Funcionario.size() << vSalario.size() << vSexo_Funcionario.size(); std::cout << "\n\nMemoria heap limpa\n"; } void cFuncionario::Lista() { int i = 0; std::string texto{"\nLista nome e salario dos funcionarios"}; std::printf("%s", texto.c_str()); for(int i = 0; i < vNome_Funcionario.size();) { std::cout <<"Nome: " << vNome_Funcionario[i] <<" Salario: " <<vSalario[i]; i++; } } int cFuncionario::GetQuantidadeDeHomens() { return sexo_masculino; } int cFuncionario::GetQuantidadeDeMulheres() { return sexo_feminino; } void cFuncionario::SetListaFuncionariSalarioSexo(std::string novo_nome, int salario, std::string sexo) { vNome_Funcionario.push_back(novo_nome); vSexo_Funcionario.push_back(sexo); SetSexoFouM(sexo, salario); } void cFuncionario::SetSexoFouM(std::string sexo_funcionario, float salario) { if(sexo_funcionario == "masculino") { sexo_masculino++; std::cout << "M"<< " " << sexo_masculino << "\n\n"; vSalario.push_back(salario); tot_salario_Homens += salario; } //ELE NÃO ESTÁ EXECUNTANDO ESSA INSTRUÇÃO else if(sexo_funcionario.c_str() == "feminino") { sexo_feminino++; std::cout << "F" << " " << sexo_feminino << "\n\n"; vSalario.push_back(salario); tot_salario_Mulheres += salario; } sexo_funcionario = '\0'; } float cFuncionario::GetTotalSalarioPagoHomens() { return tot_salario_Homens; } float cFuncionario::GetTotalSalarioPagoMulheres() { return tot_salario_Mulheres; } int main() { cFuncionario oFuncionario; std::string aTexto[] = {"Digite o nome do funcionario", "\nDigite o salario: ", "\nDigite o sexo: "}; std::string sexoDoFuncionario; std::string nome; int salario{0}; int resposta{0}; for(int l = 0; l < 10; l++) { std::cout << aTexto[0].c_str(); //std::getline(std::cin, nome); std::cin >> nome; std::cout << aTexto[1].c_str(); std::cin >> salario; //std::getline(std::cin, salario); std::cout << aTexto[2].c_str(); std::cin >> sexoDoFuncionario; //std::getline(std::cin, entradaUsuario); oFuncionario.SetListaFuncionariSalarioSexo(nome, salario, sexoDoFuncionario); std::cin.ignore();//ignorar dados armazenado no buffer std::cout << "Deseja add mais um funcionario?(sim = 1 | !não = 0)"; std::cin >> resposta; if(resposta == 0) { break; } std::cin.ignore(); } std::cout << "total do salario pago aos homens: " << oFuncionario.GetTotalSalarioPagoHomens(); std::cout << "\ntotal do salairo pago as mulheres: " << oFuncionario.GetTotalSalarioPagoMulheres(); std::cout << "\nTotal de Mulheres: " << oFuncionario.GetQuantidadeDeMulheres(); std::cout << "\nTotal de Homens: " << oFuncionario.GetQuantidadeDeHomens(); oFuncionario.Lista(); oFuncionario.LiberandoMemoria(); //std::cout << std::string(30, '*') << "\n"; std::cin.ignore(); std::cout << "\nPressione Enter para sair..."; std::cin.get(); return 0; }
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
