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ú

Mensajes - Beakman

#51
Tenés muchos errores.
Por qué pusiste un "punto y coma" después del main() ?
Por qué main() no tiene ningún tipo, y no retorna valor ?
Te faltó cerrar una llave.
Y ese if no funciona.

Lo arreglé un poco:
#include<stdio.h>

int main(){
int a,b,c,d;

do{
printf("Dame el nuemro de contenedores: ");
scanf("%d", &a);
}while( a < 0 );

do{
printf("Dame los litros del contenedor: ");
scanf("%d",&b);
}while( b < 0 );

do{
printf("Dame el número de casas: ");
scanf("%d",&c);
}while( c < 0 );

d = ( a*b ) / c;
printf( "La cantidad de litros por casa es %d\n", d );
return 0;
}
#52
Programación C/C++ / Re: del programa A al C
7 Abril 2012, 20:13 PM
Jaja. Nada contra "Blackzero", no lo había visto a él.
Simplemente no me gustaba esa frase.
No vi tu código David, igual me pareció un poco extenso para lo que querías hacer.
Un saludo.
#53
Programación C/C++ / Re: Problema con pow()
6 Abril 2012, 05:28 AM
Eso es común en gcc.

Sí estás compilando desde consola solo tenés que agregarle -lm:
gcc main.c -o main -lm
#54
Sí, si yo lo hago al revés me compila bien, es por el compilador que uses y la versión. Igual la forma correcta es cómo terminaste haciéndolo. Me alegro que lo hayas solucionado. Saludos !!
#55
Intentá hacer esto. Hace el siguiente cambio:
Código (cpp) [Seleccionar]
#include "mat.hpp"
// int mat::suma(int x=3 , int x2=7){ // aca no pongas el valor por defecto
int mat::suma(int x=3 , int x2 ){ // que te quede así.
   return x+x2;
}


Código (cpp) [Seleccionar]
class mat {
   private:
   public:
       int suma(int x, int x2 = 7); // aca SI poné el valor por defecto.
};


Estoy casi seguro de que así te va a servir. Intentalo. Y Por nada !!.
#56
Lo que decía era que hagas un constructor vacío, por ejemplo:
Código (cpp) [Seleccionar]
Menu::Menu( sf::RenderWindow *r ){
    // no hacer nada
}

Y lo llamás:
Código (cpp) [Seleccionar]
Menu Pausa( &app );

Lo compilás y si sale bien, le agregás de a uno los demás parámetros.



Tu código lo puse en un mismo archivo y me compiló bien. Lo puse así:
Código (cpp) [Seleccionar]
#include<iostream>
#include<SFML/Graphics.hpp>
#include<iostream>

class Subrayado{
public:
bool Init( sf::RenderWindow *r ){ return true; };
bool Create( int a,int b,int c,int d,int e,int f,int g){ return true; }
bool Set( bool a ){ return true; }
bool Opacity( int a ){ return true; }
};

class Sonido{

};

class Menu {
   private:
       sf::RenderWindow *_App;
       bool _On;
       sf::Shape _Rect;
       sf::Color _CD;
       int _NumberElement;//
       sf::Font _Font;
       bool _ElementType[10];// true dynamic, false static
       Subrayado _Sub;
       int _ElementClick;
       int _ElementAbove;
       sf::Image _Ibg;
       sf::Sprite _Sbg;
       bool _MenuType;//true image. false shader
       //Sonidos
       Sonido _S[2];
       bool _SoundOn;//true hay sonido, false no hay sonido
       int _ElementLoop;
   public:
       sf::String _Element[10];
       Menu(sf::RenderWindow *r,float x,float y,const sf::Unicode::Text &text,bool s);
       Menu(sf::RenderWindow *r,float x,float y,float w,float h,bool s);
       void Print();
       void SetState(bool x);//true or false
       bool GetState();//true or false
       void AddElement(const sf::Unicode::Text &Text,float size,bool t);//bool tyoe static or dynamic
       void SetPosition(int ele,float x,float y);
       bool Comprobar(float x,float y,bool &click);
       int GetClick();
       void SetClick(int i);
       void SetSound(const sf::Unicode::Text &text,int x);
};

