|
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 ... 29 30 [31] 32
751
« en: Sábado 8 de Diciembre de 2007, 21:07 »
752
« en: Miércoles 5 de Diciembre de 2007, 18:32 »
El viejo Turbo C Mira, a mi me funciono bien, debes tener algun error, quizas te falta algun graphic driver, hay una funcion llamada graphresult(), que devuelve el ultimo error en cualquier operacion grafica, llamala despues de llamar a initgraph(&driver,&mode,""), de la siguiente forma: int result = graphresult();
imprime el error, y checa con la ayuda el codigo de error, para que sepas exactamente cual es la falla en la inicializacion. Saludos
753
« en: Miércoles 5 de Diciembre de 2007, 18:12 »
No se si entendi bien el problema, pero si quieres mostrar solamente aquellos modelos cuyo stock es menor al minimo, cambia una condicion: // Esta es la condicion para probar si la existencia es menor al stock minimo, // como lo tenias, hacias lo contrario, imprimir aquellos cuya existencia era // mayor al stock minimo, era cosa de invertir la desigualdad if (mte[k][j] < stmn[k][j]) { // Calcula la diferencia (esto ya lo tenias bien, sale en formato negativo, // Si deseas que salga en formato positivo, o sea, sin el signo menos // Simplemente invierte los operandos, o sea: // dif = stmn[k][j] - mte[k][j]; dif = mte[k][j] - stmn[k][j]; printf( " modelo %d nro zapato %d, la diferencia es %d \n",k+1,j+34,dif); }
Si no era eso lo que querias, explica mejor el problema. Saludos
754
« en: Sábado 1 de Diciembre de 2007, 23:07 »
Estimado Huevo, mi recomendacion: no uses el Wizard, mejor revisa el codigo fuente de los demos, el ExampleApplication.h, el ExampleFrameListener.h y los tutoriales del Ogre Wiki, para que te des una idea de como crear un proyecto de ogre, no es tan dificil modificar un demo para que te sirva en cualquier proyecto, y de todas formas el wizard lo unico que hace es añadirte los ExampleApplication.h y ExampleFrameListener.h.
En un proyecto que los uses, solo tienes que crear tu escena haciendo un "override" del metodo createScene de la clase ExampleApplication, y lo que quieras que pase en cada cuadro o frame, incluido la entrada por teclado, en los metodos frameStarted y frameEnded de ExampleFrameListener.
Si sigues los tutoriales, te aseguro que no te costara trabajo.
Saludos 8)
755
« en: Sábado 1 de Diciembre de 2007, 03:41 »
Revise tu codigo, y la solucion es tan simple como que cambies de lugar el nombre al mismo tiempo que cambias la calificacion de lugar, pero debes usar la funcion strcpy para copiar a un temporal el nombre para hacer el intercambio, ademas descubri un error en la declaracion del vector de nombres, bueno, a continuacion te dejo que cambios tienes que hacer: // Primero debe de ir la dimension del vector de cadenas, y despues el tamaño de la cadena char nombre[20][30];
float temp; // Una variable temporal para el intecambio del nombre char temp_nombre[30];
for (i=0;i<=alumnos;i++) { for (j=i+1;j<=alumnos-1;j++) { if (prom[i]<=prom[j]) { temp=prom[j]; prom[j]=prom[i]; prom[i]=temp; // fijate la utilizacion de la funcion strcpy para hacer el intercambio strcpy(temp_nombre, nombre[j]); strcpy(nombre[j], nombre[i]); strcpy(nombre[i], temp_nombre); } } }
Espero te ayude. Saludos
756
« en: Miércoles 28 de Noviembre de 2007, 19:42 »
jeje, si JuanK, tienes razon, es clasico, como es fin de cursos, es el tiempo de aquellos que estuvieron todo el semestre de (perdonando la palabra) huevones, y ahora quieren todo "peladito y en la boca" para pasar la materia, cuando debieron de haber estudiado, preguntado, leido libros etc. con tiempo,
757
« en: Sábado 24 de Noviembre de 2007, 22:05 »
Estas leyendo el archivo, como si fuera un archivo binario, y en realidad, el archivo es de texto. Tienes 2 opciones: 1. Crear el archivo de manera binaria, para poderlo leer de manera binaria. 2. Si utilizas archivos de texto, debes leer los datos como si fueran de texto, y hacer la conversion a int (binario). Saludos
758
« en: Martes 20 de Noviembre de 2007, 23:57 »
No se porque dices que un array de tipo char no admite numeros, claro que los admite.
Ahora, si lo que pasa es que tu quieres es que AUTOMATICAMENTE detecte si es numero o no, claro que eso no es posible, tu eres el que tienes que diferenciar los numeros de las letras por medio de comparaciones (lease if o switch..case)., pero pues ese el el ejercicio.
759
« en: Sábado 17 de Noviembre de 2007, 20:15 »
me parece que estas mal en esto: fwrite(aux,sizeof(tam), 1, alumno);
no deberia ser: fwrite(aux,sizeof(aux), 1, alumno);
porque con sizeof(tam), le estas diciendo que te de el tamaño de la variable tam (no su contenido), y necesitas el tamaño de la variable aux.
760
« en: Jueves 15 de Noviembre de 2007, 18:54 »
jaja me gano por unos minutos eternal idol, miemtras escribia mi mensaje
761
« en: Jueves 15 de Noviembre de 2007, 18:52 »
Primero un consejo, siempre coloca tu codigo con [ code][ /code], (sin espacio en los corchetes) hace que sea mas legible. El arreglo está declarado en dos dimensiones porque en C++ no existen sentencias de tipo string, sino sólo de tipo char
Eso no es cierto, en C++ si existe el tipo string, esta declarado dentro del namespace std, solo tienes que añadirlo a tu codigo, pero deberias usar ademas cout y cin. Es C el lenguaje en que no existe string, solo char. Te pongo el codigo para que te des cuenta de la diferencia C++ #include <iostream> // Nota el uso del namespace using namespace std; int main() { string nombre[3]; int x, y; for (x = 0; x <= 2; x++) { cout << "inserte nombre " << x + 1; cin >> nombre[x]; } for (y=0; y<=2; y++) { cout << "\n" << nombre[y] << "\n"; } system ("pause"); return 0; }
Asi que para hacerlo en C++, deberias hacer algo como esto: void leer_nombre(string nombre[]) { int x; for (x = 0; x <= 2; x++) { cout << "inserte nombre " << x + 1; cin >> nombre[x]; } }
y el llamado de la funcion: Si te decantas por utilizar C en lugar de C++, la rutina seria asi: void leer_nombre(char nombre[][10]) { int x; for (x = 0; x <= 2; x++) { printf ("inserte nombre %d ", x+1); scanf("%s", nombre[x]); } }
Nota como pongo el tamaño de la segunda dimension en el parametro, no es necesario poner el tamaño de la primera dimension. Con esto ya tienes para terminar lo demas. Saludos
762
« en: Jueves 8 de Noviembre de 2007, 19:49 »
Un detalle mas, todos los array comienzan en el elemento 0, no en el uno, por lo tanto, en una matriz (o array multidimensional, como lo quieras ver) el primer elemento es el - [0], no el [1][1]. En un array de 8 elementos, los valores van del 0 al 7, en uno de 10, los valores van del 0 al 9 y asi sucesivamente
Lo comento por que veo que erroneamente tratas de leer la primera letra con c[1], y seria mas bien con c[0] Saludos
763
« en: Jueves 8 de Noviembre de 2007, 19:41 »
Tu error esta en la declaracion del array, en C, cuando apartas espacio para las cadenas de caracteres, debes de apartar espacio para el caracter de fin de cadena o nulo '\0', es decir, si vas a almacenar 2 caracteres en la cadena, debes apartar espacio para tres, si vas a almacenar 10, debes apartar espacio para 11, es mas, aun cuando la cadena este vacia "", en realidad contiene un caracter, y ese caracter es presisamente el nulo '\0'. Todas las funciones de C que trabajan con cadenas, utilizan el nulo como fin de cadena, por lo tanto, al no encontralo, siguen leyendo en la memoria hasta que lo encuentren, esa es la razon por la que obtienes basura. Resumiendo, te pondre lo incorecto y lo correcto: #include <stdio.h> // Codigo incorrecto, no ejecutar, se debe apartar espacio para 3 caracteres char c[8][2]={"c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8"}; int i; int main() { for (i = 0; i < 8; i++) printf ("%s\n", c[i]); return 0; }
#include <stdio.h> // Codigo correcto char c[8][3]={"c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8"}; int i; int main() { for (i = 0; i < 8; i++) printf ("%s\n", c[i]); return 0; }
Saludos
764
« en: Lunes 29 de Octubre de 2007, 00:43 »
Tareas no se hacen, se da ayuda en dudas puntuales sobre codigo que ya tengas hecho. de todas formas, te dare una pista, para obtener las monedas es cuestion de hacer divisiones sucesivas, tomas el cociente, como resultado, y con el residuo haces otra division, asi hasta que llegas a la moneda minima. (1.70 / 1 = 1 y sobra .70, .70 /.50 = 1 y sobra .20, .20 /.25 = 0 y sobra .20, .20 /.10 = 2 y sobra 0, asi obtienes 1 moneda de 1, 1 moneda de .50, 0 monedas de .25 y 2 monedas de .10) Saludos
765
« en: Lunes 22 de Octubre de 2007, 22:11 »
pues si te la estas jugando, dejame decirte que ya perdiste el juego.
No se hacen tareas en este foro, debes hacerlo tu mismo, y si ya tienes algo hecho por ti, entonces puedes poner la parte del codigo en la que tengas dudas. En caso contrario dudo que alguien te haga la tarea completa.
Saludos :-)
766
« en: Miércoles 17 de Octubre de 2007, 18:20 »
Pues yo añadiria Code::blocks a la lista, en mi opinion es mucho mejor que el dev-cpp y tambien utiliza el compilador MingW/GCC. Aunque por otro lado, considero inutil la encuesta, ya que cada quien considera mejor al IDE que mas se adapta a su estilo de trabajo. A fin de cuentas, no hay mejor ni peor, simplemente son opciones diferentes ![Wink ;)](https://solocodigo.com/Smileys/solocodigo/wink.gif) Saludos
767
« en: Miércoles 17 de Octubre de 2007, 18:14 »
Si es una tarea tuya... ¿Qué nos aporta a los demás? ¿Vamos a postear todas nuestras prácticas... hasta la de rellenar un array de atrás alante? Yo también hice muchas prácticas chorras... Pues no tiene nada de malo hacerlo, que yo sepa, esta prohibido y se considera de mal gusto el pedir que alguien te haga la tarea, pero no hay ningun reglamento que diga que no puedo poner algun codigo que yo haya hecho. Si consideras que a ti no te sirve, pues simplemente ignoralo ![Wink ;)](https://solocodigo.com/Smileys/solocodigo/wink.gif) , habra alguien a quien si le sirva. Saludos
768
« en: Miércoles 10 de Octubre de 2007, 18:47 »
¿Qué ganas conviertiendo un algoritmo de O(n) en O(n^2)? Quizas cumplir con alguna Tarea desquiciada de algun maestro,ya ves a veces los maestros piden tareas para comprobar si saben hacer x cosa, aunque no se haga de manera eficiente
769
« en: Miércoles 10 de Octubre de 2007, 18:25 »
Es muy simple, vas por buen camino, no necesitas ninguna libreria extra aparte de string.h, solo necesitas declarar una matriz de cadenas de la siguiente manera: char ConjuntoA[3][20] = { "Casa", "Auto", "Calle 29"}; char Elemento[20] = "Casa";
y entonces ya puedes hacer hacer la comparacion de las cadenas: if (strcmp(ConjuntoA[i], Elemento) == 0)
Con esta informacion supongo que ya podras hacer lo demas. Solo ten cuidado de declarar suficiente espacio para el tamaño de tus cadenas (en este caso, yo use tamaño 20) y suficiente espacio para el total de elementos (en este caso 3, pero si utilizas 10, por ejemplo, solo cambia el 3 por el 10 Saludos 8)
770
« en: Domingo 7 de Octubre de 2007, 21:09 »
Tu pregunta es muy vaga, depende de que compilador y libreria grafica estes utilizando (cosa que no mencionas), pero una solucion seria guardar la pantalla como archivo BMP, y de ahi abrirla con Paint o algun programa de ese tipo, y asi imprimirla. Saludos
771
« en: Domingo 30 de Septiembre de 2007, 22:14 »
En C# no hay equivalente a gosub, pero puedes sustituirlo definiendo un metodo (funcion) dentro de la clase, y entonces llamas al metodo en lugar de hacer gosub. Saludos
772
« en: Sábado 29 de Septiembre de 2007, 05:12 »
Tomado de la ayuda de MSDN No se puede modificar el valor devuelto de 'expresión' porque no es una variable Cannot modify the return value of 'expression' because it is not a variable
Se intentó modificar un tipo de valor que es el resultado de una expresión intermedia. Debido a que dicho valor no es persistente, queda sin modificar.
Para resolver este error, almacene el resultado de la expresión en un valor intermedio o utilice un tipo de referencia para la expresión intermedia.
Ejemplo En el código siguiente se genera el error CS1612.
Copiar código // CS1612.cs public struct MyStruct { public int Width; } public class ListView { public MyStruct Size { get { return new MyStruct(); } } } public class MyClass { public MyClass() { ListView lvi; lvi = new ListView(); lvi.Size.Width = 33; // CS1612 // Use this instead: // MyStruct temp = lvi.Size; // temp.Width = 33; } public static void Main() {} }
O mejor aun, si no quieres usar una variable intermedia (temp), utiliza mejor una clase en lugar de una estructura, lo probe y funciona correctamente. Saludos
773
« en: Miércoles 26 de Septiembre de 2007, 18:53 »
¿Despues de finalizar las clases siempre va punto y coma?
Asi es. ¿si no pongo "using namespace std;" cuando utilizo conio, el programa no funcionara? ya que nunca utilizaba eso y si funcionaba, si utilizo las librerias aunque cuando publique el programa no las agrege
el "using namespace std;" no es para utilizar conio, es para la utilizacion de cout, cin, y similares. En compiladores antiguos de C++ no era necesario, pero en compiladores mas nuevos (como el que yo utilizo), si es necesario, puesto que esas funciones estan definidas en namespaces, el uso de namespaces es para evitar ambigüedades, o sea, que tu puedes tener dos funciones que se llamen igual, pero en namespaces diferentes, en ese caso, antepones el nombre del namespace a la funcion, y asi evitas la ambiguedad. o sea, que si no utilizas namespaces, tendrias que escribir: std::cout << "Hola Mundo\n";
El tema de namespaces es muy amplio, si tienes mas dudas, busca acerca de namespaces, para que tengas mas informacion/ejemplos. Saludos
774
« en: Martes 25 de Septiembre de 2007, 02:42 »
Antes que nada, te recomiendo que indentes tu codigo y utilices [ code ][ /code ] (sin espacio entre los corchetes) al postear, eso hace mas clara la lectura. Queda un error, pero en esa parte no se que es lo que quieres hacer, asi que no lo he corregido, necesitaras estudiar muuuuuucho mas, pues se nota que te hace falta practica, he dejado comentarios para que te des cuenta de cuales fueron tus errores ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) #include <stdio.h> #include <stdlib.h> #include <iostream> // necesario para utilizar cout using namespace std; // necesario para utilizar cout class cliente { private: char num[30]; cliente * sig; public: char * cliente:: getnum() { return num; } void cliente:: clien() { gets(num); } void cliente:: direccion(cliente * siguiente) { sig=siguiente; } cliente* cliente:: sigue() { return sig; } }; // Olvidate poner un punto y coma aqui void insertar_antes(cliente **inicio) { cliente *aux, * aux2; aux2= * inicio; aux= new cliente; aux->clien(); aux->direccion(aux2); * inicio= aux; } void creacion(cliente** inicio) { cliente *aux; aux=new cliente; aux-> clien(); aux->direccion(NULL); *inicio= aux; } void meter(cliente** inicio) { cliente *aux; // en esta definicion pusiste clien,y es cliente aux= *inicio; if (aux==NULL) creacion(&aux); else insertar_antes(&aux); *inicio=aux; } void sacar(cliente** inicio) { cliente*aux; cliente *aux2; aux=*inicio; if (aux==NULL) cout<<"Ta vacia"; else { aux2= aux-> getnum(); // en esta parte no se que quieres hacer delete aux; *inicio=aux2; } } char menu() { char opc; clrscr(); gotoxy(30,3); cout<<"MENU"; gotoxy(28,7); cout<<"1)Meter"; gotoxy(28,9); cout<<"2)sacar"; gotoxy(28,11); cout<<"3)Salir"; do { opc=getch(); } while (!strchr("123",opc)); return opc; } main() { cliente*cima; cima=NULL; char opc; do { opc=menu(); switch (opc) { case'1': meter(&cima); break; case'2': sacar(&cima); } } while (opc!='3'); }
Saludos
775
« en: Martes 25 de Septiembre de 2007, 02:08 »
Acabo de recordar que SI hay manera de hacerlo, pero las directivas de preprocesador se escribirian de manera diferente ![Tongue :P](https://solocodigo.com/Smileys/solocodigo/tongue.gif) #if defined( _DEBUG ) || defined( _RELEASE ) //Codigo #endif
Nota el uso de defined y los parentesis. Creo que de esa forma es mas simple Saludos
Páginas: 1 ... 29 30 [31] 32
|
|
|