elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19
161  Programación / Programación C/C++ / Re: Nuevo en C++ en: 19 Agosto 2011, 15:30 pm
Queva el problema no esque no se pause el programa, al copilarlo me dice 1 failed. Tal vez pueda ser porque mi visual studio C++ es de prueba? es decir tiene 16 dias para que caduque y como es la version de prueba no tiene la libreria <cmath> no?

Aqui tienes el Visual Studio C++ versión completa (descarga oficial y gratuito): http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

Aqui otro compilador bastante bueno por si tienes algún problema con ese, Dev C++: http://dev-c.softonic.com/

Saludos.

PD: En el Visual Studio acuérdate de seleccionar el idioma español abajo a la derecha antes de darle a download.
162  Programación / Programación C/C++ / Re: Nuevo en C++ en: 18 Agosto 2011, 23:42 pm
No veo ningún error en tu aplicación y además ami me ejecuta correctamente. ¿Seguro que te da error el compilador?, ¿o es que se cierra la ventana nada mas ejecutar?, si es asi añade esto:

Citar
#include <iostream>
#include <cmath>
#include <conio.h> //Añadimos la libreria conio para usar getch.
using namespace std;

int main ()
{
    double x;
    x = sqrt (9);
    cout << x << endl;
   
    getch (); //Esto pausará la aplicación para poder ver el resultado.
    return 0;
}

Saludos.
163  Programación / Programación C/C++ / Re: Dudas varias en: 18 Agosto 2011, 23:33 pm
Totalmente acertada tu respuesta, ahora si me va bien, muchísimas gracias.

Creo que eso es todo por ahora. Nos vemos.  :)
164  Programación / Programación C/C++ / Re: Dudas varias en: 18 Agosto 2011, 18:50 pm
Muchas gracias, eso era exactamente lo que preguntaba, ya que me ha quedado claro. Aprovecho el mismo tema para preguntar sobre un ejercicio que no se ejecuta correctamente:

Citar
# include <iostream>
using namespace std;

class Juego
{
      public:
             unsigned int obtenerEdad () const;
             void modificarEdad (unsigned int edad);
            
             unsigned int obtenerPuntuacion () const;
             void modificarPuntuacion (unsigned short int puntuacion);
            
      private:
              unsigned int suEdad;
              unsigned short int suPuntuacion;
};

unsigned int Juego::obtenerEdad () const
{
                    return suEdad;
}

void Juego::modificarEdad (unsigned int edad)
{
                     edad = suEdad;
}

unsigned  int Juego::obtenerPuntuacion () const
{
                    return suPuntuacion;
}

void Juego::modificarPuntuacion (unsigned short int puntuacion)
{
                    puntuacion = suPuntuacion;
}

int main ()
{
    Juego FF;
    Juego KH;
    
    int x, x2, y, y2;
    
    cout << "Edad de FF: ";
    cin >> x;
    FF.modificarEdad(x);
    cout << "Puntuacion de FF: ";
    cin >> x2;
    FF.modificarPuntuacion(x2);
    cout << "Edad de KH: ";
    cin >> y;
    FF.modificarEdad(y);
    cout << "Puntuacion KH: ";
    cin >> y2;
    KH.modificarPuntuacion(y2);
    
    cout << "Esta es la edad de FF: " << FF.obtenerEdad();
    cout << "\nEsta es la puntuacion de FF: " << FF.obtenerPuntuacion();
    cout << "\nEsta es la edad de KH: " << KH.obtenerEdad();
    cout << "\nEsta es la puntuacion de KH: " << KH.obtenerPuntuacion();
    cout << endl;
    
    return 0;
}

Se compila y ejecuta sin darme ningún error, sin embargo después de introducir una edad y una puntuación para cada juego, me salen cifras raras al pedirlas en:

Citar
cout << "Esta es la edad de FF: " << FF.obtenerEdad();
cout << "\nEsta es la puntuacion de FF: " << FF.obtenerPuntuacion();
cout << "\nEsta es la edad de KH: " << KH.obtenerEdad();
cout << "\nEsta es la puntuacion de KH: " << KH.obtenerPuntuacion();
cout << endl;

