Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - -MicrO-

#1
Hola a todos yo por aca de nuevo  :xD

Esta vez con un proyecto en "MFC AppWizard (dll)"

el profesor no dios el ejercicio y hay que encontrar errores, luego de resolver el primero me tranque en el segundo error.

quisiera que le hechen un vistaso:


Complejo.cpp

Código (cpp) [Seleccionar]
//fichero main.cpp
#include "stdafx.h"
#include "complejo.h"

void main(void)
{
// declaración de números complejos
complejo c1(1.0, 1.0);
complejo c2(2.0, 2.0);
complejo c3;
c3.SetData(); //pide datos para c3
complejo c4(4.0);
// operadores aritméticos
complejo suma = c1.Suma(c2); //c1+c2
complejo resta = c1.Resta(c3); //c1-c3
complejo producto = c2.Multiplica(c4); //c2*c4
complejo cociente = c1.Cociente(c3); //c1/c3
cout << "Primer complejo: "; c1.Prt();
cout << "Segundo complejo: ";c2.Prt();
cout << "Tercer complejo: "; c3.Prt();
cout << "Suma: " ; suma.Prt();
cout << "Resta: " ; resta.Prt();
cout << "Producto: " ; producto.Prt();
cout << "Cociente: " ; cociente.Prt();
cout << "Ya he terminado." << endl;
}



StdAfx.cpp

Código (cpp) [Seleccionar]
// stdafx.cpp : source file that includes just the standard includes
// complejo.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

#include "complejo.h"




Complejo.h

Código (cpp) [Seleccionar]
// fichero complejo.h
#include <iostream.h>
class complejo
{
private:
double real;
double imag;
public:
// Constructores
complejo(); //defecto
complejo(double, double im=0.0);
// SetThings
void SetData(void);
void SetReal(double);
void SetImag(double);
// GetThings
double GetReal(void){return real;}
double GetImag(void){return imag;}
//Operaciones
complejo Suma(complejo c);
complejo Resta(complejo c);
complejo Multiplica(complejo c);
complejo Cociente(complejo c);
//Salida
void Prt(){ cout << "("<< real <<","<< imag<<"i)"<<endl; }
};


complejo::complejo() // constructor por defecto
{
real = 0.0; imag = 0.0;
}
// constructor general
complejo::complejo(double re,double im)
{
real = re; imag = im;
}
// función miembro SetData()
void complejo::SetData(void)
{
cout << "Parte real: ";
cin >> real;
cout << "Parte imaginaria: ";
cin >> imag;
}
void complejo::SetReal(double re)
{
real = re;
}
void complejo::SetImag(double im)
{
imag = im;
}
complejo complejo::Suma(complejo c)
{
complejo cs;
cs.real = real + c.real;
cs.imag = imag + c.imag;
return cs;
}
complejo complejo::Resta(complejo c)
{
complejo cr;
//escribir el código para restar
cr.real = real - c.real;
cr.imag = imag - c.imag;
return cr;
}
complejo complejo::Multiplica(complejo c)
{
complejo cm;
//escribir el código (a,b) * (c,d) = (ac-bd, ad+bc)
cm.real = real * c.real;
cm.imag = imag * c.imag;
return cm;
}
complejo complejo::Cociente(complejo c)
{
complejo cc;
//escribir (a,b)/(c,d) = ((ac+bd)/(c^2+d^2) , (bc-ad)/(c^2 + d^2 ))
cc.real = real / c.real;
cc.imag = imag / c.imag;
return cc;
}



StdAfx.h

Código (cpp) [Seleccionar]
// stdafx.h : include file for standard system include files,
//  or project specific include files that are used frequently, but
//      are changed infrequently
//

#if !defined(AFX_STDAFX_H__7C1B2F84_8EEA_4865_9808_AB1551CD54C1__INCLUDED_)
#define AFX_STDAFX_H__7C1B2F84_8EEA_4865_9808_AB1551CD54C1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers

#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions

#ifndef _AFX_NO_OLE_SUPPORT
#include <afxole.h>         // MFC OLE classes
#include <afxodlgs.h>       // MFC OLE dialog classes
#include <afxdisp.h>        // MFC Automation classes
#endif // _AFX_NO_OLE_SUPPORT


