Ir ao conteúdo

C++ C++ Inserir o "$" automaticamente e ler so numero


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Postado

BOa tarde!

Em programa c++, como faço para o programa automaticamente inserir o "U$"?

Exemplo: "40+50 = U$ 90"

 

Como faz para o programa só receber números (1,2,3,4,5,6,7,8,9,0)

Exemplo: "Digite o valor do seu salario"

Obrigar o usuário a digitar um numero.

  • Curtir 1
Postado

@Malver Arkan    para o programa inserir o U$  você precisa colocar ele dentro do cout  ali entre as aspas, e depois dos <<  coloca a variável ou resultado ,  e para que o usuário só possa digitar esses números você precisa colocar  um laço de repetição e um if para verificar se foi digitado o valor certo ele passa , mas se não for o valor certo ele mostra uma mensagem  informando que digitou um número fora de faixa e peça para digitar outro  e o laço repita  para poder pegar outro número .

Postado

@Malver Arkan    para inserir o U$ automaticamente só assim mesmo ,  não conheço outro jeito ,  e pegar os números de zero até 9 , você pode usar o do / while  e dentro dele você pega o número usando o comando cin >>  e aí verifica se está no valor certo senão então repete o laço ,  faça seu código e poste aqui para vermos como está e em que podemos ajudar  .

Postado

Você poderia criar uma classe para o dinheiro e sobrecarregar o operador << para o stream de saída:

#include <iostream>  
#include <iomanip>

using namespace std;  
  
class Money
{  
    double dollars;  
public:  
    Money(double d)  
    {  
        dollars = d;  
    }  
    friend ostream& operator<<(ostream& os, const Money& mn);  
};  
  
ostream& operator<<(ostream& os, const Money& mn)  
{  
    os << "U$ " << fixed << setprecision(2) << mn.dollars;  
    return os; 
}  
  
int main()  
{  
    Money mn = 51.3712;  
    cout << mn << endl;
    
    return 0;
}

 

Mas acho que isso ainda é muito avançado para o que você está aprendendo...

  • Curtir 2
Postado
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <locale.h>
#include <iomanip> 

using namespace std;


int main()
{
    int funcionarios, horas;
    double valorhora, soma;    
    
    cout << "informe o numero de funcionarios:   ";
    cin >> funcionarios;
    
    cout << "Informe a quantida de de horas trabalhadas:   ";
    cin >> horas;
    
    cout << "Informe o valor por hora :   ";
    cin >> valorhora;
    
    
    cout << "Numero do funcionario =  "<<funcionarios << endl;
    
    soma= horas*valorhora;
    
    
    cout << "Seu salario final é = " << fixed << setprecision(2) << soma;

    return 0;
}


 

 

Quero que o "soma" já saia com o  U$. 

Neste caso ele só sai o valor

  • Amei 1
Postado

Para postar códigos sempre use o botão <> (Code) no topo do campo de respostas, assim mantém a formatação do seu código.

 

O modo mais simples é apenas alterar isto:

"Seu salario final é = "

Para isto:

"Seu salario final é = U$ "

 

 

(Do contrário teria que sobrecarregar o operador << como falei.)

  • Curtir 1
Postado

Você pode converter esse número para string:

#include <stdio.h>
#include <iostream>
#include <string>
#include <math.h>
#include <locale.h>
#include <iomanip>

using namespace std;

int main()
{
	int funcionarios, horas;
	double valorhora, soma;

	cout << "informe o numero de funcionarios: ";
	cin >> funcionarios;

	cout << "Informe a quantida de de horas trabalhadas: ";
	cin >> horas;

	cout << "Informe o valor por hora : ";
	cin >> valorhora;

	cout << "Numero do funcionario = "<<funcionarios << endl;

	soma = horas*valorhora;

	string salario = "U$ " + to_string(soma);

	cout << "Seu salario final é = " << salario << soma;

	return 0;
}

 

  • Curtir 1
  • Membro VIP
  • Solução
Postado

Olá.

 

@Malver Arkan, sobre:

  Em 14/05/2018 às 15:55, Malver Arkan disse:

Em programa c++, como faço para o programa automaticamente inserir o "U$"?

Expandir  

 

