• Sábado 15 de Marzo de 2025, 01:26

Mostrar Mensajes

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


Mensajes - ProfesorX

Páginas: 1 ... 9 10 [11] 12 13 ... 32
251
C/C++ / Re: Sobre funcion piso y techo con matrices
« en: Jueves 21 de Abril de 2011, 19:07 »
No se hacen tareas

252
C/C++ / Re: Problema de novato con clases
« en: Viernes 15 de Abril de 2011, 22:45 »
Cita de: "JuaNiYoT"
Yo lo que quiero es poder almacenar en el tipo enumerado el valor que coges.
Supongo que tu querias algo como que estado_civil.soltero = "Soltero", y no, no es asi como funciona el enum. Como te dije antes, el enum internamente se guarda como si fuera un valor de tipo entero, con valores que comienzan en cero y aumentan en uno de forma consecutiva (0,1,2,3, etc) a menos que  en la declaracion le pongas explicitamente que valores tendra el enum.

Citar
suponía que así guardaría el estado civil para el objeto que esté usando. ¿Como haría eso?

Bueno, hay varias formas de hacerlo, la forma como yo lo haria seria algo parecido a como lo hizo Leber, usando switch:

Código: C++
  1.  
  2. int main()
  3. {
  4.     int civil;
  5.     Cliente* cliente;
  6.  
  7.     cliente = new Cliente();
  8.  
  9.     cout << "Estado civil (0=Soltero, 1=Casado, 2=Viudo, 3=Divorciado): ";
  10.     cin >> civil;
  11.  
  12.     switch (civil)
  13.     {
  14.     case Cliente::soltero:
  15.         cliente->setEstado_civil(Cliente::soltero);
  16.         break;
  17.     case Cliente::casado:
  18.         cliente->setEstado_civil(Cliente::casado);
  19.         break;
  20.     case Cliente::viudo:
  21.         cliente->setEstado_civil(Cliente::viudo);
  22.         break;
  23.     case Cliente::divorciado:
  24.         cliente->setEstado_civil(Cliente::divorciado);
  25.         break;
  26.     }
  27.  
  28.     return 0;
  29. }
  30.  
  31.  

De todas formas, necesitarias validar tu entrada para que en civil no guardes valores fuera del rango, es decir, menores a cero o mayores a 3 :)

Citar
Para que sirve entonces el enum?

Bueno, tratare de explicar un poco a ver si comprendes mejor, como dije antes el enum internamente se guarda como un valor de tipo entero. Te permite definir constantes de manera consecutiva y de forma mas facil. Si declaras manualmente tus constantes harias algo como esto:

Código: C++
  1.  
  2. const int soltero = 0;
  3. const int casado = 1;
  4. const int viudo = 2;
  5. const int divorciado = 3;
  6.  
  7.  

A la vez funciona como tipo, lo cual te permite definir una variable de tipo enum, al usar ese tipo, hace que el compilador genere errores cuando tratas de asignar a la variable un tipo inadecuado, ejemplo:

Código: C++
  1.  
  2. // esta linea generara un error
  3. cliente->setEstado_civil(0);
  4. // Esta linea compilara correctamente
  5. cliente->setEstado_civil(Cliente::soltero);
  6.  
  7.  

Aunque puedes hacer un type cast para asignar, ya que un enum y un int son compatibles, pero deberas tener cuidado para no asignar un valor no valido.

Ejemplo de type cast (algo rebuscado):

Código: C++
  1.  
  2.     Cliente::estado_civil edo_civ;
  3.     civil = 0;
  4.     // type cast
  5.     edo_civ = (Cliente::estado_civil) civil;
  6.     cliente->setEstado_civil(edo_civ);
  7.  
  8.  

En el caso anterior, un valor no valido seria hacer civil = 4.

Ojala y te haya quedado un poco mas claro.

Saludos :)

253
C/C++ / Re: Problema de novato con clases
« en: Miércoles 13 de Abril de 2011, 04:20 »
El error esta en que estas usando mal el enum, enum funciona como si crearas un nuevo tipo, no como si crearas una variable, cuando defines enum estado_civil{soltero, casado, viudo, divorciado}, estas creando un nuevo tipo llamado estado_civil, este tipo solo podra tomar los valores soltero, casado, viudo, divorciado, que internamente valdran 0, 1, 2, 3.

Ademas, necesitas una variable interna a tu clase de tipo privado, que guarde el valor del estado civil, y no, no se puede llamar estado_civil, ya que ese es el nombre del nuevo tipo, tiene que tener un nombre diferente, y debe ser de tipo estado_civil.

Entonces debes definir los metodos getEstado_civil() y setEstado_civil() de manera que utilicen el nuevo tipo, y la variable interna que guarda el estado civil.

No se si me explique bien, pero te dejo el codigo de como deberia ser, supongo que con eso comprenderas mejor lo que te explique arriba. Ademas, he definido estado_civil de tipo public en lugar de private, para que puedas acceder al nuevo tipo fuera de la clase, que pienso que seria mas correcto.

Código: C++
  1.  
  2. /* EN CLIENTE.H */
  3. class Cliente {
  4. public:
  5.     // enum funciona como si definieras un nuevo tipo
  6.     enum estado_civil{soltero, casado, viudo, divorciado};
  7.     string getDNI() const;
  8.     unsigned int getEdad() const;
  9.     string getNombre() const;
  10.  
  11.     // Defines el metodo como si regresa un valor de tipo estado_civil
  12.     estado_civil getEstado_civil() const;
  13.  
  14.     void setDNI(string DNI);
  15.     void setEdad(unsigned int edad);
  16.     void setNombre(string nombre);
  17.  
  18.     // Defines el metodo como si le pasas un parametro de tipo estado_civil
  19.     void setEstado_civil(estado_civil civil);
  20.  
  21. private:
  22.     string DNI; /**<DNI sin letra*/
  23.     string nombre; /**<Nombre separado por un espacio en blanco si es necesario*/
  24.     unsigned int edad;
  25.  
  26.     // Variable interna (privada) de tipo estado_civil para guardar el estado civil
  27.     estado_civil civil;
  28. };
  29.  
  30.  

Código: C++
  1.  
  2. /*EN CLIENTE.CPP*/
  3. string Cliente::getDNI() const
  4. {
  5.     return DNI;
  6. }
  7.  
  8. unsigned int Cliente::getEdad() const
  9. {
  10.     return edad;
  11. }
  12.  
  13. string Cliente::getNombre() const
  14. {
  15.     return nombre;
  16. }
  17.  
  18. // Defines el metodo como si regresa un valor de tipo estado_civil
  19. Cliente::estado_civil Cliente::getEstado_civil() const
  20. {
  21.     return this->civil;
  22. }
  23.  
  24. void Cliente::setDNI(string DNI)
  25. {
  26.     this->DNI = DNI;
  27. }
  28.  
  29. void Cliente::setEdad(unsigned int edad)
  30. {
  31.     this->edad = edad;
  32. }
  33.  
  34. void Cliente::setNombre(string nombre)
  35. {
  36.     this->nombre = nombre;
  37. }
  38.  
  39. // Defines el metodo como si le pasas un parametro de tipo estado_civil
  40. void Cliente::setEstado_civil(estado_civil civil)
  41. {
  42.     this->civil = civil;
  43. }
  44.  
  45.  

Saludos :)

254
C/C++ / Re: estrucutras, punteros
« en: Sábado 9 de Abril de 2011, 02:04 »
Bueno, en mi opinion esta bien, solo añadiria que en mi caso, perfiero comentar una linea antes, a comentar en la misma linea,como en el siguiente ejemplo:

Código: C++
  1.  
  2. //se declara una estructura
  3. struct agenda
  4.  
  5.  

 pero bueno, es preferencia personal, en todo caso, es valido como haces los comentarios.

P.D: Por si no lo notaste, tal como te lo hizo notar m0skit0, no se dice "comentariar" ni "comentariadas", el verbo correcto es "comentar", y se conjuga "comentadas".
La palabra "Comentario" no es verbo, asi que escribir "comentario" esta correcto

Saludos :)

255
C# / Re: Como simular leer de teclado para hacer un bot
« en: Viernes 8 de Abril de 2011, 16:53 »
Que yo sepa no hay ninguna bliblioteca de .NET que haga eso.

Lo que mencionas ya es programacion mas avanzada, creo que podria hacerse mediante llamadas directas a funciones del sistema operativo, aunque nunca he hecho nada parecido, creo que tendras que investigar tu mismo en MSDN.

