Ir ao conteúdo
  • Cadastre-se

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


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

@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 .

Link para o comentário
Compartilhar em outros sites

@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  .

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

#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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá.

 

@Malver Arkan, sobre:

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

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

 

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 12:55, Malver Arkan disse:

Exemplo: "40+50 = U$ 90"


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 2
Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

@LuisOPsum

Em 24/05/2018 às 14: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é...

 

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

Link para o comentário
Compartilhar em outros sites

15 horas atrás, cyer disse:

@LuisOPsum

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

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...

Link para o comentário
Compartilhar em outros sites

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

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

×
×
  • Criar novo...