• Sábado 15 de Marzo de 2025, 13:41

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 ... 18 19 [20] 21 22 ... 32
476
C/C++ / Re: Error en la main y error sintáctico antes de "int"
« en: Jueves 26 de Noviembre de 2009, 19:13 »
a riesgo de equivocarme, me parece que te falta  un # en la primera linea.

Saludos :)

477
C# / Re: permutaciones
« en: Miércoles 25 de Noviembre de 2009, 20:45 »
Me temo que no es posible, en este caso el tiempo no tiene que ver con la complejidad del algoritmo, sino con el numero de iteraciones, que suben de manera exponencial ya que el numero es n!, o sea que si por ejemplo son 4, las iteraciones son 4! o sea 24, pero si son 15!, las iteraciones suben hasta 1 307 674 368 000. O sea que al final tendrias 2 opciones para hacerlo un poco mas "rapido":

1. hacerlo en lenguaje ensamblador.
2. conseguir un procesador mas rapido (doh :P).

Saludos :)

478
C# / Re: Invertir el orden
« en: Miércoles 25 de Noviembre de 2009, 19:35 »
Donde esta lo que has hecho, y cual es la duda exactamente?

Aqui no se hacen tareas.

479
C# / Re: form hijo y form padre
« en: Miércoles 25 de Noviembre de 2009, 19:33 »
Utiliza el metodo ShowDialog() en lugar de Show() para desplegar el segundo formulario:

Código: C#
  1.  
  2. T_G_F_F.ShowDialog();
  3.  
  4.  

480
C/C++ / Re: Dudas con codeblocks
« en: Lunes 23 de Noviembre de 2009, 20:01 »
Aunque no lo mencionas, me parece que estas usando linux, la funcion system() lo que hace es llamar a comandos del sistema operativo (como si los escribieras en el shell) y creo que en linux no existe el comando pause.

Saludos :).

481
C# / Re: duda sobre venta de producto en mysql y c#
« en: Miércoles 18 de Noviembre de 2009, 19:57 »
Pues entonces tendrias que aprender entonces mas sobre SQL, C# y bases de datos :)

Desconozco la forma exacta en que te conectas y accedes a la base de datos, asi que no puedo ser muy especifico en ese sentido, solo puedo darte guias generales sobre lo que tienes que hacer.

En mi caso utilizo lo siguiente:

MySqlConnection para conectarme a la base de datos.
MySqlConnectionStringBuilder para crear mi cadena de conexion.
MySqlCommand para establecer los comandos que voy a usar sobre mi base de datos (select, insert, update, etc.)
MySqlDataReader cuando unicamente necesito leer lo que contienen mis tablas.
MySqlDataAdapter y DataTable, cuando necesito leer/escribir lo que hay en mis tablas;

En el ejemplo anterior que te di, la variable comand es simplemente un objeto de tipo MySqlCommand, al cual le asignas a la propiedad CommandText los comandos que quieras realizar sobre tu base de datos (cualquier comando que permita mysql), y luego simplemente utilizo el metodo ExecuteNonQuery() para ejecutar mi comando/consulta.

Suponiendo que tengo una tabla de articulos y quiero leer toda mi tabla, despues de haber enlazado correctamente mis objetos MySqlConnection, MySqlCommand, MySqlDataReader, MySqlDataAdapter y DataTable, lo que hago en ese caso es:

Código: C#
  1.  
  2.             // Asigno mi comando en la variable command, en este caso
  3.             // lectura de la tabla
  4.             command.CommandText = "select * from articulos";
  5.  
  6.             try
  7.             {
  8.                 // Me conecto a la base de datos (abro la conexion)
  9.                 conexion.Open();
  10.                 // executo el comando previo en este caso un select (lectura)
  11.                 command.ExecuteNonQuery();
  12.                 // Cierro la conexion a mi base de datos
  13.                 conexion.Close();
  14.             }
  15.             // Manejo de errores (excepciones) a la hora de abrir mi
  16.             // base de datos o ejecutar comandos
  17.             catch (MySqlException ex)
  18.             {
  19.                 MessageBox.Show(ex.Message);
  20.                 if (conexion.State == ConnectionState.Open)
  21.                     conexion.Close();
  22.             }
  23.  
  24.  

Ahora, suponiendo que quiero actualizar TODOS los precios de mis articulos, en caso que hayan tenido un incremento por la inflacion, haria algo como lo siguiente:

Código: C#
  1.  
  2.             // Asigno mi comando en la variable command, en este caso
  3.             // actualizacion de todas las filas de la tabla mediante UPDATE,
  4.             // aumento TODOS los precios en un 10%
  5.             command.CommandText = "UPDATE articulos SET articulo_precio = articulo_precio * 1.10"
  6.  
  7.             try
  8.             {
  9.                 // Me conecto a la base de datos (abro la conexion)
  10.                 conexion.Open();
  11.                 // executo el comando previo en este caso un UPDATE
  12.                 // (actualizacion o escritura)
  13.                 command.ExecuteNonQuery();
  14.                 // Cierro la conexion a mi base de datos
  15.                 conexion.Close();
  16.             }
  17.             // Manejo de errores (excepciones) a la hora de abrir mi
  18.             // base de datos o ejecutar comandos
  19.             catch (MySqlException ex)
  20.             {
  21.                 MessageBox.Show(ex.Message);
  22.                 if (conexion.State == ConnectionState.Open)
  23.                     conexion.Close();
  24.             }
  25.  
  26.  

Si te fijas lo unico que modifico es command.CommandText, el resto de codigo es el mismo, no importa si voy a leer (select) o actualizar (update) la base de datos.

Esa es la razon por la que solo te puse la sentencia command.CommandText, en mi respuesta anterior. No se necesita mas que saber que sentencia vas a utilizar, en ese caso fue un ejemplo de la utilizacion de UPDATE.

Ahora, si no lo haces asi, pon el codigo que utilizas para conectarte y leer, y quizas asi podriamos ayudarte mas, aunque te recomiendo que leas un poco mas sobre SQL, asi podras comprender mejor que comandos necesitas.

Saludos :)

482
PHP / Re: idea phpMsSqlAdmin
« en: Miércoles 18 de Noviembre de 2009, 04:11 »
Me gusta la idea, aunque no he usado SQL Server, solo MySQL y actualmente estoy probando FireBird, pero seria bueno para ir aprendiendo sobre SQL Server.

Yo te haria otra pregunta, que lenguaje piensas utilizar para el programa, ASP, o PHP, o ninguno de los 2 y en su lugar que otra opcion.

Saludos :)

483
C# / Re: duda sobre venta de producto en mysql y c#
« en: Miércoles 18 de Noviembre de 2009, 04:00 »
El procedimiento que tendrias que hacer es leer la cantidad de articulos que tienes en el inventario y luego utilizar la sentencia UPDATE para actualizar la base base de datos.

Te dejo un pequeño ejemplo a continuacion, suponiendo que tienes tu stock guardado en una variable llamada cantidad, (que previamente leiste mediante un select) y que la clave de tu articulo es articulo_id. La clasula WHERE es necesaria porque sin  ella, UPDATE actualizaria todas las filas de tu tabla, y solo queremos que actualice aquella fila cuya clave de articulo es la clave del articulo que vas a modificar, no se si me explique bien :P

Código: C#
  1.  
  2.             command.CommandText =
  3.                 "UPDATE articulos " +
  4.                 "SET articulo_cantidad = articulo_cantidad - " + cantidad.ToString()
  5.                 + " WHERE articulo_id = '" + articulo_id + "'";
  6.  

Saludos :)

484
C/C++ / Re: problema programacion en c
« en: Martes 17 de Noviembre de 2009, 20:53 »
En Ranking no, pero en MostrarRanking tienes 2 errores en printf

Código: C++
  1.                 printf("%d", &A[i]);
  2.  
  3.  
debe ser:
Código: C++
  1.  
  2.                 printf("%d", A[i]);
  3.  
  4.  

El printf, a diferencia de scanf, no necesita &

Bueno, ya terminaste la parte facil, corregir los errores de sintaxis (compilacion) ahora viene lo mas dificil, corregir los errores de logica en tu programa, te deseo suerte :P

Saludos :)

485
C/C++ / Re: problema programacion en c
« en: Martes 17 de Noviembre de 2009, 19:50 »
El encabezado esta mal en lugar de:
Código: C++
  1.  
  2. void MostrarRanking(char orden1,int[] A,int CE)
  3.  

debe ser

Código: C++
  1. void MostrarRanking(char orden1,int A[],int CE)
  2.  

486
C/C++ / Re: problema programacion en c
« en: Martes 17 de Noviembre de 2009, 01:43 »
Para empezar, cuando publiques codigo, utiliza las etiquetas de codigo [ code][ /code] (sin espacio) para encerrar tu codigo, hace que sea mas legible en el foro.

En segundo lugar, tu codigo tiene DEMASIADOS ERRORES para corregirlo, lo que me indica que no tienes ni idea de lenguaje C/C++, por lo que te recomiendo que te consigas un buen libro de programacion en C/C++ y te pongas a estudiar, porque asi no lograras mucho, y aqui nadie te hara tu trabajo si tu no lo haces.

Solo para que te des cuenta de algunos de tus errores, pondre la primera funcion de tu programa corregida, no te corregire todo el programa, pero repito, consigue un buen libro y estudia.

Código: C++
  1. void RevisarFinDatos (int* haydatos)
  2. {
  3.     char rta;
  4.     do
  5.     {
  6.         // en C/C++, las cadenas van entre comillas "" no entre apostrofes ''
  7.         printf("Desea ingresar dato? (S/N)");
  8.         // Cuando usas scanf, debes poner el tipo de variable a leer, en esta caso %c,
  9.         // indicando que es una variable de tipo char, ademas deberas usar el & antes de la variable
  10.         scanf ("%c", &rta);
  11.     }
  12.     // Te falto ; al final del do..while
  13.     while (rta != 'S' || rta != 'N');
  14.     *haydatos = 1;
  15.     if (rta == 'N')
  16.     {
  17.         *haydatos = 0;
  18.     }
  19. }
  20.  
  21.  

Saludos y suerte :)

487
C# / Re: Formulario en DLL
« en: Miércoles 11 de Noviembre de 2009, 22:51 »
Cita de: "tannke"
la otra seria crear en tu dll un delegado y un evento, que al cerrar el form disparara ese evento.
y tu donde el formulario "padre" darte de "alta" (no recuerdo la palabra) en ese evento para que se dispare cuando cierres el Formdll.

Justamente iba a sugerir eso, pero ademas te dire que no es necesario crearlo, porque ya existe, el evento se llama FormClosed, y se genera justo cuando ya se cerro el formulario. Tambien existe el evento FormClosing, que se genera antes de que se cierre realmente el formulario, muy util para cancelar el cierre o realizar alguna accion antes de cerrar definitivamente el formulario, por ejemplo, si estas haciendo un editor de texto, y quieres que aparezca un mensaje para guardar los cambios de tu archivo antes de cerrar el programa ;)

A continuacion las direcciones dende encontraras mas informacion

FormClosing

FormClosed

488
Visual C++ / Re: Obtener dia de la Semana
« en: Lunes 9 de Noviembre de 2009, 21:31 »
Segun lo que publicaste, te faltaria tomar en cuenta lo siguiente, para obtener el dia de la semana.

1. Agregar el numero de dias transcurridos desde el inicio del año hasta la fecha que hayas introducido. Ejemplo, si la fecha que introduciste es 25 de enero, han pasado 25 dias desde que comenzo el año y debes añadirlos. Si la fecha qe introdujiste es 3 de marzo, entonces han pasado 62 o 63 dias, dependiendo si el año es bisiesto o no.

2. Verifica en que dia de la semana comenzo el calendario gregoriano, porque me parece que no comenzo en domingo, de ser asi, habria una desviacion de dias, que debes añadir para compensar.

3. Quizas te sea mas simple usar otro algoritmo, aqui te dejo un enlace de la wikipedia, solo tendrias que pasarlo a lenguaje C++:
http://es.wikipedia.org/wiki/Algoritmo_para_determinar_el_d%C3%ADa_de_la_semana

Saludos :)

489
C/C++ / Re: atof
« en: Martes 21 de Abril de 2009, 19:50 »
Pues no tengo el codigo completo, por lo que no lo pude compilar, y me marcaba errores, pero asi a simple vista te puedo decir, que tu error esta en el uso de punteros.

Aunque hayas leido que es mejor definir los array como punteros (la razon es que los punteros trabajan mas rapido), tambien es cierto que antes de hacerlo debes entender como funciona un puntero, y cuales son las diferencias entre estos y los array.

Tambien debes saber la diferencia entre un array de caracteres y un tipo string de C++, que aunque los dos nos sirven para lo mismo (representacion de "textos" o "cadenas") no son intercambiables, y antes de usarlos, debes saber como funciona cada uno.

El primer error que veo esta aqui:

Código: C++
  1.  
  2.     // Aqui estas definiendo tus punteros, pero no le dices a que porcion de la
  3.     // memoria va a apuntar por lo tanto, apuntara a una seccion no valida de
  4.     // la memoria, que probablemente en el mejor de los casos
  5.     // sea la direccion de otra variable, y en el peor, codigo de tu programa
  6.     char *conv;
  7.     char *conv1={"0.000000"};
  8.  
  9.  

y luego aqui.

Código: C++
  1.  
  2.         // estas encimando la memoria, ya que como dije antes, el puntero conv
  3.         //no apunta a una zona valida de la memoria.
  4.         conv[i]=data[n];
  5.  
  6.  

Cuando estas definiendo tu variable conv de tipo puntero a char, no le estas asignando memoria libre, por lo que el puntero esta apuntando a una porcion no valida de la memoria, que es parte de la razon por la cual tu porgrama no haga lo que tu quieres.

La solucion es asignar memoria dinamica por medio de las funciones malloc() de C o new de C++.

Si usas C++ entonces debes hacer lo siguiente:

Código: C++
  1.  
  2.     // Reservas 10 posiciones de memoria para tus arreglo de char
  3.     char *conv = new char[10];
  4.     char *conv1 = new char[10];
  5.     // Copia el valor a tu memoria reservada.
  6.     strcpy(conv1, "0.000000");
  7.  
  8.  

cuando termines de usar la memoria debes liberarla con delete

Código: C++
  1.  
  2.     delete conv1;
  3.     delete conv;
  4.  
  5.  

Ahora si usas la clase string de C++ en lugar de punteros a char, se hace de otra forma, pero eso ya es cuestion tuya leer, e investigar como se hace. Como dije antes, no es lo mismo usar string que punteros a char, hay diferencias.

Saludos :-)

490
C/C++ / Re: Problema con la funcion Getline
« en: Viernes 17 de Abril de 2009, 19:55 »
Me parece que estas utilizando mal la funcion getline de C++, y estas confundido un poco entre la clase string, y un arreglo de char, ya que no son lo mismo.

La funcion getline espera como primer parametro una variable de tipo char * (arreglo de char o puntero a char), no un string, y como segundo parametro, la longitud del arreglo, para no leer mas alla del final de la cadena

entonces, la utilizacion correcta de getline seria:

Código: C++
  1.  
  2. char nombre[50]
  3.  
  4. cin.getline(nombre, 50);
  5.  
  6.  

Te dejo unos enlaces para que veas la sintaxis correcta de getline, y ademas que es un string en C++, que no es lo msimo que un arreglo de char.

http://www.cplusplus.com/reference/iost ... m/getline/
http://www.cplusplus.com/reference/string/string/

Saludos :hola:

491
Visual Basic 6.0 e inferiores / Re: Agregar Elementos Permanentemente en Combobox
« en: Viernes 27 de Marzo de 2009, 20:48 »
Cita de: "lagunax"
Jejeje, ups, mi error, voy a tratar de implementar de esa forma, también se me ocurrio usar "arreglos", vamos a ver que pasa.

 :beer:
Aunque uses arreglos, sera lo mismo, debes hacer lo que dice m0skit0, usar archivos para que al salir del prograna no se pierda la informacion.

Saludos :)

492
Software / Re: ¿Cuál es tu sistema operativo favorito?
« en: Viernes 27 de Marzo de 2009, 20:45 »
Cita de: "m0skit0"
Cita de: "Eternal Idol"
¿De verdad no se noto que era una broma?
Sí se notó, hombre :devil: Aunque lo de "fuhrer" no me gustó mucho, la verdad...

m0skit0, m0skit0, cuando Eternal Idol dijo fuhrer, no se referia a ti, sino al otro usuario que dijo:

Citar
Dominando us sistema UNIX-LIKE, se domina cualquier otro sistema UNIX-LIKE, las distribuciones de GNU/Linux con sus herramientas que tienen ya son muy sencillos de usar, es mejor usar un sistema sin herramientas que no nos atan a un sistema en específico y Windows es para niños.