No veo el fallo, en qué me he equivocado.

Gracias de nuevo, saludos.

EDITO: He vuelto a hacer otro programa muy similar, y me pasa exactamente lo mismo, al querer imprimir por pantalla los valores de las variables me salen números exagerados.
165  Programación / Programación C/C++ / Re: Dudas varias en: 18 Agosto 2011, 14:30 pm
Muchas gracias a los dos, ya lo veo más claro. Si no lo he entendido mal el namespace sirve para que el compilador no "confunda" un elemento propio de C++ (cout, cin, endl, etc.) con una variables que nosotros declaremos ¿cierto?.

Y sobre el punto 6, los atributos de una clase se ocultan para evitar modificaciones inesperadas por parte del cliente. Si es asi entonces lo he comprendido todo correctamente.

Con respecto al punto 2, a ver si con este ejemplo me explico mejor:

Citar
# include <iostream>
using namespace std;

int Funoperacion (short int x, short int y, int operacion);

int main ()
{
    int x, y, resultado;
    cout << "Escribe un numero: ";
    cin >> x;
    cout << "\nEscribe otro numero: ";
    cin >> y;
    
    resultado = Funoperacion (x, y);
    cout << "\nEste es el resultado: " << resultado << endl;
    
    return 0;
}

int Funoperacion (short int x, short int y, int operacion)
{
    operacion = x*y;
    return operacion;
}

Lo primero que he marcado en rojo es el prototipo de la función y como vemos dentro declaro 3 variables (short int x, short int y, int operacion). A continuación a las dos primeras variables les asigno un valor dentro de main (línea en rojo Nº2), sin embargo yo no quiero darle un valor a la tercera variable en main, sino en la definición de la función (línea en rojo Nº3).

Esto se le conoce como "no-inicializar una variable" según las guías que he consultado, pero no he encontrado la forma de hacerlo con una función, si no le asigno un valor a "int operacion" dentro de main, me salta error.

Espero haberme explicado bien. Gracias de nuevo, saludos.
166  Programación / Programación C/C++ / Dudas varias en: 18 Agosto 2011, 00:56 am
Buenas:

Después de varios días siguiendo los video-tutoriales de Jesus Conde y apoyándome en algunos libros que encontré, he llegado al final de las clases y objetos (o al menos por ahora se pasa a otro tema). Asi pues aqui comento las dudas que me han quedado:

1- En algunas guías añaden el siguiente código después de llamar a las librerías:

Código:
using namespace std;

Mientras que en otras pone lo siguiente dentro de main:

Código:
using std::cout;
using std::cin;
usgin std::endl;

¿Para qué es este código?, podría suponer que es para que funcione "cout, cin y endl", sin embargo eso va dentro de la librería "iostream", ¿entonces qué hace este código exactamente?.

2- En este ejemplo:

Código:
#include <iostream>
int myFunc(unsigned short int x);
int main()
{
    unsigned short int x, y;
    x = 7;
    y = myFunc(x);
    std::cout << "x: " << x << " y: " << y << "\n";
    return 0;
}

int myFunc(unsigned short int x)
{
    return (4*x);
}

Es obligatorio mandarle un valor a "unsigned short int x" desde:

Citar
y = myFunc(x);

Sé que este valor se puede modificar dentro de la función, ¿pero no hay ninguna forma de dejarlo vacio, es decir, no inicializarlo?.

3- He dado la herramienta "inline", sin embargo, ¿cuántas líneas como máximo puede tener una función para que el usar inline sea efectivo?, ya que según he leído llegado a un punto degrada el programa.

4- ¿El siguiente prototipo de función es considerado como inline por el compilador (como en el caso de las clases) o hay que añadirle la palabra "inline"?, mi duda surje debido a que se define la función en el prototipo:

Citar
#include <iostream>
using namespace std;

int funcion1 (int numero) { return numero * 5; }

int main ()

{
int x;
x = funcion1 (5);
cout << "Prueba.";

return 0;
}

