Ir para conteúdo
Fórum Script Brasil
  • 0

cout imprime outro valor da declarada


willsonny

Pergunta

Boa tarde, estou bem no nível iniciante ainda, bom durante o meu estudo pedi para mostrar o valor da variável num2 declarada com 20, mas ela é imprimida com o valor 14, tentei também nos  compliladores online, alguém poderia me ajudar nessa dúvida.

obrigado

	#include <iostream>
#include<stdio.h>
#include<math.h>
#include<iomanip>
	using namespace std;
	int main(){
    int num=15;
    int num2=20;
    float pi=M_PI;
    printf("exemplos com printf \n\n");
    printf("o valor de num é: %07i",num);
    printf("\no valor de pi é: %.2f",pi);
    printf("\no valor de pi é: %07.2f",pi);
	    cout<<"\n\nExemplos com cout\n\n";
    cout.precision(3);
    cout<<"valor de pi com 3 digitos totais é: "<<pi<<endl;
    cout.precision(-1);
    cout<<"valor de num em hexadecimal é: "<<hex<< num<<endl;
    cout<<"valor de num2 com espacamento a esquerda: "<<setw(10)<< num2<<endl;
    return 0;
}
//-----------------------

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

O flag hex está atingindo além da variavel num. Ele está atuando sobre num2 também, e por isso mostra coisas "estranhas", o programa só está fazendo o que você mandou.
você está pensando que flag hex tem efeito somente sobre uma variavel(num) porem ele terá efeito em todas as seguintes variaveis até encontrar std::cout.unsetf (std::ios::basefield);

Em outras palavras... o programa está mostrando ou tantando mostrar num2 como hex. >_<
 

#include <iostream>
#include<stdio.h>
#include<math.h>
#include<iomanip>
using namespace std;
int main() {
    int num = 15;
    int num2 = 20;
    float pi = M_PI;
    printf ( "exemplos com printf \n\n" );
    printf ( "o valor de num é: %07i", num );
    printf ( "\no valor de pi é: %.2f", pi );
    printf ( "\no valor de pi é: %07.2f", pi );
    cout << "\n\nExemplos com cout\n\n";
    cout.precision ( 3 );
    cout << "valor de pi com 3 digitos totais é: " << pi << endl;
    cout.precision ( 1 );
    cout << "valor de num em hexadecimal é: " << hex << num << endl;
    std::cout.unsetf (std::ios::basefield); //Solução
    cout << "valor de num2 com espacamento a esquerda: " << setw ( 10 ) << num2 << endl;
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 04/01/2017 at 22:06, vangodp disse:

O flag hex está atingindo além da variavel num. Ele está atuando sobre num2 também, e por isso mostra coisas "estranhas", o programa só está fazendo o que você mandou.
você está pensando que flag hex tem efeito somente sobre uma variavel(num) porem ele terá efeito em todas as seguintes variaveis até encontrar std::cout.unsetf (std::ios::basefield);

Em outras palavras... o programa está mostrando ou tantando mostrar num2 como hex. >_<
 


#include <iostream>
#include<stdio.h>
#include<math.h>
#include<iomanip>
using namespace std;
int main() {
    int num = 15;
    int num2 = 20;
    float pi = M_PI;
    printf ( "exemplos com printf \n\n" );
    printf ( "o valor de num é: %07i", num );
    printf ( "\no valor de pi é: %.2f", pi );
    printf ( "\no valor de pi é: %07.2f", pi );
    cout << "\n\nExemplos com cout\n\n";
    cout.precision ( 3 );
    cout << "valor de pi com 3 digitos totais é: " << pi << endl;
    cout.precision ( 1 );
    cout << "valor de num em hexadecimal é: " << hex << num << endl;
    std::cout.unsetf (std::ios::basefield); //Solução
    cout << "valor de num2 com espacamento a esquerda: " << setw ( 10 ) << num2 << endl;
    return 0;
}

 

Obrigdo Vangodp, antes de ver sua solução eu tinha mudado a variável int num pra foat num, gambiarra rs, mas como disse sou bem iniciante mesmo, farei do seu jeito

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...