Que si nick es fuhrer, aunque quizas no lo notaste.

Saludos :)

493
C# / Re: necesito el codigo de batalla naval en c# por favor
« en: Miércoles 25 de Marzo de 2009, 03:31 »
Aqui no se hacen programas gratis ni tareas, solo se resuielven dudas especificas de programacion cuando ya tienes algo hecho.

Cuando publiques el codigo que hayas hecho TU, y preguntes por algo especifico en lo que tengas duda, seguramente en ese momento, alguien te ayudara.

Saludos :hola:

494
C/C++ / Re: alguien sabe como es este progarma en dev C++¿
« en: Lunes 23 de Marzo de 2009, 23:56 »
Eso es una tarea, y aqui no se hacen tareas.

495
C/C++ / Re: Problema con Fecha
« en: Sábado 21 de Marzo de 2009, 23:04 »
Cita de: "Hypocrisy"
ya.....pero que funcion es? Como se hace para pasar los numeritos a fechas??? para que salga en vez de 03 salga March? Solo he visto funciones para que salga la fecha actual del pc...pero no la fecha que nosotros pongamos.

No existe una funcion pre-hecha que haga eso, TU la tienes que programar. Si tu fecha tiene el formato AAAAMMDD donde AAAA representa el año, MM el mes, y DD el dia, con eso ya tienes informacion para que programes esa funcion. Hay funciones en C++ que toman "fragmentos" de las cadenas y de esa forma puedes separar la cadena en 3 partes, en este momento no recuerdo cuales son, pero google es tu mejor amigo en esos casos, busca informacion sobre la clase string de C++, y de seguro encontraras la respuesta.

Saludos :hola:

496
C/C++ / Re: Juego del ahorcado en C++
« en: Jueves 19 de Marzo de 2009, 03:10 »
No se hacen tareas.

Postea lo que hayas hecho, y con gusto se te puede ir ayudando, pero no pidas que lo hagan por ti.

497
Pascal / Re: Tipo indefinido ("comodín")
« en: Sábado 28 de Febrero de 2009, 02:31 »
Que yo sepa no se puede, Pascal es un lenguaje "Fuertemente Tipado" que quiere decir que debes colocar el tipo de la variable, no existe algo como un tipo "Comodin" que mencionas en pascal. De seguro el libro lo que quiere decir con "AnyTipe" es que puedes definir tu variable de cualquier tipo, mas no que acepta cualquier tipo, que son dos cosas diferentes, no se si me explique.

Saludos :hola:

498
MySQL / Re: Conectarse desde un servidor mysql a otro
« en: Sábado 21 de Febrero de 2009, 20:02 »
Pues mi respuesta seria un rotundo no.

Aunque los usuarios tengan el mismo nombre y la misma contraseña, eso no importa, cada usuario esta trabajando en servidores distintos e independientes, que no se relacionan en nada, para ponertelo en forma de metafora, es como si cada servidor hablara en idiomas diferentes y no hubiera un traductor para que se entendieran entre ellos.

Si se pudiera hacer, ademas constituiraia un grave riesgo a la seguridad, pues entonces cualqueir persona se podria crear un nombre de usuario que se llamara igual, pero en un servidor diferente, y acceder a tu servidor.

Saludos :hola:

499
C# / Re: Recuperar un campo con caracteres especiales
« en: Lunes 16 de Febrero de 2009, 18:41 »
No hay ningun error, lo que sucede es que en C# (y tambien en C/C++) el caracater '' se le conoce como caracter para secuencias de escape, por ejemplo, si tu pones 'n', el compilador lo interpreta como la secuencia de escape para nueva linea y rectorno de carro. Entonces, para diferenciar el ''  de una secuencia de escape, en el depurador o debugger siempre te aparecera como '\', pero si tu lo mandas a imprimir, solo veras una sola '' y no 2.


Saludos :hola:.

500
Otras Bases de Datos / Re: SQL PURO
« en: Martes 10 de Febrero de 2009, 02:42 »
Cualquier base de datos que use SQL te sirve para practicar (SQL server, MySQl...)

Páginas: 1 ... 18 19 [20] 21 22 ... 32