5- Entre los ejercicios de un libro escrito por Pello Xabier Altadill Izura encontré este:

Código:
#include <iostream>
using namespace std;

int main ()
{
// Sacamos el tamaño de cada tipo
cout << "El tamaño del int es:\t\t" << sizeof(int) << " bytes.\n";
cout << "El tamaño del short es:\t" << sizeof(short int) << " bytes.\n";
cout << "El tamaño del long es:\t" << sizeof(long int) << " bytes.\n";
cout << "El tamaño del char es:\t\t" << sizeof(char) << " bytes.\n";
cout << "El tamaño del float es:\t\t" << sizeof(float) << " bytes.\n";
cout << "El tamaño del double es:\t" << sizeof(double) << " bytes.\n";
// Sacamos por salida standar un mensaje
cout << "Termino el programa\n";
return 0;
}

Me ha extrañado un poco el ver que el tamaño de "int," el de "long int" y el de "float" es de 4 bytes, si ocupan lo mismo ¿por qué uno puede almacenar números más altos que otro?.

6- Cuando creamos una clase declaramos algunas variables y funciones miembro como públicas y otras como privadas. Luego están las funciones "accessor", que sirven para poder acceder a un miembro privado atraves de uno público, hasta ahi lo entiendo. ¿Pero qué necesidad hay de declarar una variable o función como privada y luego manejarla através de una función accessor?, ¿qué problema puede haber con declararlo todo público (o al menos lo que sabes que vas a usar fuera de la clase)?.

|----------------------------------------------------------------------------------------------------------------------------|

Creo que eso es todo, aunque hay demasiadas preguntas... :-\ las he ido acumulando para hacer un pack de dudas y no crear 9392 temas :xD

Saludos!
167  Seguridad Informática / Hacking / Re: Saludos... sera que puedo aprender? en: 17 Agosto 2011, 16:32 pm
No hace mucho yo también plantee esta pregunta, te dejo el tema para que lo revises ya que hay bastante información y conclusiones que te pueden ayudar: http://foro.elhacker.net/dudas_generales/con_que_idioma_de_programacion_comenzar-t335989.0.html;msg1649456#msg1649456

Saludos.
168  Foros Generales / Dudas Generales / Re: no encuentro el mensaje del wifi en: 17 Agosto 2011, 15:59 pm
Buenas:

Vete a "Perfil" y a la izquierda le das a "Mostrar mensajes", ahi te saldrán todos los mensajes que has escrito. Si no está ahi es que lo han borrado.

Saludos.
169  Programación / Programación C/C++ / Re: Tengo una duda de como determinar los digitos de un número en: 17 Agosto 2011, 02:11 am
Buah, yo calentándome la cabeza y bastaba con una simple división  :xD

Saludos.
170  Programación / Programación C/C++ / Re: Tengo una duda de como determinar los digitos de un número en: 17 Agosto 2011, 01:23 am
Citar
No creo que con solo ciclos sin nada de funciones, puedas determinar la longitud de la cadena.

Por lo que ha comentado es un problema que le plantea un libro, asi que lo más seguro es que tenga solución.

Citar
Allen-Z quería saber como saber los dígitos longitud de caracteres de un número cualquiera solo con if else, while, por ejemplo si introduzco 40.000 me diga 5 dígitos, o introducir 12.000.000 y me diga 8 dígitos y nada de arreglos ni punteros ni funciones extras solo con <stdio.h> . Sólo con esas cosas, pero  if else, while, <stdio.h> por lo que me parece es muy difícil.
 Gracias Allen-Z por darte la molestia de contestar e intentar realizar el ejercicio.
Un Abrazo! Saludos!

No es molestia para nada, yo también entré en el mundo de la programación hace poco y me interesa bastante intentar resolverlo para poner en práctica lo que he aprendido (aunque yo voy terminando con las clases y los objetos). Lo que hace complicado el problema es que no hay una cifra máxima, igual puede tener un dígito que 20, y tan solo puedes usar "if else" y "while", asi que si consigo darle solución lo comento.

Saludos!
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines