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

Menssagem De Erro.


Vraptor

Pergunta

Estou precisando novamente da colaboração de alguém.

Não conssigo localizar o erro neste pequenino codigo.

// Cosmeticos.cpp :

//

#include "stdafx.h"

//#include <iostream>

using namespace std;

#include "Classes.h"

#include "Metodos.h"

int _tmain(int argc, _TCHAR* argv[])

{

//*Cria o Array de Objetos O_Cosmetico a partir da classe derivada

Cosmeticos1_1 O_Cosmeticos[3];

// Insere 3 Elementos

for(int Contador = 0; Contador < 3; Contador++)

O_Cosmeticos[Contador].Inclui();

for(int Contador = 0; Contador < 3; Contador++)

O_Cosmeticos[Contador].Exibe();

cout << "\n\n";

system("Pause");

return 0;

}

//ARQUIVO DE CLASSES

// Classe Base Cosmeticos1

class Cosmeticos1

{

private:

char Tipo_Produto[15];

char Tipo_Embalagem[10];

char Tipo_Aplicacao[10];

char Estado_Produto[10];

public:

~Cosmeticos1();

Cosmeticos1();

void Inclui();

void Exibe();

};

//---Classe Derivada Cosmeticos1_1

class Cosmeticos1_1 : public Cosmeticos1

{

private:

char Cor_Embalagem[10];

short int Peso;

short int Volume;

short int Graduacao_Alcool;

short int Nome_Perfume[15];

public:

void Inclui();

void Exibe();

};

//ARQUIVO DE METODOS

void Cosmeticos1::Inclui()

{

cout << "\nTipo de produto: "; cin >> Tipo_Produto;

cout << "\nTipo de embalagem: "; cin >> Tipo_Embalagem;

cout << "\nTipo de aplicacao: "; cin >> Tipo_Aplicacao;

cout << "\nEstado do Produto: "; cin >> Estado_Produto;

}

//----------

void Cosmeticos1::Exibe()

{

cout << "\nTipo de produto: " << Tipo_Produto;

cout << "\nTipo de embalagem: " << Tipo_Embalagem;

cout << "\nTipo de aplicacao: " << Tipo_Aplicacao;

cout << "\nEstado do Produto: " << Estado_Produto;

}

//----

Cosmeticos1::Cosmeticos1()

{

}

//----

Cosmeticos1::~Cosmeticos1()

{

}

//****************************

//Metodos Cosmeticos1_1

void Cosmeticos1_1::Inclui()

{

Cosmeticos1::Inclui();

cout << "\nCor da embalagem: "; cin >> Cor_Embalagem;

cout << "\nPeso: "; cin >> Peso;

cout << "\nVolume: "; cin >> Volume;

cout << "\nAlcool: "; cin >> Graduacao_Alcool;

cout << "\nNome do perfume: "; cin >> Nome_Perfume;

}

//-----------

void Cosmeticos1_1::Exibe()

{

Cosmeticos1::Exibe();

cout << "\nCor da embalagem: " << Cor_Embalagem;

cout << "\nPeso: " << Peso;

cout << "\nVolume: " << Volume;

cout << "\nAlcool: " << Graduacao_Alcool;

cout << "\nNome do perfume: " << Nome_Perfume;

}

Vejam a saida do compilador:

c:\Arquivos de programas\Microsoft Visual Studio .NET 2003\Vc7\include\istream(986): error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'wchar_t *' (or there is no acceptable conversion)

Aguem poderia dar uma dica ?

Abraços, Daniel

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest No arquivo stream:

// istream standard header

..

..

..

981 template<class _Elem,

982 class _Traits> inline

983 basic_istream<_Elem, _Traits>& __cdecl operator>>(

984 basic_istream<_Elem, _Traits>& _Istr, signed short * _Str)

985 { // extract a wide character NTBS

986 return (_Istr >> (wchar_t *)_Str); <==== O " bendito " ou A " bendita " !!

987 }

..

..

..

Abraços...Daniel...

Link para o comentário
Compartilhar em outros sites

  • 0

// istream standard header

..

..

..

981 template<class _Elem,

982 class _Traits> inline

983 basic_istream<_Elem, _Traits>& __cdecl operator>>(

984 basic_istream<_Elem, _Traits>& _Istr, signed short * _Str)

985 { // extract a wide character NTBS

986 return (_Istr >> (wchar_t *)_Str); <==== O " bendito " ou A " bendita " !!

987 }

..

..

..

Abraços...Daniel...

Link para o comentário
Compartilhar em outros sites

  • 0

Me explica como é que voçê consegue ???????????????????????????.

Tai caro colega:

//****************************

//Metodos Cosmeticos1_1

void Cosmeticos1_1::Inclui()

{

Cosmeticos1::Inclui();

cout << "\nCor da embalagem: "; cin >> Cor_Embalagem;

cout << "\nPeso: "; cin >> Peso;

cout << "\nVolume: "; cin >> Volume;

cout << "\nAlcool: "; cin >> Graduacao_Alcool;

cout << "\nNome do perfume: ";// cin >> Nome_Perfume; // Aqui a ORDINÁRIA !!!

}

O programa compila quando comento esta escumungada !!

Abraços, Daniel. :unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

Veja outra saida do compilador usando cin com o método getline:

//Metodos Cosmeticos1_1

void Cosmeticos1_1::Inclui()

{

Cosmeticos1::Inclui();

cout << "\nCor da embalagem: "; cin.getline(Cor_Embalagem, 10);

cout << "\nPeso: "; cin >> Peso;

cout << "\nVolume: "; cin >> Volume;

cout << "\nAlcool: "; cin >> Graduacao_Alcool;

cin.get();

cout << "\nNome do perfume: "; cin.getline(Nome_Perfume, 15); //<<***************

}

Saida do compilador:

c:\Documents and Settings\Fiorito\Meus documentos\Visual Studio Projects\Cosmeticos\Metodos.h(35): error C2664: 'std::basic_istream<_Elem,_Traits>::_Myt &std::basic_istream<_Elem,_Traits>::getline(_Elem *,std::streamsize)' : cannot convert parameter 1 from 'short [15]' to 'char *'

with

[

_Elem=char,

_Traits=std::char_traits<char>

]

Abraços , Daniel.

Eu não acredito que conssegui pagar esse mico !! :ph34r:

//---Classe Derivada Cosmeticos1_1

class Cosmeticos1_1 : public Cosmeticos1

{

private:

char Cor_Embalagem[10];

short int Peso;

short int Volume;

short int Graduacao_Alcool;

short int Nome_Perfume[15]; // Pelo amor de Deus, isso é para ser um caractere e não um inteiro curto !!

public:

void Inclui();

void Exibe();

};

Mais uma vez, valeu a dica de comentar o stream cin, valeu mesmo.

Vou verificar com mais atenção as classes no papel antes de passalas para o computador.

Abraços e fico muito agradecido.

Daniel. ;)

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...