#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT

#ifndef _AFX_NO_DAO_SUPPORT
#include <afxdao.h> // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT

#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT



//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__7C1B2F84_8EEA_4865_9808_AB1551CD54C1__INCLUDED_)



Al Compilar tengo 0 Errores, pero al Ejecutar me da esto:

StdAfx.obj : error LNK2005: "public: __thiscall complejo::complejo(void)" (??0complejo@@QAE@XZ) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: __thiscall complejo::complejo(double,double)" (??0complejo@@QAE@NN@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: void __thiscall complejo::SetData(void)" (?SetData@complejo@@QAEXXZ) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: void __thiscall complejo::SetReal(double)" (?SetReal@complejo@@QAEXN@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: void __thiscall complejo::SetImag(double)" (?SetImag@complejo@@QAEXN@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: class complejo __thiscall complejo::Suma(class complejo)" (?Suma@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: class complejo __thiscall complejo::Resta(class complejo)" (?Resta@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: class complejo __thiscall complejo::Multiplica(class complejo)" (?Multiplica@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj
StdAfx.obj : error LNK2005: "public: class complejo __thiscall complejo::Cociente(class complejo)" (?Cociente@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj
StdAfx.obj : warning LNK4006: "public: __thiscall complejo::complejo(void)" (??0complejo@@QAE@XZ) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: __thiscall complejo::complejo(double,double)" (??0complejo@@QAE@NN@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: void __thiscall complejo::SetData(void)" (?SetData@complejo@@QAEXXZ) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: void __thiscall complejo::SetReal(double)" (?SetReal@complejo@@QAEXN@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: void __thiscall complejo::SetImag(double)" (?SetImag@complejo@@QAEXN@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: class complejo __thiscall complejo::Suma(class complejo)" (?Suma@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: class complejo __thiscall complejo::Resta(class complejo)" (?Resta@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: class complejo __thiscall complejo::Multiplica(class complejo)" (?Multiplica@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj; second definition ignored
StdAfx.obj : warning LNK4006: "public: class complejo __thiscall complejo::Cociente(class complejo)" (?Cociente@complejo@@QAE?AV1@V1@@Z) already defined in complejo.obj; second definition ignored
   Creating library Debug/complejo.lib and object Debug/complejo.exp
Debug/complejo.dll : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.



Tengo rato buscando el error y no doy, segun veo en foros gringos que leo, que el problema es en las cabezeras pero nada no doy  :-\


Salu2
#2
Hola a todos :D no soy nuevo en el foro por que me registre hace quien sabe cuanto xD. pero si es primera vez que posteo... estoy estudiando programacion y ya nos estan metiendo C++ pero hasta ahora empezando asi que soy noob en esto todavia  :xD

Para clases el professor pidio un programa para llevar de TB a GB,MB,KB...

y pues yo lo tengo asi:

#include <stdio.h>
#include <stdlib.h>
main()
{
int tb,gb,mb,kb,bytes;
printf("----> Programa Para Llevar de TB a GB,MB,KB,Bytes <---- \n");
printf("\n");
printf("Introduzca La Cantidad de TB: \n");
scanf("%d",&tb);
gb=tb*1024;
mb=gb*1024;
kb=mb*1024;
bytes=kb*1024;

printf("El Resultado en GB es= %d  \n",gb);
printf("El Resultado en MB es= %d  \n",mb);
printf("El Resultado en KB es= %f \n",kb);
printf("El Resultado en Bytes es= %f \n",bytes);
printf("\n");
system ("pause");
return 0;

}


El programa me da el resultado en GB y Mb pero KB y Bytes no me da, estoy casi seguro que es el "%f" pero no se por cual cambiar, recordar que ando empezando en esto  :¬¬

Aja el programa esta con prinft, scanft... asi nos enseño la profesora antigua, ahora el nuevo viene a decir que empezemos a usar :"#include <iostream>" y  el cout entre otros, que opinan de esto no es lo mismo?

Salu2 y Gracias  ;D