|
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 - dreadlock
26
« en: Sábado 13 de Marzo de 2004, 00:24 »
Pues la porogramacion es muy subjetiva, adictiva mmmm, pues, esto quedaria con un switch opc=getche(); switch(opc){ case 1: mensaje 1 break; case2: mensaje 2 break; } sip, esto seria lo primordial Aunque el resto es para el interezado
27
« en: Sábado 13 de Marzo de 2004, 00:02 »
Una pregunta, es que que tiene que ver ese texto de salida en la stdout, con la CGI, por que en ese codigo que postearon ami entendimiento se imito un codigo html, pero no entendi la explicacion del 2 post, de clientes y servidores¿? Un momento creo que ya entendi, un CGI para c seria imitar un codigo en html, entonces para poner hola mundo en c+++, perimero deberiamos cambiar el printf por un "cout", y poner el siguiente codigo <html> <head> <title>Hola mundo</title> </head> <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red"> <p>hola mundo</p> </body> </html>
Claro esto en su respectivo count, pero despues donde entra la parte on line¿?
28
« en: Viernes 12 de Marzo de 2004, 02:40 »
veran, me tope con este problema, se que ya es algo discutido pero como nopuse atencion con anteriodridad:D
esque tengo una variable muy larga, que no alcanza a ser almacenada en double, entonces lei hacerca de long double, pero no se que operadores se usan para leer y mostrar los datos ya saben( %d, %f, %lf), mi sentido me dijo que seria llf (quiza doble largo j3j3j3j3j3j3j3) pero no pitufa:D, haber si consiguen ayudarme, ahhh otra duda cual es la comanda de coseno hiperbolico ala -1, por que en coshl, me marca error: D
29
« en: Domingo 7 de Marzo de 2004, 20:43 »
pues se me ocurre lo sigiente, para leer el archivo ocupa fgetc, es decir lle por caracteres,
ahora declara dos variables, si creop que con eso sera suficiente(las variables deberan ser apuntadores a cadena)
ahora cuando estes leyendo aparte de ir imprimiendo el caracter en stdout(pantalla), lo alamcenas en una cadena, ahora si se llega a un retorno de carro(enter), asumimos que se trata de una nueva linea, ahora que pensando en esto necesitaras una nueva variable opcional(por que si desees que al pasar de los 80 caracteres que permite la stdout, deberas poner un contador de caracteres para que al llegar a 80 sea como un car return.
ahora si llega a un car return, o maximo de 80 caracteres, con lo que la primer variable o cadena quedara finalizada, y desde ese instante empezara a llenar al siguiente cadena, despues si se llegara a necesitar de una 3 er cadena, que no es muy ortodoxo, yo propondria comparar la 1er cadena con la 2da, con un strlen, ahora si la primera es menor a las egunda, empezamos a reescribir en la segunda cadena, o al reves segun sea el caso:D
pues si creo que eso soluciona tu problema.
30
« en: Viernes 5 de Marzo de 2004, 00:02 »
gotoxy(int x, int y); es lo que necesitas:D ejemplo: Si deceharas poner un letrero con un hola centrado juesto al centro de la pantalla: Datos: si aunque no lo creas necesitamos algunos datos tecnicos La pantalla cuenta con capaciada para 80 caracteres alo largo y 25 alo alto. Lo que nos implica que masomenos el letrero hola deberia estar la fila # 12 o' 13, ahora deberia estar en (80-4)/2 = treinta y algo, lo que en c quedaria como: gotoxy((80-4)/2,12);printf("Hola"); Aclaracion esta operacionm (80-4)/2, seria preferible poner el numero entero ¿Que si funciona si, pero no es lo ideal), esto es que es mejor poner gotoxy(4,3); ya sabes enteros.....
31
« en: Lunes 16 de Febrero de 2004, 22:15 »
mmmmmm, yo hice uno alguna vez sin ocupar la funcion goto, pero no me acuerdo donde los puse, aunque no es dificil hay te va lo que enecesitas:
-matriz -mucha imaginacion
ahora que para compilar solo basta con dar en el icono que dice run and compile
32
« en: Lunes 16 de Febrero de 2004, 22:09 »
yo voto por kbhit();
un ejemplo
do{ if(kbhit());//si se presiona una tecla { printf("Fin); exit(0); } x++; printf("\n%d",x); delay(500); }while(x<=10);
33
« en: Lunes 16 de Febrero de 2004, 22:04 »
pues depende de que quieras hacer, si deceas trabajr algo con graficos puedes bajarte la dev-cpp y la allegro, no recuerdo la pagina, pero en cualquiero buscador los encuentras
34
« en: Lunes 16 de Febrero de 2004, 21:56 »
pues hay varias formas, una seria jugar con los registros de windows, o incluso acer que el progreama se ejecutara, por medio de tareas programadas, otra seria haciendo un disco booteable
35
« en: Miércoles 4 de Febrero de 2004, 00:41 »
el compilador dev c++ no trae la funcion clrscr(), por que¿? eso si quien sabe
36
« en: Martes 27 de Enero de 2004, 16:34 »
gracias eso era lo que necesitaba
37
« en: Viernes 23 de Enero de 2004, 23:42 »
|==\ |==\|== /\ |==\ | ||__|| | || | | || \|° |°°|| | |==/ | /|__| ||==/ Veran, esta es mi pregunta, si quiero hacer una accion mientras que algo no suceda tendria que hacer algo asi: si quiero que se haga mientras el usuario no haga nada seria: nada=no apretar teclas. do{ //accion }while(!kbhit());
eso es algo medio facil, pero que hay si quiero que se haga mientras el usuario no presione alguna tecla en especifico si pongo algo como: do{ //accion }while(getche()!=50);
entre cada iteracion el programa pediria alguna tecla, y si pulsaramos una que no tuviera el valor ascci 50 el programa haria n iteraciones hasta que se pulsara "2" cuyo valor ascci es 50 El dilema es hacer algo como lo anterior, que se pueda iterar mientras una accion no se realice, en el ejemplo anterior la tecla "2" Alquien sabe alguna forma de hacerlo ¿?, me imagino que existe alguna funcion que hace esto pero cual es....¿? Les agradecere cualquier ayuda
38
« en: Viernes 23 de Enero de 2004, 21:49 »
pero en que funcion, o en que parte de tu codigo te manda el error, por que bueno para escribir datos a un archivo puedes hacerlo de distintas formas con
fwrite----esto es para escribir por bloques de datos
fputc---esto escribe caracter por caracter
dependiendo de los archivos que desees guardar sera el que mas te convenga usar, en los libros de ayuda puedes obtener informacion sobre estas funciones, suerte
39
« en: Miércoles 21 de Enero de 2004, 01:45 »
Hola, espero haber entendido, quieres aplicar esos 3 codigos uno en cada programa, eso es facil, tenemos el primero // //este programa compara dos cadenas //la funcion compara regresa 0 si son iguales #include <stdio.h> #include <conio.h> int compara1 (char *cad1, char *cad2){ register int i; for (i = 0; cad1[i]; i++) if (cad1[i] - cad2[i]) return (cad1[i] - cad2[i]); return 0;} int main(){ int y; char *text1,*text2; clrscr(); printf("Compara cadenas"); printf("Ingresa la cadena 1: "); fflush(stdin); gets(text1); printf("\nIngresa la cadena 2: "); fflush(stdin); gets(text2); printf("\n------------------------------------->"); y=compara1(text1,text2); if(y==0) printf("\n Las cadenas son iguales"); if(y<0||y>0) printf("\n Las cadenas son distintas"); getche(); return (0); }
Y asi deberas hacer con las otras 2 funciones, como veras no es dificil, solo debes poner atencion en que valor regresa la funcion si es igual y desigual, espero que esto te ayude para las otras dos,
40
« en: Miércoles 21 de Enero de 2004, 01:12 »
que bueno que te sirvio. Me imagino que ocupaste algo como delay(100);para hacer tiempo entre movimiento y movimiento Despues quiza, te interese ponerle color al asunto con: textcolor(int); cprintf("string"); o' ocultar el mouse _setcorsortype(_NOCURSOR);
41
« en: Lunes 19 de Enero de 2004, 16:30 »
Si, puedes hacer aplicaciones de control, y se puyeden utilizar dichos datos mas facilmente, por ejemplo con estructuras puedes hacer un programa que lleve el control de una biblioteca, cosas muy practicas
42
« en: Lunes 19 de Enero de 2004, 16:27 »
WAo todo lo que e aprendido hoy!!!,
43
« en: Lunes 19 de Enero de 2004, 16:21 »
que deseas hacer¿?.
Por que avecez la funcion delay(), sustituye al timer, bueno asi lo hago yo. Pero depende de tu objetivo
44
« en: Miércoles 14 de Enero de 2004, 19:33 »
Yo tambien tengo preguntas:, esque empece haciendo el analizis al reves, creo que ya encontre la solucion mas fiable.
1.- Se puede convertir el texto en mayusculas o minusculas para facilitar su analisiz¿?
45
« en: Miércoles 14 de Enero de 2004, 19:29 »
haber si esto te ayuda, del codigo que te habian dado antes int i,j,matriz[10][10]; for(j=0;j<10;j++) for(i=0;i<10;i++) { if(i==j) matriz[i][j]=1; else matriz[i][j]=0; }
Lo modificamos algo asi int i,j,matriz[10][10]; for(j=0;j<10;j++){ for(i=0;i<10;i++) { if(i==j) matriz[i][j]=1; else matriz[i][j]=0; //aqui imprime los numeros printf("[%d] ", matriz[i][j]); } //aqui ya imprimio 10 numeros, estamos¿? printf("\n");//damos salto de linea }
ESpero que te sirva
46
« en: Martes 13 de Enero de 2004, 05:41 »
Tengo unas dudas Como veo que ya hay otros dos participantes en este, me supongo que debe haber un legitimo mejor programador jejejeje que se supondria es quien lo haga primero, pero pense en mi cabesota estan algunas ideas, que no eh tenido la oportunidad de llevar a cabo por problemas con la maquina, pero ahora esta jalando al 100% y las llevare a cabo. pero como ya escribi tengo dudas. 1.- El ganador es quien acabe primero el programa, o quien lo haga mas bonito y funcional¿? , esto porque pensaba que no es lo mismo hacer algo en blanco y negro, que en modo grafico/ o en modo texto con colores asi bonito. aunque lo importante es que funcione verdad, en fin no redundare. 2.- Me imagino que como en todo buen concurso debemos hacer solo lo que el cliente pide en este caso el buen JuanK, eso decia mi maestro . 3.- Es que pense que ahhh que va lo hare lo mejor que pueda, ahora si desde ahora empieza la cuenta regresiba, en una semana (el 19 de enero tendre alkgunos resultados). 4.- no hay 4, solo les deseo suerte alos demas concurantes Noticia de ultima hora(como no lei la segunda hoja), me acobo de enterar que un concursante casi acaba, me tendre que apurar, no leere los codigos del compañero, para poner a trabajar mas a mi cerebro.
47
« en: Martes 13 de Enero de 2004, 05:23 »
Pues creo que te entendi tu quieres que se guarde el contenido de una lista a un archivo. Como hay dos tipos de listas enlazadas(simplemente enlazadas y doblemente enlazadas), yo te pongo la que ocupa fread, y fwrite, esque la de doblemente enlazada en mi version personal lee bitexbite. //Natty Dread Lock //lista simplemente enlazada #include<stdio.h> #include<string.h> #include<conio.h> #include<ctype.h> #include<dos.h> #include<stdlib.h> #include<a:portada.h> # define MAX 6 int i; int borrando=0; void intro_ficha(void); void lista_ficha(void); void muestra_ficha(void); void borra_ficha(void); void almacena_datos(void); void lee_datos(void); void asigna_memoria(void); void visu_ficha(struct agenda*);//////////////////////// struct agenda *display_ficha(char *n); struct agenda *busca(char *inbuf); struct agenda *primero,*nuevo,*indice; ////////////////////////////////// struct agenda{ char nombre[30]; char direccion[50]; char telefono [10]; struct agenda *siguiente;//apunta al siguiente elemento de la lista }; ////////////////////////////////// void asigna_memoria(){ nuevo=(struct agenda*)malloc(sizeof(struct agenda)); if(nuevo==NULL){ gotoxy(2,13);printf("Espacio de memoria insuficiente"); getche(); for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} return; } if(primero==(struct agenda*)NULL) primero=indice=nuevo; else{ indice=primero; while(indice->siguiente!=(struct agenda*)NULL) indice=indice->siguiente; indice->siguiente=nuevo; indice=nuevo;}} ///////////////////////////////////////////////////// void intro_ficha(){ asigna_memoria(); for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-19)/2,13);printf("Agregando Datos!!!!"); gotoxy(5,16);printf("Nombre: "); fflush(stdin); gets(indice->nombre); gotoxy(5,17);printf("Direccion: "); fflush(stdin); gets(indice->direccion); gotoxy(5,18);printf("Telefono: "); fflush(stdin); gets(indice->telefono); indice->siguiente=(struct agenda*)NULL; } ///////////////////////////////////////// void lista_ficha(void){ if(primero==(struct agenda*)NULL){ for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-15)/2,13);printf("Lista vacia!!!!"); getche();//retener mensaje return;} indice=primero; do{ visu_ficha(indice); indice=indice->siguiente; }while(indice!=(struct agenda*)NULL); } //////////////////////////////////////////////// void muestra_ficha(void){ char inbuf[30]; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy(5,13);printf("Mostrar la ficha con Nombre: "); fflush(stdin); gets(inbuf); display_ficha(inbuf);} ///////////////////////////////////////////////////// void visu_ficha(struct agenda *visu){ for(i=2;i<=79;i++){ gotoxy(i,13);printf(" "); gotoxy(i,16);printf(" "); gotoxy(i,17);printf(" "); gotoxy(i,18);printf(" ");} gotoxy(30,13);printf("Mostrando datos!!!!"); gotoxy(5,16);printf("Nombre: %s",visu->nombre); gotoxy(5,17);printf("Direccion: %s",visu->direccion); gotoxy(5,18);printf("Telefono: %s",visu->telefono); if(borrando==0){ hori(22); gotoxy(26,23);printf("Presiona CUALQUIER tecla para continuar"); getche();} } //////////////////////////////////////////////// void borra_ficha(){ struct agenda *borra; char inbuf[30]; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy(5,13);printf("Borra la ficha con el nombre: "); fflush(stdin); gets(inbuf); borra= ((struct agenda*)display_ficha(inbuf)); if(borra==(struct agenda*)NULL) return; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy(5,13);printf("Deseas borrar esta ficha? s/n: "); switch(toupper(getche())){ case 'N':return; case 'S':break;} if(borra==primero) primero=primero->siguiente; else{ indice=primero; while(indice->siguiente!=borra) indice=indice->siguiente; indice->siguiente=borra->siguiente; } free(borra);} ////////////////////////////////////////////////////// struct agenda *display_ficha(char *n){ struct agenda *ficha; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-18)/2,13);printf("Buscando ficha!!!!"); if(!(ficha=(struct agenda *)busca(n))){ for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-23)/2,13);printf("Ficha no encontrada!!!!"); getche(); return NULL; } else visu_ficha(ficha); return ficha;} /////////////////////////////////////////////////// struct agenda *busca(char *inbuf){ indice=primero; while(indice!=NULL){ if(!strcmp(inbuf,indice->nombre))return indice; indice=indice->siguiente;} return NULL;} /////////////////////////////////////////////// void intro(){ clrscr(); margenes(); gotoxy(3,2);printf("Programa No: 30"); hori(3); gotoxy(3,4);printf("Lista enlazada"); gotoxy(3,9);printf("Descripcion:"); gotoxy(3,10);printf("Este programa maneja una lista enlazada"); hori(22); gotoxy(20,23);printf("Presiona Cualquier tecla para continuar"); getche(); } ///////////////////////////////////////// main(){ clrscr(); portada(); intro(); for(;;){ clrscr(); borrando=0; int opc; margenes(); gotoxy((80-14)/2,2);cprintf("<--@G3|\|d@-->"); hori(3); gotoxy((80-22)/2,4);cprintf("1.- Agregar"); gotoxy((80-22)/2,5);cprintf("2.- Listar todos"); gotoxy((80-22)/2,6);cprintf("3.- Mostrar por nombre"); gotoxy((80-22)/2,7);cprintf("4.- Borrar por nombre"); gotoxy((80-22)/2,8);cprintf("5.- Guargar a disco"); gotoxy((80-22)/2,9);cprintf("6.- Leer de disco"); gotoxy((80-22)/2,10);cprintf("7.- Salir"); hori(12); hori(14); gotoxy((80-22)/2,13);cprintf("Elige tu opcion: "); scanf("%d",&opc); switch(opc){ case 1: intro_ficha(); break; case 2: lista_ficha(); break; case 3: muestra_ficha(); break; case 4: borrando=1; borra_ficha(); break; case 5: almacena_datos(); break; case 6: lee_datos(); break; case 7: exit(0); break;} } } //////////////////////////////////////////////// void almacena_datos(void){ FILE *ap; char *ruta=NULL; int c=0; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-21)/2,13);printf("Guardando a disco!!!!"); gotoxy(5,16);printf("Directorio: "); fflush(stdin); gets(ruta); if((ap=fopen(ruta,"wb"))==NULL){ for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-31)/2,13);printf("El archivo no se puede abrir!!!!"); getche(); return;} indice=primero; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} do{ //efecto if(c==5){ c=0;} if(c==0||c==3){ gotoxy(39,13);printf("|");} if(c==1){ gotoxy(39,13);printf("/");} if(c==2){ gotoxy(39,13);printf("-");} if(c==4){ gotoxy(39,13);printf("\\");} fwrite(indice,sizeof(struct agenda),1,ap); indice=indice->siguiente; c++; }while(indice!=(struct agenda*)NULL); fclose(ap);} //////////////////////////////////////////// void lee_datos(void){ FILE *ap; char *ruta=NULL; for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-21)/2,13);printf("Leer datos de disco!!!!"); gotoxy(5,16);printf("Directorio: "); fflush(stdin); gets(ruta); if((ap=fopen(ruta,"rb"))==NULL){ for(i=2;i<=79;i++){ gotoxy(i,13);printf(" ");} gotoxy((80-31)/2,13);printf("El archivo no se puede abrir!!!!"); getche(); return;} asigna_memoria(); do{ indice->siguiente=nuevo; indice=nuevo; fread(indice,sizeof(struct agenda),1,ap); nuevo=(struct agenda*)malloc(sizeof(struct agenda)); }while(indice->siguiente!=NULL); fclose(ap); }
te pongo la portada por que si no deberas quitar algunas funciones void portada(); void margenes(); void hori(int y); void oso(int x, int y); char c; int x,y; void portada(){ clrscr(); //hacer margenes// margenes(); //datos inportantes textcolor(15); gotoxy(25,2);cprintf("INSTITUTO POLITECNICO NACIONAL"); gotoxy(19,4);cprintf("INGENIERIA EN COMUNICACIONES Y ELECTRONICA"); gotoxy(33,6);cprintf("COMPUTACION III"); gotoxy(37,8);cprintf("Alumnos:"); gotoxy(16,10);cprintf(" Parra Jimenez Pedro Alejandro Boleta: 2003300670"); gotoxy(16,12);cprintf(" Hernandez Curiel Carlos Boleta: 2003300000"); gotoxy(36,14);cprintf("Grupo 3c5v"); textcolor(GREEN+BLINK);gotoxy(12,16);cprintf("[*]_[.] '*-Presiona CUALQUIER tecla para continuar-*' [.]_[*]"); getche(); }//fin funcion principal void margenes(){ textcolor(15); for(x=2;x<=79;x++){//margenes inferior/superior c=205; gotoxy(x,1);cprintf("%c",c); gotoxy(x,24);cprintf("%c",c);} //esquinas c=188; c=201; gotoxy(1,1);cprintf("%c",c); c=200; gotoxy(1,24);cprintf("%c",c); c=187; gotoxy(80,1);cprintf("%c",c); for(y=2;y<24;y++){//margenes laterasles c=186; gotoxy(1,y);cprintf("%c",c); gotoxy(80,y);cprintf("%c",c);}//fin margenes laterales c=188; gotoxy(80,24);cprintf("%c",c); } void hori(int y){ //hori(No de linea) textcolor(15); gotoxy(80,y);cprintf("¹"); gotoxy(1,y);cprintf("Ì"); for (x=2;x<80;x++){ gotoxy(x,y);cprintf("Í");} } void oso(int x,int y){ //declaracion //i coordenadas en x //j coordenada en y //j = Numero de linea; //colocar en la linea No //hori(i,j);} gotoxy(x,y);printf(" o,,,o"); gotoxy(x,y+1);printf(" ( '; ' )"); gotoxy(x,y+2);printf("(,('''''),)"); gotoxy(x,y+3);printf(" ('')'('')"); }
Espero que esto te ayude Suerte ...Perdon por el flower, pero fue sin querer, di responder sin querer, mil disculpas
48
« en: Martes 13 de Enero de 2004, 05:21 »
Perdon borre esto por que descubri el "modificar"
49
« en: Martes 6 de Enero de 2004, 17:53 »
pues creo que si mi memoria no me falla, el borland que tienes, hace aplicaciones para windows, por lo que la biblioteca dos.h no esta presente, es como el dev-c++, aunque se debe poder hacer lo que quieres pero utilizando ficheros de sonido ya sean wav, mp3, etc.
Amenos que obtengas ayuda sobre sound();, y nosound();, y si dice que esta ala mejor hiciste algo mal este es un ejemplo de esto
sound(1000); delay(200); nosound();
esto ami me funciona.
50
« en: Martes 30 de Diciembre de 2003, 14:31 »
mira esto que aqui adjunto quiza te funcione #include <string.h> #include <stdio.h> #include <conio.h> int main(void) { FILE *stream; char string[] = "This is a test"; char ch; /* abrir el archivo para lectura*/ stream = fopen("DUMMY.FIL", "r+"); //leer caracter por caracter //para comparar do { /* leer caracter */ ch = fgetc(stream); /* muestra el caracter */ putch(ch); } while (ch != EOF);//mientras no sea el fin del archivo fclose(stream);//cierra el archivo return 0; } [QUOTE] podrias hacerle las debidas modificaciones para evalues parrafo ´por parrafo, si tomas en cuenta que el salto de linea, o retorno de carro tiene estas equivalencias. 1.- Formato hexadecimal 10 2.- Formato texto '\r' por lo que podrias poner algo como
if((ch = fgetc(stream))!='\r'){ //evaluas la cadena como desees /* muestra el caracter */ putch(ch); } else printf("\n");//imprime salto de linea
con fscanf, es algo parecido, solo tendrias que hacer algunas modificaciones. Espero que esto te ayude
|
|
|