|
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 - JuanK
Páginas: 1 ... 208 209 [210] 211 212 ... 231
5226
« en: Viernes 13 de Junio de 2003, 15:58 »
Funciona, lo probe en mi equipo,
recompilaste antes de probar???
otra opcion puede ser con getche(), fflush(stdin),..pero se me hace muy raro que no te haya funcionado, la verdad creo que no recompliaste.
Juank
5227
« en: Viernes 13 de Junio de 2003, 15:43 »
tanto como bloqueo..no opero puedfes retringir la entrada desde el teclado cuando se digiten estos valores. Para hacerlo utiliza el encabezado dos.h y las funciones bioskey, y kbhit.
Juank
5228
« en: Viernes 13 de Junio de 2003, 15:40 »
coloca un ciclo desde el inicio aqui te adjunto un ejemplo: int resp=0; while(resp==0) { printf("aqui va todo el programa"); printf("desea continuar? 0=si, otro=no"); scanf("%d",&resp); }
Juank
5229
« en: Viernes 13 de Junio de 2003, 15:13 »
creo que esta es la misma pregunta que arriba asi que solo te contestare una vez
juank
5230
« en: Viernes 13 de Junio de 2003, 15:06 »
bueno estas aprendiendo y no deberias hacer estas apreguntas, porque se supone que lo debes resolver tu mismo..intenta hacer lo que se te ocurra, y prueba , pero si te equivocas, pues adivina... vuelve a intentar algo diferente.. asi es como se aprende, mi consejo es que si quieres aprender muy bien a programar , tengas mucha pasciencia y dedicacion, sabes asi te tomes dos fines de semana en algo realmente sencillo, sera muy productivo porque vas a aprender no solo a hacerlo sino que vas a desarrollar tu mente para programar cada vez cosas mas complicadas.. termina uno volviendose inteligentisisisimo.. eso es un excelente entrenamiento, yo se porque te lo digo.
Juank
5231
« en: Viernes 13 de Junio de 2003, 14:29 »
lo que pasa es que la funcion gets, te captura toda la cade con exepcion del enter, entonces este queda atrapado en el buffer de la entrada standart.. entonces lo que hay que hacer es capturar esa entrada del buffer..asi: getc(stdin); stdin es un apuntador a la entrada estandart. te queda asi: #include <stdio.h> #include <conio.h> void main(void) { struct temperaturas { char nom_pais[20]; int temp_max; int temp_min; }paises[25]; int c; for (c=0;c<=24;c++) { printf("introduzca pais: n"); gets (paises[c].nom_pais); printf("introduzca temp max: n"); scanf("%d",paises[c].temp_max); printf("introduzca temp min: n"); scanf("%d",paises[c].temp_min); getc(stdin); } while(getch()=='n'); }
listo, hasta luego... Juank
5233
« en: Jueves 12 de Junio de 2003, 20:11 »
Para programar comodamente en djgpp necesitas instalar el rhide, aunque no es estrictamente necesario.
pero ello lo discutiremos una vez tengas instalado el djgpp.
Juank
5234
« en: Jueves 12 de Junio de 2003, 20:07 »
http://foros.solocodigo.com/viewthread. ... 6&pid=8201en este link, esta la lista de archivos que yo bajem, aunque tu deberias escojer cuales necesitas. UNa vez los hayas bajado, bajas el archivo unzip32 o unzip de la misma pagina. con este ejecutable vas descomprimiendo todos los zip que descargaste ejemplo unzip -o gdb521b.zip una vez descomprimidos todos en la misma carpeta, haces esto: agregar al archivo del autoexec.bat esto: SET PATH=C:/DJGPP/bin;%PATH% SET DJGPP=C:/DJGPP/djgpp.env y guardarlo, de tal manera que no tengas que volver a hacer todo cada vez que reinicias el pc, esto solo sirve si es win 95 98 me, si es nt, 2000, o xp, no deberas agregarlas al autoexec.bat, sino que deberas seguir otro procedimiento: ingresa a las propiedades de MI PC y luego en el recuadro vas a la pestaña de avanzado, luego al boton variables de entorno y cargas alli las variables : click en nueva, escribes el nombre y luego el valor, despues presiona OK:  Juank
5235
« en: Jueves 12 de Junio de 2003, 19:42 »
1 preguntaveamos el codigo: if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0) { strcpy(listad->info,pathaux); aux=(Lista *)malloc(sizeof(Lista)); listad->next=aux; aux->back=listad; listad=aux; } else { if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0) { i=strlen(list->d_name)-1; if( ( list->d_name[i]=='c'|| list->d_name[i]=='h' ) && list->d_name[i-1]=='.' ) {
La primera vez usamos: if( opendir(pathaux)!=NULL && strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
opendir(pathaux)!=NULL esta parte nos controla que abra la ruta especificada strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..") y esta nos controla que no entre al if si la ruta especificada es el directorio "." o el directorio ".." Luego hacemos esto: else { if( strcmp(list->d_name,".")!=0 && strcmp(list->d_name,"..")!=0)
Esto nos valida que si no entro por el if sino por el else se determinan dos razones: la primera que no haya entrado porque era el directorio "." o el ".." y que si no entro al if por una razon diferente, osea porque fallo opendir, es porque es un archivo..!!! 2 pregunta if((fp=fopen(listaf->info,"rt"))!=NULL) { fd=fileno(fp); tamtot=0; while(tamtot <filelength(fd)) { memset(larguebuff,' ',sizeof(larguebuff));
es una trampa que yo jejeje .. dado que la funcion filelength() requiere como parametro un numero identificador de archivo, y yo trabajo más comodamente con apuntadores, con la funcion fileno() obtengo un numero identificador de archivo con base al apuntador de un archivo.. de esta manera , puedo usar el numero identificador para pasarselo como parametro a filelength() y obtener el tamaño del archivo... 3- preguntafseek, mueve el apuntador del archivo a una posicion especifica, es decir para recorrer el archivo, necesitas desplazar el apuntador del archivo a otra posicion, eso es lo que hace fseek. Esta es una copia de la referencia del libc en ingles para fseek: Juank
5236
« en: Jueves 12 de Junio de 2003, 18:54 »
1-no has definidi el tipo art: struct nodo_articulo { art inf_articulo; struct nodo_articulo *sig; };
devido a esto se derivan multiples errores de compilacion3 2-luesgo dices struct *nuevo, pero eso nde por si no es nada porque no mencionas el tipo de la estructura... devido a esto se derivan multiples errores de compilacion3 3-por aqui te falta un punto y coma: nuevo=(struct nodo_articulo*)malloc(sizeof(struct nodo_articulo) nuevamente esto desencadena multiples errores Creo que deberias buscarte un libro de programacion basica, proque todos estos errores sojn muy faciles de detecdtar porque el compilador te dice aprox. en que linea esta cada error, y te da una idea de lo que es cada cosa. Si no tienes un compilador en un idioma que manejes, te sugiero qu mejor consigas uno, o te armes de un buen diccionario o de un programa de traduccion. Juank
5237
« en: Jueves 12 de Junio de 2003, 17:57 »
si el archivo que te envie te compila bien..entonces deberias revisar tu codigo, siquieres te ayudo pero necesito que me lo envies...
despues te explico lo de los directorios.
juank
5238
« en: Jueves 12 de Junio de 2003, 17:04 »
No se mucho de c++ y espero no equivocarme, pero uno de tus principales errores es que el main no se encuentra dentro de ninguna clase... otro es que en la funcion calc_datos le recives el parametro &b, y no es necesario, para tu caso solo b funciona bien.
functions containing while are not expanded in line
en español el error seria algo asi como:
existen funciones fuera del contenedor es decir por fuera de la clase.
el hecho de que diga while, no se refiere a que cometiste un error de sintaxis en el while que usas en la funcion.
Juank
5239
« en: Jueves 12 de Junio de 2003, 16:17 »
1-debes trabajar con funciones como time(); para utilizarlas se necesita time.h 2-tambien debes manejar archivos.
-La idea es que el programa lo puedas ejecutar de dos maneras, una en modo configufracion y otra en modo alerta.
en modo configuracion te debe solicitar que digites la fecha en que se debe dar aviso, y una vez la ingreses, la debes guardar en u archivo de texto.
el modo de alerta, que debe ser el modo normal, debera leer el archivo de texto y compararlo con la fecha actual, y si es el dia indicado informarte si hay o no guardia, o infomarte cuantos idas faltan para el dia de guardia.
una vez lo hayas hecho, lo debes cooiar en la carpeta de inicio de sesion para que cada vez que inicies sesion te de el aviso correspondiente.
Juank
5240
« en: Jueves 12 de Junio de 2003, 15:31 »
enviamelos, please..
lo que pasa es que argentina utiliza pal pero el resto de america utiliza ntsc, y es precisamente de este sistema que necesito informacion.. de pal tengo bastante aunque no tenia lo que me envias.. La idea es que quiero hacer un codificador para poder ver todos mis canales de cable..jejejejejej gracias
Juank
5241
« en: Jueves 12 de Junio de 2003, 00:33 »
Hola, alguien me podria suministrar algo de informacion sobre la codificacion y decodificacion de señales ntsc?? Ya he conseguido basta<nte pero para el sistema PAL, y para ntsc solo un poco , pero no un documentio completo bien fundamentado.
Como hasta ahora estoy comenzando, y me disculpan sino tiene mucho que ver entonces con el foro, me gustaria que me facilitaran algo que no incluya programacion de algun microncontrolador, es decir apenas un circuito son resistencias, condensadores, transistores, resistores, diodos y cables, hahh si y una portoboard o una placa sencilla... Espero que alguien me pueda colaborar... Gracias..
Juank
5242
« en: Miércoles 11 de Junio de 2003, 23:17 »
5243
« en: Miércoles 11 de Junio de 2003, 22:13 »
Todavia estoy de mal genio, pero bueno no te voy a hacer sufrir(jejeje yo si soy mucho hij...) Para validar la entrada de un caracter.. scanf("%c",&var); if(var>=48 && var<=57)//este es el rango ascii de los numeros { printf("digito un numero"); } else { if( var>=65 && var<=90 )//digito mayusculas { printf("digito una letra mayuscula"); } else { if( var>=97&& var<=122)//digito miniscula { printf("digito una letra minuscula"); } } }
este es un ejemplo sencillo. ahora si necesitas hacer algo con numeros de mas de un carater, seria mas dificil, pero un atajo es con la funcion atoi que convierte una cadena a su equivalente numerico.. esto convierte la cadena a su equivalente en entero base 10, y si el nhumoer no corresponde a una cadena, te devuelve 0; Para bloquear la entrada del teclado, segun la informacion que se digite, deberas usar la funcion kbhit y/o la funcion bioskey, incluyendo el encabezado dos.h. Para aoti debes incluir string.h.- Chau. grrrrrrrrr  cuidate:flower: Juank
5244
« en: Miércoles 11 de Junio de 2003, 15:46 »
si te sirve en lenguaje c te puedo ayudar...
Juank
5245
« en: Miércoles 11 de Junio de 2003, 15:39 »
No entiendo porque utilizas doble apuntador en tantas ocasiones, no es necesario.
juank
5246
« en: Miércoles 11 de Junio de 2003, 13:56 »
Bueno.. solo aprovecho para saludarte porque tengo una reunion de trabajo...me voy.... Chauuu y un saludo a Jaime.. :devil:Ahaaaaa.. ya recuerdo que las ultimas veces que te he ayudado, ni siquiera me has contado como te fue... me tienes como de mal genio...   Chauu Juank
5247
« en: Martes 10 de Junio de 2003, 23:22 »
No mes has entendido. 1-se debe poeder enviar cualquier archivo, y segundo lo que te digo es solo para que hagas pruebas de que todo se esta enviando bien: ejemplo
/*contenido de archivo de texto:*/
envio unoenvio dosenvio tres//hasta aqui nada mas
digamos que tu buffer sea de char buffer[9] entonces la primera lectura seria
buffer="envio uno" la segunda buffer="envio dos" la tercera buffer="envio tres"
de este modo, es decir con esta prueba te daras cuenta de que tanto el primero como el ultimo paque estan siendo bien enviados y bien recibidos, la idea es hacer un archivo de pruebas lleno con cosas que te sirvan de informacion para detectar los posibles fallos.. no se si me hecho entender.. cuando yo hacia pruabas tambien enviaba archivos de solo texto porque cada caracter equivale a un byte asi que se puede ser muy preciso en la depuracion.
Juank
5248
« en: Martes 10 de Junio de 2003, 23:11 »
Es una buena idea, pero la verdad no es nada facil y hacen falta muchas cosas:
1ro que todo gente, estos sistemas grandes no los desarrollan pocas personas, se nececitan incluso 100tos de programadores.
2do el nivel de programacion es elevadisimo, y se requeririan programadores expertos en lenguajes potentes como c, c++ y assembler, aparte de un amplisimo conocimeinto de la arquitectura de las mauinas, es decir a nivel electronico, lo cual se logra solo con fondos , para que los fabricantes entreguen los derechos pertinentes, aunque hay algunos que lo harian gratis.
3ro Lamentablamente en el foro no contamos con mucha gente experta en estos lenguajes, de hecho creo que no tenemos un solo experto, y aunque la voluntad tambien es muy importante, les puedo decir que por ejemplo en el foro de c/c++ a mucho 3 o 4 personas nos animariamos si supieramos lo suficiente.
Creo que si le ponemos algo de empeño..mejor muchisimo empeño y conseguimos unos 3 programadores buenos en c y assembler por lo menos, lograriamos en mas o menos 3 o 6 meses hacer un sistema operativo del estilo del que traen los discketes de inicio de windows.. que de por si ya es grande porque soporta una buena cantidad de dispositivos de hardware... no más como ejemplo.
De todas maneras me gustaria que la discusion quedara abierta para ver que opinan los demas, aunque este tema no se da mucho para este foro , sino más bien para el foro general.
Juank
5249
« en: Martes 10 de Junio de 2003, 22:23 »
1- lo del buffer , es simple te dije que de tres veces el tamaño del buffer es porque por lo general, o almenos en los programas que he hecho, la rutina del primer paquete es difrerente de la del ultimo y estos a su vez se envian con rutinas diferentes a la de todos los paquetes intermedios, es cuestion de faciliatar el seguimiento, nunca dije que el cliente debeira recibir un buffer mayor...NOOOOOOOOO debe ser igual, sino seria un error garrafal... 2-en efecto si se transmiten 1 y 0 pero si es muy imporante porque si, por ejemplo, el disco esta particionado en segmentos de 512K y tu buffer es de 1K(por ejemplo), estas haciendo 512 envios y la cabeza de escritura en disco bajara una sola vez... asi que mejor enviarias en ese caso un buffer de 512K de una vez.. Otro ejemplo es que envies un paquete digamos de 1024k y que el disco tenga sectores de 256k, cada vez que envies datos el disco realizara 4 operaciones de escritura en cuatro sectores diferentes, lo cual implica que la cabeza de escritura sea movida 8 veces(si cuentas arriba y abajo)... en un proyecto pequeño esto no importa , pero en poroyectos grandes, esto afectara drasticamente el rendimiento de la maquina. como standart se suele utilizar un buffer de 512 o de 1024 en discos grandes. 3- Bueno, el concepto de cliente y servidor es solo en cuanto a la conexion, pero desde un angulo más amplio es diferente, si te fijas siempre existen clientes servidor en ambos extremos, ejemplo:
si subes tu pagina web al servidor web (valga la redundancia) se supone que tu eres el servidor porque tu eres el que esta enviando los archivos, pero luego la pagina web se actualiza y te dice si el envio fue exitoso, pero entonces esta informacion en html fue enviada por el servidor web, que antes era el cliente.. no se si me he hecho entender..., el caso es que siempre se debe de manejar asi como tu lo quieres hacer, se establece una conexion de doble via. En lenguajes como java, el solo hecho de crear conexion con sockets ya crea dos conecciones de una vez, una de envio y otra de recepcion.
Ahora, es importante que diferencies , porque si lo haces como tu dices sera una conexion peer to peer y no cliente servidor, y esto implicaria que los usuarios superian siempre el destino ip de las personas con las que se quieren conectar, sin contar que seguramente si el programa esta en un servidor, es mas facil la comunicacion, porque seguramente que el servidor tiene una conexion mucho mejor que que los clientes, asi que creo que seria más rapido enviar al servidor, y que el reenviara al cliente correspondiente, claor que eso depende del tipo de aplicacion.
en cuanto al tamaño del buffer en internet... no se, abria que hacer pruebas.
Juank
5250
« en: Martes 10 de Junio de 2003, 15:06 »
Hola a todos, hola JM oye se me a ocurrido una idea... como es un ejercicio tan bueno seria muy bueno que en algunos foros a nivel de desarrollo como lo son : Visual basic java c C# se Desarrollaran versiones diferentes de messeger, apoyados claro en los conocimientos funcionales que ya ha conseguido Gerard.. no es facil, pero si muy productivo... no se que opines, tampoco se sigerard se vaya a molestar...  pero por lo menos de mi parte iniciaria con alguno si no hay incoveniente... Juank
Páginas: 1 ... 208 209 [210] 211 212 ... 231
|
|
|