Saludos :)

256
C/C++ / Re: EJERCICIO C
« en: Viernes 8 de Abril de 2011, 02:23 »
No se hacen tareas amigo.

El procedimiento correcto es que tu mismo hagas el ejercicio, y entonces, si tienes problemas con la compilacion o algun error en la ejecucion, publiques el codigo que hayas hecho, explicando en que parte tienes problemas, o cual es el error que te marca el programa. Asi demuestras que estas trabajando y no solo que quieres que te hagan el trabajo de gratis :).

Si haces lo que te digo, mas de un compañero del foro te ayudara, en caso contrario, puedes dar por asegurado que este mensaje se ira al olvido.

Saludos :)

257
C# / Re: Como crear un programa calculador de prestamo en c#..
« en: Jueves 7 de Abril de 2011, 22:32 »
No se hacen tareas amigo.

El procedimiento correcto es que tu mismo hagas el ejercicio, y entonces, si tienes problemas con la compilacion o algun error en la ejecucion, publiques el codigo que hayas hecho, explicando en que parte tienes problemas, o cual es el error que te marca el programa. Asi demuestras que estas trabajando y no solo que quieres que te hagan el trabajo de gratis :).

Si haces lo que te digo, mas de un compañero del foro te ayudara, en caso contrario, puedes dar por asegurado que este mensaje se ira al olvido.

Saludos :)

258
C# / Re: Libreria para validar text
« en: Jueves 7 de Abril de 2011, 15:52 »
Ese tipo de mascaras se les conoce como Expresiones Regulares (Regular Expresions, RegEx), y la libreria que las maneja se llama System.Text.RegularExpressions

Saludos :)

259
C/C++ / Re: COPIAR Y PEGAR ??
« en: Miércoles 6 de Abril de 2011, 15:41 »
En C/C++, no existe un "copiar y egar".

Para poder obtener un funcionamiento parecido, se me ocurren dos formas:

1.Abrir el archivo fuente, crear un nuevo archivo (destino), y pasar el contenido del primer archivo byte por byte al segundo archivo.

2. Si estas bajo windows, podrias usar el comando copy por medio de system, algo asi como system('copy'), tendrias que investigar la sintaxis del comando copy de MS DOS.

Saludos :)

260
C# / Re: Help con constructor sobrecargado
« en: Martes 5 de Abril de 2011, 22:39 »
Tienes metdodos dentro de metodos (o metodos anidados), en C#, no puedes tener metodos anidados, cada metodo debe ser independiente uno de otro. Un constructor tambien es un metodo, solo que es de un tipo especial que se ejecuta automaticamente al crear la clase ;)

Si el objetivo de declararlos anidados, es que no tengas acceso a esos metodos fuera de la clase, debes declararlos como privados.

Código: C#
  1.  
  2.         public Conexion_BD(String server, String bd, String user, String pwd)
  3.         {
  4.             // Variables.
  5.             srv = server;
  6.             BD = bd;
  7.             us = user;
  8.             pw = pwd;
  9.         } // FIN Conexion_BD
  10.  
  11.         // Metodo para conectar, se le pasa el servidor, la base de datos, el usuario y el password.
  12.         // Si no deseas accede al metodo fuera de la clase, declaralo privado,
  13.         // no anidado al metodo Conexion_BD
  14.         public MySqlConnection conectar()
  15.         {
  16.             String datos = "Server=" + srv + ";Port=3306;Database=" + BD + ";Uid=" + us + ";Pwd=" + pw + ";";
  17.             abrir(datos);
  18.  
  19.             try
  20.             {
  21.                 con.Open();
  22.                 return con;
  23.             } // FIN try
  24.             catch (MySqlException ex)
  25.             {
  26.                 return null;
  27.             } // FIN catch
  28.  
  29.         } // FIN conectar
  30.  
  31.         // Metodo abrir.
  32.         public void abrir(string dat)
  33.         {
  34.             con = new MySqlConnection(dat);
  35.         } // FIN abrir
  36.  
  37.  

Saludos :)