Então, tudo depende da necessidade, ou seja, para que seria esse U$? Se for apenas para exibir na hora de responder, basta seguir algumas das orientações já apresentadas.
obs.: se estiver se referindo ao Dólar, creio que o correto seria US$.

 

Percebe que o U$ não pertence ao número... assim como se estivesse trabalhando por exemplo com Quilômetros, não precisaria usar o KM no número em si. A unidade de medida fica separada.

 

Sobre:

  Em 14/05/2018 às 15:55, Malver Arkan disse:

Exemplo: "40+50 = U$ 90"

Expandir  


Tem que tomar cuidado na representação.. tecnicamente 40+50 = 90, esse U$ (ou US$) não entra na conta! Para "resultar" em U$ no final, teria que ser algo assim:

Exemplo: "U$40+U$50 = U$90"

Entende? ou teria alguma outra operação entre unidades, que por sua vez resultaria em U$. A unidade de medida não deveria surgir do nada...

Tipo, ao solicitar o "valor por hora", teria que especificar em qual moeda... algo como:

cout << "Informe o valor por hora (em U$): "; cin >> valorhora;

Ou seja, esse valor está em Dólar (o que o que seja), daí o resultado também será em Dólar (ou será em alguma outra unidade de medida que resultou de alguma operação)

Resumindo: o U$ ficaria no texto, não no número.

 

No aguardo.
 

 

 

  • Curtir 1
Postado

Olá...

Sua solução.:

#include <conio.h>
#include <stdio.h>
int main()
{
    int i,n,s=0;
    for(i=1; i<=2; i++){
    printf("Digite a U$ %d de 0 ate 99.: ",i);
    scanf("%d",&n);
    if((n >= 0) && (n <= 99))
     s = s + n;
     else
     {
         printf("apenas de U$: 0 ate 99\n");
         i--;
     }
    }
    printf("a soma de U$: %d Dolares.",s);
    getch();
}

Saida.:

Digite o U$ 1 de 0 ate 99.: 40

Digite o U$ 2 de 0 ate 99.: 50

O valor U$: 90 Dolares.

Obs.: valor acima ou abaixo ele retorna a digitar e obriga apenas de 0 ate 99.

 

Luís - espero ter ajudado e até...

 

  • Curtir 1
Postado

@LuisOPsum

  Em 24/05/2018 às 17:10, LuisOPsum disse:

Olá...

Sua solução.:

#include <conio.h>
#include <stdio.h>
int main()
{
    int i,n,s=0;
    for(i=1; i<=2; i++){
    printf("Digite a U$ %d de 0 ate 99.: ",i);
    scanf("%d",&n);
    if((n >= 0) && (n <= 99))
     s = s + n;
     else
     {
         printf("apenas de U$: 0 ate 99\n");
         i--;
     }
    }
    printf("a soma de U$: %d Dolares.",s);
    getch();
}

Saida.:

Digite o U$ 1 de 0 ate 99.: 40

Digite o U$ 2 de 0 ate 99.: 50

O valor U$: 90 Dolares.

Obs.: valor acima ou abaixo ele retorna a digitar e obriga apenas de 0 ate 99.

 

Luís - espero ter ajudado e até...

 

Expandir  

Isso não é C++, isso é C, o autor quer em C++

Postado
  Em 26/05/2018 às 04:52, cyer disse:

@LuisOPsum

Isso não é C++, isso é C, o autor quer em C++

Expandir  

Olá...

Bem diferente do que estou acostumado, mas legal saber disso.

//Linguagem C++

#include <cstdlib>

#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {      int n,s=0;

for(int i=1; i<=2; i++){

cont << "Digite a U$"<< i <<" de 0 ate 99.: ";

cin >> n;

if((n >= 0) && (n <= 99)) s = s + n; else {

cont << "apenas de U$: 0 ate 99" <<endl; i--; }

}

cont << "A soma de U$:"<< s <<" Dolares." << endl; system("PAUSE"); return EXIT_SUCCESS;

}

Saida.:

Digite o U$ 1 de 0 ate 99.: 40

Digite o U$ 2 de 0 ate 99.: 50

O valor U$: 90 Dolares.

Obs.: valor acima ou abaixo ele retorna a digitar e obriga apenas de 0 ate 99.

 

Luís - espero ter ajudado e até...

Desculpai a trapalhada...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...