Menu::Menu(sf::RenderWindow *r,float x,float y,float w,float h,bool s=false){
   _Sub.Init( r );
   _Sub.Create(255,255,255,0,0,0,0);
   _Sub.Set(false);
   _Sub.Opacity(60);
   _CD.r=0;
   _CD.g=0;
   _CD.b=0;
   _CD.a=230;
   _App=r;
   _Rect.AddPoint(x,y,_CD,_CD);
   _Rect.AddPoint(x+w,y,_CD,_CD);
   _Rect.AddPoint(x+w,y+h,_CD,_CD);
   _Rect.AddPoint(x,y+h,_CD,_CD);
   _Font.LoadFromFile("ace_futurism.ttf");
   _MenuType=false;
   _ElementClick= -1;
   _SoundOn=s;
   _ElementLoop=-1;
   _ElementAbove=-1;
};
Menu::Menu(sf::RenderWindow *r,float x,float y,const sf::Unicode::Text &text,bool s=false){
   _Sub.Init( r );
   _App=r;
   _Sub.Create(255,255,255,0,0,0,0);
   _Sub.Set(false);
   _Sub.Opacity(60);
   _Font.LoadFromFile("ace_futurism.ttf");
   _Ibg.LoadFromFile("img/logo.png");
   _Ibg.SetSmooth(false);
   _Sbg.SetImage(_Ibg);
   _Sbg.SetPosition(x,y);
   _MenuType=true;
   _ElementClick= -1;
   _SoundOn=s;
   _ElementLoop=-1;
   _ElementAbove=-1;
}

int main(){
sf::RenderWindow app( sf::VideoMode( 100, 100,32 ), "ejemplo" );

Menu Pausa(&app,0,0,290,350);
Menu Inicio(&app,0,0,"img/logo.png");

while( app.IsOpened() ){
sf::Event evento;
while( app.GetEvent( evento ) ){
if( evento.Type == sf::Event::Closed )app.Close();
}
app.Display();
}
return 0;
}


Le agregué las clases Sonido y Subrayado para no borrar la declaración de las variables y que quede igual a tu código.
Si estás separando el código en hpp y cpp tal vez tenés un problema en las cabeceras. Te puede faltar un include en los cpps por ejemplo.
#57
Antes que nada, estás enlazando bien estás librerías ?: sfml-graphics, sfml-window, sfml-system.

Al primer constructor:
Código (cpp) [Seleccionar]
Menu( sf::RenderWindow *r,float x,float y,const sf::Unicode::Text &text,bool s);

Lo llamás de esta forma:
Código (cpp) [Seleccionar]
Menu Inicio(&app,0,0,"img/logo.png");

Te falta un parámetro para bool s. ALgo así:
Código (cpp) [Seleccionar]
Menu Inicio(&app,0,0,"img/logo.png", true );

Pero tenés que poner más atención en la definición del método por si te olvidaste un parámetro. Tiene que ser así:
Código (cpp) [Seleccionar]

Menu::Menu( sf::RenderWindow *r,float x,float y,const sf::Unicode::Text &text,bool s){
     // código
}





Al segundo constructor:
Código (cpp) [Seleccionar]
Menu( sf::RenderWindow *r,float x,float y,float w,float h,bool s);

Lo llamás de esta forma:
Código (cpp) [Seleccionar]
Menu Pausa(&app,0,0,290,350);
Lo mismo que el anterior. Te falta un valor bool. Y tenés que fijarte en la definición.

No veo otro error en los constructores. Lo que deberías hacer es escribir un constructor sin parámetros y agregárselos( a los parámetros ) uno por uno mientras compilás.
#58
Programación C/C++ / Re: del programa A al C
4 Abril 2012, 21:24 PM
Bien. En ese caso tenés que hacer un menú. Se ingresa un número ( cin / scanf ) y de acuerdo a eso lo derivás a una función con switch o if else:

Código (cpp) [Seleccionar]

if( opcion == 1 ) {
    // llamada a la primer función
} else if ( opcion == 2 ) {
    // llamada a la segunda función
} else if ( opcion == 3 ) {
    // llamada a la tercer función
} else {
   // ninguna opción elegida
}
#59
Por nada, me alegro que lo hayas solucionado!.
Puede ser. Si existe el include en algún lugar y se declara la función no hay problema. No sé como estás trabajando, pero si estás usando un entorno de desarrollo ( code::blocks, VC .. ), tal vez hizo el trabajo por vos, evitando los errores y dándote warnings.
#60
CitarsendPacket3.c: In function 'CreateEthernetHeader':
sendPacket3.c:120: warning: implicit declaration of function 'ether_aton'
la función ether_aton está declarada antes de esa línea ?, hay algún prototipo ?

CitarsendPacket3.c: In function 'sendPacket':
sendPacket3.c:309: warning: pointer targets in assignment differ in signedness

En lugar de hacer esto:
Código (cpp) [Seleccionar]
unsigned char *data;
data="<html>HOLA</html>";


Hacé esto:
Código (cpp) [Seleccionar]
unsigned char data[] = "<html>HOLA</html>";

CitarsendPacket3.c:383: warning: implicit declaration of function 'close'
Lo mismo que el primero. Fijate donde está declarada la función close.

Citarmain.c: In function 'main':
main.c:16: warning: implicit declaration of function 'atoi'
Agregaste la librería stdlib.h ?