261
C/C++ / Re: Abrir informacion en otra ventana
« en: Sábado 2 de Abril de 2011, 18:46 »
Hola portirijillo, antes que nada, pediria que no publiques dos veces el mismo mensaje, se considera falta de cortesia, con que lo publiques una vez es suficiente y cualquiera te lee, lo mas recomendable es esperar 24 horas (minimo) por una respuesta, si no la obtienes, es porque o nadie sabe la respuesta, o esta mal formulada la pregunta, o es una tarea, en todo caso, si consideras que esta mal formulada despues de leerla de nuevo, o sientes que olvidaste algo, puedes agregar informacion adicional, demtro del mismo hilo, o modificar el hilo oroginal, pero no hacer uno nuevo. Si es una tarea, no esperes resuesta, ya que por lo regular no se hacen tareas.

Aclarado eso, contesto tu duda.

Por defecto, printf y el resto de funciones que mandan informacion a la salida estandar, lo hacen a la misma ventana donde el programa esta ejecutandose, y no es posible cambiar ese comportamiento. En teoria creo que si podria ser posible mandar la informacion a una segunda ventana, pero requeriria utilizar llamadas a funciones del sistema operativo, no seria una manera portable de hacerlo, y requiere programacion mas avanzada. Si estas interesado y trabajas sobre windows, recomiendo que visites la pagina de MSDN, alli encontraras informacion sobre la WinApi, que te puede ayudar con eso.

Saludos :)

262
C/C++ / Re: Operacion con muchos digitos
« en: Martes 29 de Marzo de 2011, 21:13 »
Bueno, estuve investigando, y parece que encontre la razon por la cual no te da el resultado correcto, y se debe a la conversion de tipos y al rango de los int en los diferentes compiladores.

En C++, cuando multiplicas enteros, el resultado de la multiplicacion es entero, y cuando multiplicas flotantes, el resultado es flotante.

Entonces, en la linea:

Código: C++
  1. semana = (24*7*3600);
  2.  

todos los factores son enteros, entonces el resultado de la multiplicacion es entero, pero ademas, en Turbo C++, los enteros (int) son de 16 bits, y el valor de un entero de 16 bits va de − 32,768 a 32,767, y dado que 604800 es una cantidad mucho mayor que la que puede ser almacenada en un entero de 16 bits, ocurre un desborde aritmetico (Arithmetic overflow) y por eso da ese numero. Luego cuando asignas el resultado a semana se convierte de int a float, pero ya es tarde, pues el numero quedo desbordado.

En Visual C++ y los otros compiladores no ocurre esto, debido a que los int en estos compiladores son de 32 bits, y su rango va de − 2,147,483,648 a 2,147,483,647, entonces 604800 queda dentro del rango y no hay desborde aritmetico. Pero si el resultado de la multiplicacion quedara fuera de ese rango, incluso en Visual C++ habria desbordamiento aritmetico (recuarda lo que dije, si multiplicas enteros, el resultado es entero, y si multiplicas flotantes, el resultado es flotante), y tambien daria un resultado incorrecto.

La solucion a este problema es declarar los factores explicitamente como flotantes, agregando un punto decimal a cada numero, como en el siguiente ejemplo:

Código: C++
  1. semana = (24.0*7.0*3600.0);
  2.  

Si en lugar de usar constantes, usas variables enteras, debes convertirlas explicitamente a flotantes, multiplicando cada variable por 1.0, para que se convierta a flotante, ojo, solo si la variable es entera, si la variable es flotante no es necesario, ejemplo:

Código: C++
  1. semana = (horas * 1.0) * (dias * 1.0) * (segundos * 1.0);
  2.  

Pruebalo asi, y me dices si ahora si te da el resultado correcto.

Saludos :)

263
C/C++ / Re: Operacion con muchos digitos
« en: Lunes 28 de Marzo de 2011, 19:40 »
Bueno, yo agregare a lo que te contestaron una cosa, tu dices que el valor que obtienes no es el correcto, pero nunca mencionas cual es el resultado que obtienes, y cual resultado esperas obtener.

Porque como bien te dijeron antes, el resultado de esa multipilicacion es 604800.00, y ese es el mismo resultado que yo obtengo tambien, utilizando Visual C++ 2010, si ese resultado es el que obtienes, entonces es correcto, ya que nunca mencionas que resultado esperas obtener, ya en mi otro mensaje te pregunte si querias obtener semanas (dando los segundos) o segundos (dando las semanas), quizas esperabas otro resultado, en cuyo caso estas equivocado en cuanto a la manera de obtener el resultado que quieres, pero dado que nunca mencionas cual resultado esperas obtener, al final resulta que estamos adivinando el resultado que crees que deberias obtener ;)

