|
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 ... 12 13 [14] 15 16 ... 32
326
« en: Martes 27 de Julio de 2010, 19:27 »
El gorro de gnomo es el operador XOR.
Temo que estas equivocado en parte, y acertado en parte. El simbolo ^ es el operado XOR pero solo para operaciones de bits, y en este caso necesitamos XOR para operaciones logicas y tal como mencione en un mensaje anterior, el operador logico XOR no existe. Por eso en realidad ^ no sirve para el problema mencionado arriba donde necesitamos un operador logico. Repasando Operadores de bits & and | or ! not ^ XOR operadores logicos && and || or ! not Asi que para el problema que esta mencionado en el primer mensaje solo sirve mi solucion y la solucion de tannke Saludos
327
« en: Sábado 24 de Julio de 2010, 18:53 »
Me temo que el operador logico XOR (or exclusivo) no existe en C#. Es por eso que no obtienes el resultado que deseas. Aunque se me ocurre que podrias simular su funcionamiento por medio de banderas. A continuacion te dejo un ejemplo de como lo podrias implementar: bool ban = false; if (Rango.Value2!=null) { if (alarmaxux==1) ban = true; else ban = false; } else if (alarmaxux != 1) ban = true; else ban = false; // Si ban es verdadero, significa que solo se cumplio // una de las dos condiciones while (ban == true) { // Aqui iria el codigo que quieres dentro del ciclo while // y tendrias que actualizar la bandera con el codigo // de arriba tal como lo pongo if (Rango.Value2!=null) { if (alarmaxux==1) ban = true; else ban = false; } else if (alarmaxux != 1) ban = true; else ban = false; }
Saludos
328
« en: Jueves 22 de Julio de 2010, 20:08 »
Temo que no es posible hacer lo que dices con los array, el tamaño de los array en C# es estatico, o sea que una vez definido un array de cierto tamaño, no se puede aumentar ni disminuir. Pero no todo esta perdido, existe otro tipo de datos que si permite aumentar / disminuir dinamicamente su tamaño, estoy hablando de List<>, a continuacion un pequeño ejemplo, espero te sirva: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static List<string> arregloCadenas; static void Main(string[] args) { arregloCadenas = new List <string>(); arregloCadenas.Add("hola"); arregloCadenas.Add("que tal"); for (int i=0; i < arregloCadenas.Count; i++) Console.WriteLine(arregloCadenas[i]); // Remueve el ultimo elemento de la lista arregloCadenas.RemoveAt(arregloCadenas.Count - 1); for (int i = 0; i < arregloCadenas.Count; i++) Console.WriteLine(arregloCadenas[i]); } } }
Como puedes ver una ves definido, puedes usarlo con indices, como si se tratara de un array. Tambien puedes usar un ciclo foreach en lugar de un ciclo for para recorrer los elementos de la lista. Saludos
329
« en: Viernes 16 de Julio de 2010, 19:32 »
Pues lo he compilado en Visual Studo 2010 (eliminando conio.h) y no me dio problema. Por tu utilizacion de conio.h (una libreria que no es estandar) me hace suponer que usas Turbo C++, me parece recordar que Turbo C++ a veces tenia problemas a la hora de enlazar la libreria de punto flotante, y al hacer el famoso "Smart Linking", marcaba error en las operaciones de flotantes, pero hace mucho que no trabajo en Turbo C++, asi que no recuerdo bien. Quizas alguien que siga trabajando Con Turbo C++ te pueda orientar mas. Saludos
330
« en: Viernes 16 de Julio de 2010, 19:16 »
A ver, te contesto lo que se: 1.Puedo desarrollar una aplicacion web completa sin problemas?
Si 2. con conexion a base de datos y todo?
Esto dependeria del web hosting y del manejador de base de datos que piensas utilizar, si tu vas a poner la maquina con web hosting y todo, y piensas utilizar SQL Server, es probable que necesites una licencia de SQL Server. Si piensas utilizar un web hosting de un tercero, ellos deberian tener la licencia para el manejador de base de datos, asi que no te deberia preocupar, solo asegurate de que manejador de base de datos te ofrece el web hosting (MySQL, SQL Server, etc.) para que desarrolles la conexion a esa base de datos. 3. puedo sacar beneficios de esa aplicacion web sin problemas?? (es decir comercializar con esa aplicacion).
Si Por otra parte otra cosa que no termino de entender bien, c# es un lenguaje libre y el problema de las licencias viene dado por el IDE? por ejemplo Visual Studio??
Si y no. Basicamente si utilizas Visual Studio Profesional o cualquier otra version que no sea la Express, debes tener una licenca comprada para utilizarlo. Si utilizas la version express, no necesitas nada mas, microsoft libero las versiones express precisamente para eso, esta enfocada mas que nada a estudiantes y Hoobystas (perdon por el barbarismo, no encontre traduccion para Hoobyst  ) que no pueden comprar una de las otras versiones, pero se puede usar para cualquier cosa, aunque vienen limitadas en algunos aspectos (por ejemplo, no es posible hacer compilados de 64 bits con las express, solo de 32 bits, y algunos otros detalles) Saludos y ojala te sirva informacion
331
« en: Viernes 9 de Julio de 2010, 03:51 »
La verdad tiene demasiados errores en la forma en que lo estas implementando que me llevaria poco mas de una hoja entera para explicarte todo lo que estas haciendo mal. Solo te dire que el principal error es la utilizacion de return dentro de la funcion para regresar el vector, no es la forma correcta de hacerlo. Pero recuerda google es tu amigo, y el ordenamiento de burbuja es uno de los mas comunes, hay miles en paginas que tratan el tema y ademas con la solucion correcta, no me tomo mas de un minuto hacer la busqueda y encontrar respuesta de como se hace, te dejo a continuacion una de ellas, leelo, analiza el algoritmo, y realiza una corrida de escritorio para que te des cuenta como funciona. http://es.wikipedia.org/wiki/Bubble_sortSaludos
332
« en: Miércoles 7 de Julio de 2010, 20:15 »
Aclararemos algo, el problema que tienes con la lectura de variables no esta en que ciclo utilizas, ya que lo cambiaste de nuevo de while a for, puedes usar el que quieras (for, while o do..while), el problema en realidad esta en el buffer, que debido al pause que utilizas se "ensucia" y entonces se queda con un caracter guardado, por eso al regresar al inicio del ciclo fgets() lee ese caracter y no te deja capturar el siguiente nombre. Bueno, a continuacion te dejo te nuevo la funcion ingresar() corregida de algunos errores que volviste a cometer de nuevo con comentarios para que sepas exactamente en que cosa estabas equivocado. void ingresar() { system("cls"); int k,j,n=0,i; system("color 70"); gotoxy(15,2);cout<<"POWERED BY LUIS ALFONSO JIMENEZ MEJIA"<<endl; // los vectores comienzan en cero, no en uno for(j=0;j<3;j++) { // Porque incrementas j, si estas usando for para incrementar //j++; gotoxy(5,9);cout<<"Ingrese Su Nombre: "; fgets(p[j].nombre, 100,stdin);//entoces no aprece esta variable apartir de la segunda iteracion // Si estas utilizando C++, recomiendo mejor la funcion getline en lugar // de fgets para que no revuelvas C con C++, la siguiente linea te muestra // como usarla //cin.getline(p[j].nombre, 100); // De nuevo omites la inicializacion a cero del acumulador, si no lo haces // arrastrara valores del empleado anterior, dando un promedio incorrecto n = 0; for(i=0;i<3;i++) { cout<<"nn Ingrese las unidades producidas/dias"<<endl; cin>>p[j].up[i]; n = n + p[j].up[i];//este acumulador me ha dado dolores de cabeza } k=n/3; h=h+n; system("cls"); gotoxy(17,2);cout<<"ESTADISTICAS DEL EMPLEADO: "<<p[j].nombre<<endl; gotoxy(17,5);cout<<"Producion total mes : "<<n<<endl; gotoxy(17,6);cout<<"Promedio produccion diaria: "<<k<<endl; // Esta linea es el verdadero problema, no el ciclo, ya que deja caracteres // en el buffer, lo que debes hacer es limpiar buffer despues de utilizarla gotoxy(17,15);system("pause"); // Limpia el buffer de entrada despues de usar pause while(getchar() != 'n'); } }
Saludos
333
« en: Martes 6 de Julio de 2010, 20:09 »
La verdad no se cual sea el resultado a que quieras llegar, pero revisando el codigo, supongo que quieres el promedio de produccion por dia para cada empleado, en ese caso tu error me parece que estaria en la inicializacion a cero de los contadores/acumuladores, ya que no lo estas haciendo dentro del ciclo uno como deberia ser, sino afuera del ciclo uno, entonces cada vez que el ciclo uno regresa a preguntar los datos del siguiente empleado, tus contadores/acumuladores contienen los datos del empleado anterior, dandote entonces un resultado incorrecto. La solucion entonces seria colocar la inicializacion a cero de esos contadores/acumuladores (no de todos, solo los que se encargan de los datos de cada empleado) dentro del ciclo uno. Puesto en codigo, seria: do { j++; fgets(p[j].nombre,100,stdin); p[j].nombre[strlen(p[j].nombre)-1]=' '; fflush(stdin); // Estos son los contadores/acumuladores que deben de inicializarse // en cada vuelta del ciclo uno para que no te acarreen los datos // del ciclo anterior i=0; n=0; while(i<4) { i++; cout<<"ningrese las unidades producidas/dias"<<endl; cin>>p[j].up[i]; n=n + p[j].up[i];//este acumulador me ha dado dolores de cabeza } system("cls"); k=n/4; h=h+n; gotoxy(17,2);cout<<"ESTADISTICAS DEL EMPLEADO: "<<p[j].nombre<<endl; gotoxy(17,5);cout<<"Producion total mes : "<<n<<endl; gotoxy(17,6);cout<<"Promedio produccion diaria: "<<k<<endl; }while(j<3);
Saludos
334
« en: Lunes 5 de Julio de 2010, 21:14 »
La forma en como te conectas a la base de datos SQL Server es correcta, utilizar SqlClient es la forma mas directa y eficiente de hacerlo, ya que SqlClient es el controlador nativo SQL Server para .NET.
335
« en: Miércoles 16 de Junio de 2010, 01:25 »
El enlace que publicas dice lo que contiene, lo repito de nuevo por si no lo leiste: The Windows SDK provides tools, compilers, headers, libraries, code samples, and a new help system that developers can use to create applications that run on Microsoft Windows.
y si, aunque no lo creas, hay gente que prefiere trabajar con sus propias herramientas (entiendase IDE y demas) y en ese caso necesita el compìlador por separado. para esas personas esta pensado el SDK, por algo se llama SDK (Software Development Kit, Kit de Desarrollo de Software) Para los que no utilizan herramientas propias, para ellos esta el Visual Studio, que tiene todo integrado. Y las versiones Express, en mi opinion son una "probadita" del IDE de las versiones comerciales, como decimos en Mexico, de la vista nace el amor, o sea, que cuando comienzas a trabajar con el IDE de Visual Studio,te comienza a gustar, pero entonces comienzas a notar ciertas cosas que no puedes hacer con el IDE Express, (por ejemplo, en las versiones Express tienes acceso limitado a bases de datos, ya que solo puedes usar SQL express sin programar) pero si eres un programador profesional te haran falta, y entonces es cuando deberas decidirte por adquirir otra version de Visual Studio mas adecuada. Saludos
336
« en: Martes 15 de Junio de 2010, 21:56 »
El problema esta en la forma en que C# trata las constantes. Dependiendo el valor de la constante, C# utilizara el tipo mas "adecuado" a ese valor. En tu caso toma los valores 196 y 198 como enteros, y entonces realiza una division entera en lugar de una division de punto flotante, y el resultado de la division entera 196/198 es cero, por lo tanto al multiplicarlo por 100 dara cero tambien. La solucion es decirle EXPLICITAMENTE a C# el tipo de tu constante, agregandole el sufijo adecuado a la constante. Ejemplo, si quieres usar valores de tipo float: resultado = (196f / 198f)* 100f;
si utilizas valores de tipo double: resultado = (196d / 198d)* 100d;
Saludos
337
« en: Martes 15 de Junio de 2010, 21:38 »
hola queria saber si en las versiones de visual studio se incluye el windows sdk.
Si. si es en caso afirmativo ambien se incluye en las versiones express?
Si, a partir de la 2008 express tambien incluye el SDK, la 2005 no lo incluia y debia ser bajado por separado.
339
« en: Viernes 11 de Junio de 2010, 19:39 »
Necesitas un desensamblador ( Disassembler) o un decompilador ( Decompiler), aunque te dire que no son faciles de usar, y requeriras muchos conocimientos, sobre todo de lenguaje maquina y ensamblador, para poderles sacar el mayor provecho. Ademas, para poder usar el decompilador necesitas antes saber en que lenguaje y compilador fue hecho el programa, de lo contrario no te servira. Saludos
340
« en: Martes 1 de Junio de 2010, 20:17 »
Cosnejo, utilia las etiquetas de [ code][ /code] (sin espacios en los corchetes) cuando puibliques codigo, mejora la legibilidad. La verad es muy simple y directo, lo dice claro el ejercicio, pero bueno, ahi va: // Lista heterogenea de punteros Cmedio* lista[3]; lista[0] = &libro1; lista[1] = &cinta1; lista[2] = &libroe1; // Estructura repetitiva para mostrar los datos for (int i = 0; i < 3; i++) { lista[i]->mostrar(); }
Saludos
341
« en: Sábado 15 de Mayo de 2010, 05:02 »
Un consejo, cuando publiques codigo utiliza las etiquetas de [ code][ /code] (sin espacio) para encerrar tu codigo, mejora la legibilidad. Ahora, respecto a tu problema, estas definiendo los METODOS como public, NO la clase. Debes agregar public antes del nombre de la clase tambien, ejemplo: using System; using System.Collections.Generic; using System.Text; namespace Milibreria { // Esto tambien debe ser public public class ClaseMultip { public static long Multiplicar(long x, long y) { return (x * y); } } }
Saludos
342
« en: Miércoles 12 de Mayo de 2010, 18:48 »
Te equivocaste de foro, porque AQUI NO SE HACEN TAREAS. Cuando hayas hecho algo POR TI MISMO y tengas alguna duda ESPECIFICA (por ejemplo, publicando lo que has hecho, y porque no te funciona adecuadamente) entonces es probable que obtengas una respuesta, de otra forma, nadie te hara la tarea. Saludos y que pases un buen dia
343
« en: Martes 11 de Mayo de 2010, 20:21 »
Hola picyo, primero que nada, te aconsejaria lo siguiente, estas trabajando con Visual C++, pero estas utilizando las "Extensiones CLR para .NET", estas extenciones de C++ NO son portables, solo funcionan en entornos .NET Framework, asi que si tu intension es escribir codigo C++ portable a cualquier sistema operativo, evita utilizarlas. La principal funcion de estas extensiones CLR seria desde mi punto de vista escribir codigo C++ que sea compatible con lenguajes .NET, como Visual Basic o Visual C#, asi que si no es esa tu intension, desechalo. Ahora respecto a tus dudas: 1. gertchar(), este seria tu primer problema, la manera como funciona el getchar() es que lee valores desde la entrada estandar (stdin), pero no limpia todo el buffer de entrada al leer, asi que si tu escribes por ejemplo S y luego das enter, en el buffer se queda el valor de S y tambien el valor de el enter, que en este caso es un avance de linea (caracter No 10), por eso al volver a usar getchar, seguira leyendo los valores que quedan en el buffer de entrada. La solucion a esto es utilizar la funcion fflush(stdin) para limpiar el buffer de entrada y asi el proximo getchar() leera los datos de manera correcta, o sea que debes hacer: tecla=getchar(); fflush(stdin);
Ahora, si insistes en utilizar las Extensiones CLR, la manera correcta de leer seria: 2. break, respecto al break, la sentencia break lo que hace es sacar la ejecucion del bloque actual, asi que en tu caso, el break mas interno NO te sacara de todos los switch, solo te saca del mas interno. Ademas, el break no solo se utiliza en switch, se puede utilizar en cualquier sentencia, y su funcion es la misma, te saca del bloque actual. Un ejemplo para que notes como funcona el break: if (condicion) { sentencia1; sentencia2; if (condicion) { sentencia3; if (condicion) { sentencia4 // la ejecucion continuara en sentencia6, se salta sentencia5; break; sentencia5; } sentencia6; } sentencia7 } if (condicion) { sentencia1; sentencia2; if (condicion) { sentencia3; // la ejecucion continuara en sentencia7, se salta el if, sentencia4 // sentencia5 y sentencia6; break; if (condicion) { sentencia4 sentencia5; } sentencia6; } sentencia7 }
Espero que con esto te quede mas claro. Saludos
344
« en: Viernes 7 de Mayo de 2010, 05:45 »
No hay ventajas ni contras, los dos hacen lo msimo, solo que unas funciones son de C, y las otras de C++, su uso dependera si lo necesitas compilar en C, o en C++.
345
« en: Sábado 1 de Mayo de 2010, 19:50 »
Hola de nuevo, te contestare, el foro es asi, no siempre te contestaran inmediatamente, la mayoria trabajamos y solo respondemos preguntas en nuestro tiempo libre, en mi caso yo trabajo, y solo puedo contestar un rato en las mañanas (soy de mexico por cierto, quizas tengamos horarios diferentes), a veces contesto algunas cosas en las tardes si tengo tiempo adicional, pero no siempre, y la mayoria estamos en la misma situacion, asi que si no recibes una respuesta inmediata, es porque todos tenemos cosas que hacer, y nadie nos paga por contestar aca, lo hacemos por gusto. Ahora, no es que nos creamos "superprogramadores" como dijiste, ni tampoco esperamos que seas una persona versada para poder preguntar, simplemente puntualice que tu mismo pudiste obtener las respuestas a varias preguntas "gogleando" un poco, ademas y cito lo que tu dijiste en otro mensaje: Alguien podría ayudarme con las dudas que tengo, que tengo el C++ algo oxidado.La prueba es mañana a las 15:00.Gracias.
Tu dijiste que tu C++ estaba "oxidado" pero ni siquiera tenias el compilador, ademas de que mencionaste que tenias un examen, si tenias examen, es de suponer que estas en un curso, quiere decir que tuviste tiempo para buscar compilador, libros, informacion, etc., a nadie que yo conozca le ponen un examen de un dia para otro, los examenes se ponen cuando ya tienes algo de tiempo estudiando, y son para compobar lo que has aprendido, y tu querias la respuesta a todo para "mañana" siendo que como te dije en mi primer mensaje, el aprendizaje es algo gradual, no algo que se de de un dia para otro. Es por eso que dije lo que dije. Bueno, espero que con esto haya quedado mas claro lo que te quise dar a entender. Sea la paz hermano, y bienvenido al foro  Saludos
346
« en: Sábado 1 de Mayo de 2010, 19:24 »
Una vez instalado cual es el compilador que debo utilizar? Si utilizo el que esta por defecto me dice que es invalido Bueno, para utilizar el code::blocks, que es un IDE, necesitas bajar por aparte el Mingw/C++, y luego configurar el code::blocks para poder trabajar con este compilador. Aunque mi recomendacion seria que mejor utilices el Visual Studior Express el enlace estaba en las FAQ, pero te lo vuelvo a poner, se que es una descarga mas grande (3 gigabytes aproximadamente) pero vale la pena, es el mismo IDE y el mismo compilador que el Visual Studio Profesional, quitandole algunas caracteristicas que utilizan los desarrolladores profesionales, pero para un estudiante esta perfecto. Si no tienes problemas con el ingles, baja la ultima version, o sea la 2010, ya que a la fecha no ha salido aun en español, aunque es casi seguro que pronto saldra: Si pefieres en español, entonces baja la version anterior (2008) Saludos
347
« en: Viernes 30 de Abril de 2010, 19:32 »
He leido todos tus mensajes mendes, y solo te dire una cosa, el aprendizaje de un lenguaje tan complejo como lo es C/C++ es un proceso gradual de varios meses, asi que si no lo aprendiste en el curso normal de tiempo, no lo aprenderas en 2 o 3 dias. Tampoco te daremos todas las respuestas, ya que por el contenido de tus mensajes, se nota que ni siquiera estas haciendo el intento por hacerlo, lo quieres todo ya hecho, y asi no funciona esto. Haz publicado codigo, y quieres que te digamos que hace, cuando lo podrias haber averiguado tu mismo si lo hubieras ejecutado y compilado, lo que me dice que ni siquiera lo haz compilado, asi que una persona que no pone de su parte por aprender y quiere que se le de todo hecho, no merece la pena que se le ayude. Mi consejo es que te pongas en serio a aprender, cambia tu actitud, y entonces regresa al foro con una nueva actitud, demuestra que verdaderamente te intreresa aprender y no solo lo hagas por una calificacion, porque en ese caso seria mejor que reprobaras, asi verdaderamente aprenderas una leccion y te daras cuenta del valor de las cosas. Lo siento por escibir tan moralista, pero asi es la realidad de la vida, no pidas que otros hagan las cosas por ti, hazlas por ti mismo. Saludos
348
« en: Viernes 30 de Abril de 2010, 19:09 »
Deberia funcionar con Visual C++. Ese archivo si se encuentra en Visual C++.
Quizas no este bien instalado, deberias desisntalarlo y volverlo a instalar.
349
« en: Viernes 30 de Abril de 2010, 19:03 »
Debiste leer esto antes: FAQ de C/C++
350
« en: Viernes 23 de Abril de 2010, 20:32 »
...
Páginas: 1 ... 12 13 [14] 15 16 ... 32
|
|
|