Ahora, si no obtienes como resultado 604800.00 (cosa que dudo, pero no puedo comprobarlo, pues ya no uso Turbo C++), entonces si, muy probablemente se deba a que tu compilador es obsoleto, pero como dije antes, dudo mucho que no te de 604800.00, ya que la manera en que los compiladores almacenna los valores de tipo float no ha cambiado mucho.

Mi codigo, modificado para Visual C++ 2010
Código: C++
  1.  
  2. #define _CRT_SECURE_NO_WARNINGS
  3. #include <cstdio>
  4.  
  5.  
  6. int main()
  7. {
  8. float semana;
  9.  
  10.     semana = (24*7*3600);
  11.  
  12.     printf("Son %f ",semana);
  13.  
  14.     return 0;
  15.  
  16. }
  17.  

Saludos :)

264
C/C++ / Re: Operacion con muchos digitos
« en: Viernes 25 de Marzo de 2011, 09:03 »
No se entiende bien que es lo que quieres hacer.

1. ¿Dado "x" segundos, quieres saber el equivalente en semanas? o
2. ¿Dado "x" semanas quieres saber el equivalente en segundos?

En todo caso tu formula esta mal. ya que una semana no contiene 12 dias.

Las equivalencias son asi:

1 semana = 7 dias
1 dia = 24 horas
1 hora = 60 minutos,
1 minuto = 60 segundos.

Por lo tanto, las formulas quedarian:

1. semanas = segundos / (7.0*24.0*60.0*60.0)
o
2. segundos = semanas*7.0*24.0*60.0*60.0

ademas, para imprimir valores flotantes con printf, se utiliza %f y no %g

Bueno, esos son los errores que note, ojala te sirva.

Saludos :)

265
C/C++ / Re: Podrian colaborar para aprender a programar
« en: Miércoles 23 de Marzo de 2011, 05:02 »
Cita de: "haddad"
cual es la razon para que se ponga using namespace std en lugar de .h
saludos!

La razon tiene que ver con la antigüedad de los compiladores, y en realidad no es en lugar de, sino ademas de quitar .h

En los primeros compiladores de C++ (por ejemplo, las primeras versiones de Turbo C++), el nombre del archivo de libreria era iostream.h, y no existian los espacios de nombre (namespace).

En compiladores modernos y actuales, cambiaron el nombre del archivo de iostream.h a solo iostream, ademas se implementaron los namespace, los objetos cin y cout se encuentran dentro del namespace std, es por eso que se pone using namespace std; sin eso, para poder utilizar los objetos necesitarias poner std.cin o std.cout.

Saludos :)

266
C/C++ / Re: duda en C
« en: Sábado 19 de Marzo de 2011, 20:10 »
Disculpa si pareci rudo y te ofendi, no me rei de ti, sino de la pregunta, es bueno que seas autodidacta, yo tambien lo soy de hecho yo aprendi a programar en C/C++ antes de llevar la materia, por cuestiones de trabajo, lo que me ayudo mucho cuando lleve el curso, pues ya sabia las bases del lenguaje :), tambien aprendi a programar en C#, y Java por mi cuenta, en la escuela no lleve ninguno de esos dos lenguajes, a lo que me referia es que se notaba que nunca llevaste algoritmos, eso no es malo, a menos que no sepas algoritmos por flojera de no haber estudiado bien la materia (conozco muchos casos de gente floja, que no pone empeño en aprender), pero si nunca llevaste algoritmos, solo significa que debes aprender mas. Es bueno que tengas el animo de aprender el porque, sigue asi.

Solo rematare con una frase mas, "No hay preguntas tontas, solo hay tontos que no preguntan" ;)

Saludos y suerte :)

267
C/C++ / Re: duda en C
« en: Sábado 19 de Marzo de 2011, 17:40 »
Ja ja, esto si me dio risa, nunca habia visto alguien preguntar algo asi de obvio, pero bueno, supongo que nunca llevaste alguna materia de diseño de algoritmos.

Bueno, fuera de la risa te dare la respuesta (aunque es obvia), la razon es que en el segundo codigo:

Código: C++
  1.  
  2.           // resultado aun no contiene el valor del cubo, lo estas imprimiendo antes de calcularlo
  3.           printf("El cubo de %.2f  es %.2fn", n, resultado);
  4.           resultado = cubo(n); /* Hacemos la llamada a la función */  
  5.  
  6.  

la variable resultado aun no contiene el resultado del calculo, ya que estas imprimiendo antes de calcular, de hecho, si tu no le asignas un valor manualmente a la variable resultado despues de crearla, contendra un valor "indederminado" (basura) pero la razon de que contenga cero es que algunos compiladores "inicializan" automaticamente las variables globales con cero. Puedes comprobarlo si en lugar de declarar resultado como global, la declaras como local, y veras que ahora tendra un valor diferente de cero.

En programacion no aplica la regla de la multiplicacion "el orden de los factores no afecta el producto". En programacion, el orden en que se ejecutan las lineas SI puede afectar el resultado final de un programa, es  por eso que la programacion es mas delicada, y a veces mas dificl de encontrar y corregir errores (depurar) te encontraras muchisimos mas casos en que si cambias una sola linea de lugar, obtienes resultados totalmente diferentes, es por eso que hay que revisar con cuidado el codigo, pero afortunadamente en los compiladores modernos tenemos muchas herramientas para realizar la ejecucion de codigo linea por linea para depurarlo correctamente.

Saludos :)

268
C/C++ / Re: Nueva duda programa Pila
« en: Viernes 18 de Marzo de 2011, 20:21 »
El error es lo mismo que te mencone arriba, estas entendiendo mal como funciona el typedef, y lo que haces es que al crear alias, los * (operador de direccion) se acumulan, creando los errores de compilacion.

ademas como dije esta mal implementada la pila, revisa mi enlace anterior.

Saludos :)

269
C/C++ / Re: Nueva duda programa Pila
« en: Viernes 18 de Marzo de 2011, 20:11 »
Desafortunadamente estas implementando mal la pila y sus funciones, me parece que necesitas leer mas sobre punteros, typedef y C++, basicamente el error de sintaxis que te marca es debido a que typedef lo que hace es crear un "alias" de una declaracion, por lo tanto cuando declaras:

Código: C++
  1. typedef Pila *pila;
  2.  

es como si escribieras:

Código: C++
  1. typedef tipoNodo **pila; // Doble apuntador a tipoNodo
  2.  

Ya que arriba estas poniendo:

Código: C++
  1. typedef tipoNodo *Pila; //Pila es alias de apuntador a tipoNodo
  2.  

Lo que convierte a PIla en un alias para tipoNodo*, (apuntador a tipoNodo), no se si lo comprendas, puede ser algo confuso de entender si no comprendes que typedef contrario a lo que parece, no "crea tipos" si no en realida crea "alias" como dije arriba.

Pero aun cuando corrijas eso, tu codigo no funcionara correctamente ya que esta mal implementado, y explicarte todo y como debes hacerlo excederia el tamaño de una pequeña consulta  :lol: , es mas facil que busques en google la manera correcta de hacerlo ;)

Poniendo en google como busqueda "pila usando listas c++", encontre varios enlaces, te dejo el enlace al codigo que me parece es mas adecuado a lo que buscas, por esta vez te hice la busqueda, pero debes aprender a saber hacer busquedas inteligentes tu mismo :)

http://www.lawebdelprogramador.com/codigo/85/Implementacion_de_una_pila_mediante_lista_enlazada_en_C++.html

Esta escrito para Visual C++, y me parece por la sintaxis de tu codigo que tu usas Turbo C++, aun asi, no creo que te cueste trabajo adaptar el codigo para que funcione en Turbo o el compilador qe utilices.

Saludos y suerte :)

270
C/C++ / Re: Mi Aplicación C++ + Código Fuente Para Editar!
« en: Jueves 10 de Marzo de 2011, 16:27 »
Bueno, se agradece el esfuerzo, pero es mejor que si quieres publicar codgos completos, hay una parte de la pagina que te permite hacerlo, puedes colocar el codigo fuente completo, con los archivos de proyecto en un archivo zip y subirlo, si no has visto el enlace, te lo dejo a continuacion:

http://www.solocodigo.com/index.php?opt=addresource&node=1

Puedes subir archivos de un maximo de 2 Megabytes

Saludos :)

271
C/C++ / Re: Rsultado Erroneo
« en: Miércoles 9 de Marzo de 2011, 17:58 »
El problema esta en que no le estas asignando un valor a num2 antes de imprimirlo, por lo tanto num2 contiene un valor "basura" y es ese el valor el que te imprime.

La solucion me parece que seria asignarle valor antes de imprimirlo, seria algo mas o menos asi:

Código: C++
  1.  
  2. #include <stdio.h>
  3. /* Crear un programa calcule cuantas cifras tiene un número entero positivo (pista: se
  4. puede hacer dividiendo varias veces entre 10)*/
  5.  
  6. int main()
  7. {
  8.   int num;
  9.   int num2;
  10.  
  11.   printf("nIntroduce un numero:");
  12.   scanf("%d", &num);
  13.   while (num > 1)
  14.   {
  15.    // asignar a num2 un valor antes de imprimir
  16.    num2 = (num / 10);
  17.    printf("nEl Número %d tiene %d cifras positivasn", num, num2);
  18.    num /=10;
  19.    }  
  20.    getchar();
  21.    return;  
  22. }
  23.  
  24.  

Saludos :)

272
C# / Re: hola a todos!!!
« en: Sábado 26 de Febrero de 2011, 17:09 »
Todo programa en C# necesita una clase con un metodo estatico Main(), que es la parte en donde comienza la ejecucion del programa. Dentro del Main() puedes llamar a las otras clases/metodos de tu programa. Solo puede haber un metodo llamado Main() en todo el programa, si colocas 2, tambien es un error.

Ejemplo de la clase con metodo main():

Código: C#
  1.  
  2.     class Program
  3.     {
  4.         static void Main()
  5.         {
  6.          // Codigo de tu programa
  7.         }
  8.     }
  9.  
  10.  

Saludos :)

273
C# / Re: Como Leer los numeros, y escribir su nombre
« en: Viernes 25 de Febrero de 2011, 19:30 »
Bueno en realidad si buscas en google "convertir numeros a letras c sharp" encontraras muchas paginas en donde ya te dan el algoritmo y el programa hecho, asi te puede dar una idea de que hacer, es mas, en aqui mismo en solo codigo ya hay un codigo fuente que hace eso, solo que en Visual Basic, pero te puede servir.

http://www.solocodigo.com/index.php?opt=viewitem&id=571&type=1&node=1

Saludos :)

274
MySQL / Re: Tablas y Columnas
« en: Viernes 25 de Febrero de 2011, 01:31 »
Bueno mira, respecto a tu pregunta, no se que resultado esperas obtener, ya que solo tu sabes que datos contienen tus tablas, yo no se que dato contiene la columna A, solo te dire que cuando utilizas:

Código: SQL
  1. SELECT A FROM `estudiantes`;
  2.  

estas mostrando la columna A de todas las filas de la tabla destudiantes.

y cuando uilizas:

Código: SQL
  1. SELECT `estudiantes.A` FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A
  2.  

estas mostrando la columna A de la tabla estudiantes, pero solo aquellas filas que cumplen la condicion de ser iguales en la columna A en las dos tablas (estudiantes y docente). Si el valor de la columna A en la tabla estudiantes no es igual con algun valor de la columna A de la tabla docente, y viceversa, esa fila no se mostrara.

Espero que dicho eso te quede mas claro como funciona el Inner join

Saludos :)

275
MySQL / Re: Tablas y Columnas
« en: Jueves 24 de Febrero de 2011, 04:33 »
El error mismo te lo esta indicando

Column 'A' in field list is ambiguous

Traducido:

La columan A en la lista de campos es ambigua.

Esto se debe precisamente a que la columna A se llama igual en las dos tablas, entonces no sabe si desplegar columna A de docentes o columna A de estudiantes.

La solucion es especificar, cuando las dos columnas tienen el mismo nombre en tablas diferentes, a que tabla te refieres, retomando tu ejemplo seria algo como:

Código: SQL
  1. SELECT `estudiantes.A` FROM `estudiantes` INNER JOIN `docente` ON estudiantes.A = docente.A LIMIT 0 , 30
  2.  

Puede ser al contrario, usando docente.A en lugar de estudiantes.A, en este caso en particular no importa de que tabla tomas la columna.

Saludos :)

Páginas: 1 ... 9 10 [11] 12 13 ... 32