• Miércoles 6 de Noviembre de 2024, 01:08

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 - dreadlock

Páginas: 1 [2] 3
26
C/C++ / Re: Programacion De Un Timer En C... Ayuda Pls!!!
« en: Sábado 13 de Marzo de 2004, 00:24 »
Pues la porogramacion es muy subjetiva, adictiva :D

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 :D


Aunque el resto es para el interezado :D

27
C/C++ / Re: Solo Un Poco
« en: Sábado 13 de Marzo de 2004, 00:02 »
Una pregunta, :D 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

Código: Text
  1.  
  2. <html>
  3.  
  4. <head>
  5. <title>Hola mundo</title>
  6. </head>
  7.  
  8. <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
  9. <p>hola mundo</p>
  10. </body>
  11.  
  12. </html>
  13.  
  14.  
Claro esto en su respectivo count,
 pero despues donde entra la parte on line¿?

28
C/C++ / Manejo De Variables
« 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
C/C++ / Re: Funcion Strlen
« 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
C/C++ / Re: Como Centrar Textos En Pantalla??
« en: Viernes 5 de Marzo de 2004, 00:02 »
:D
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: :D 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.....




 :kicking:

31
C/C++ / Re: Algun Juego De Barcos En C++
« 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
C/C++ / Re: Necesito Ayuda
« 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
C/C++ / Re: Bajar El C++
« 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
C/C++ / Re: Cargador Para Programa En C++
« 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
C/C++ / Re: Una Función, Borrar Pantalla.
« 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
C/C++ / Re: Comprobacion
« en: Martes 27 de Enero de 2004, 16:34 »
gracias eso era lo que necesitaba

37
C/C++ / Comprobacion
« 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:

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while();
  5.  
  6.  

si quiero que se haga mientras el usuario no haga nada seria:
nada=no apretar teclas.

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while(!kbhit());
  5.  
  6.  

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:

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while(getche()!=50);
  5.  
  6.  

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
C/C++ / Re: Como Se Guardan Archivos En C++?
« 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
C/C++ / Re: Ayuda Please !
« 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


Código: Text
  1.  
  2. //
  3. //este programa compara dos cadenas
  4. //la funcion compara regresa 0 si son iguales
  5. #include &#60;stdio.h&#62;
  6. #include &#60;conio.h&#62;
  7.  
  8. int compara1 (char *cad1, char *cad2){
  9. register int i;
  10. for (i = 0; cad1[i]; i++)
  11. if (cad1[i] - cad2[i])
  12. return (cad1[i] - cad2[i]);
  13. return 0;}
  14.  
  15. int main(){
  16. int y;
  17. char *text1,*text2;
  18. clrscr();
  19. printf(&#34;Compara cadenas&#34;);
  20. printf(&#34;Ingresa la cadena 1: &#34;);
  21. fflush(stdin);
  22. gets(text1);
  23. printf(&#34;&#092;nIngresa la cadena 2: &#34;);
  24. fflush(stdin);
  25. gets(text2);
  26. printf(&#34;&#092;n-------------------------------------&#62;&#34;);
  27. y=compara1(text1,text2);
  28. if(y==0)
  29. printf(&#34;&#092;n Las cadenas son iguales&#34;);
  30. if(y&#60;0||y&#62;0)
  31. printf(&#34;&#092;n Las cadenas son distintas&#34;);
  32. getche();
  33. return (0);
  34. }
  35.  
  36.  

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
C/C++ / Re: Timer En C
« en: Miércoles 21 de Enero de 2004, 01:12 »
:D 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
C/C++ / Re: ¿estructuras?
« 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
C/C++ / Re: Función Random
« en: Lunes 19 de Enero de 2004, 16:27 »
WAo todo lo que e aprendido hoy!!!,  :kicking:

43
C/C++ / Re: Timer En C
« 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
Retos / Re: Division Sílabica
« 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
C/C++ / Re: Matriz
« en: Miércoles 14 de Enero de 2004, 19:29 »
haber si esto te ayuda, del codigo que te habian dado antes
Código: Text
  1.  
  2. int i,j,matriz[10][10];
  3.  
  4. for(j=0;j&#60;10;j++)
  5.    for(i=0;i&#60;10;i++)
  6.    {
  7.        if(i==j) matriz[i][j]=1;
  8.        else matriz[i][j]=0;
  9.    }
  10.  
  11.  
Lo modificamos algo asi

Código: Text
  1.  
  2. int i,j,matriz[10][10];
  3.  
  4. for(j=0;j&#60;10;j++){
  5.    for(i=0;i&#60;10;i++)
  6.    {
  7.        if(i==j) matriz[i][j]=1;
  8.        else matriz[i][j]=0;
  9. //aqui imprime los numeros
  10. printf(&#34;[%d] &#34;, matriz[i][j]);
  11.    }
  12. //aqui ya imprimio 10 numeros, estamos¿?
  13. printf(&#34;&#092;n&#34;);//damos salto de linea
  14. }
  15.  
  16.  

ESpero que te sirva

46
Retos / Re: Division Sílabica
« 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 :D 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¿? :D, 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 :D.

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
C/C++ / Re: Como Usar Fread() Y Fwrite() Usando Pilas ?
« 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.
Código: Text
  1.  
  2. //Natty Dread Lock
  3. //lista simplemente enlazada
  4. #include&#60;stdio.h&#62;
  5. #include&#60;string.h&#62;
  6. #include&#60;conio.h&#62;
  7. #include&#60;ctype.h&#62;
  8. #include&#60;dos.h&#62;
  9. #include&#60;stdlib.h&#62;
  10. #include&#60;a:portada.h&#62;
  11. # define MAX 6
  12. int i;
  13. int borrando=0;
  14. void intro_ficha(void);
  15. void lista_ficha(void);
  16. void muestra_ficha(void);
  17. void borra_ficha(void);
  18. void almacena_datos(void);
  19. void lee_datos(void);
  20. void asigna_memoria(void);
  21. void visu_ficha(struct agenda*);////////////////////////
  22. struct agenda *display_ficha(char *n);
  23. struct agenda *busca(char *inbuf);
  24. struct agenda *primero,*nuevo,*indice;
  25. //////////////////////////////////
  26. struct agenda{
  27. char nombre[30];
  28. char direccion[50];
  29. char telefono [10];
  30. struct agenda *siguiente;//apunta al siguiente elemento de la lista
  31. };
  32. //////////////////////////////////
  33. void asigna_memoria(){
  34. nuevo=(struct agenda*)malloc(sizeof(struct agenda));
  35. if(nuevo==NULL){
  36. gotoxy(2,13);printf(&#34;Espacio de memoria insuficiente&#34;);
  37. getche();
  38. for(i=2;i&#60;=79;i++){
  39. gotoxy(i,13);printf(&#34; &#34;);}
  40. return;
  41. }
  42. if(primero==(struct agenda*)NULL)
  43. primero=indice=nuevo;
  44. else{
  45. indice=primero;
  46. while(indice-&#62;siguiente!=(struct agenda*)NULL)
  47. indice=indice-&#62;siguiente;
  48. indice-&#62;siguiente=nuevo;
  49. indice=nuevo;}}
  50. /////////////////////////////////////////////////////
  51. void intro_ficha(){
  52. asigna_memoria();
  53. for(i=2;i&#60;=79;i++){
  54. gotoxy(i,13);printf(&#34; &#34;);}
  55. gotoxy((80-19)/2,13);printf(&#34;Agregando Datos!!!!&#34;);
  56. gotoxy(5,16);printf(&#34;Nombre: &#34;);
  57. fflush(stdin);
  58. gets(indice-&#62;nombre);
  59. gotoxy(5,17);printf(&#34;Direccion: &#34;);
  60. fflush(stdin);
  61. gets(indice-&#62;direccion);
  62. gotoxy(5,18);printf(&#34;Telefono: &#34;);
  63. fflush(stdin);
  64. gets(indice-&#62;telefono);
  65. indice-&#62;siguiente=(struct agenda*)NULL;
  66. }
  67. /////////////////////////////////////////
  68. void lista_ficha(void){
  69. if(primero==(struct agenda*)NULL){
  70. for(i=2;i&#60;=79;i++){
  71. gotoxy(i,13);printf(&#34; &#34;);}
  72. gotoxy((80-15)/2,13);printf(&#34;Lista vacia!!!!&#34;);
  73. getche();//retener mensaje
  74. return;}
  75. indice=primero;
  76. do{
  77. visu_ficha(indice);
  78. indice=indice-&#62;siguiente;
  79. }while(indice!=(struct agenda*)NULL);
  80. }
  81. ////////////////////////////////////////////////
  82. void muestra_ficha(void){
  83. char inbuf[30];
  84. for(i=2;i&#60;=79;i++){
  85. gotoxy(i,13);printf(&#34; &#34;);}
  86. gotoxy(5,13);printf(&#34;Mostrar la ficha con Nombre: &#34;);
  87. fflush(stdin);
  88. gets(inbuf);
  89. display_ficha(inbuf);}
  90. /////////////////////////////////////////////////////
  91. void visu_ficha(struct agenda *visu){
  92. for(i=2;i&#60;=79;i++){
  93. gotoxy(i,13);printf(&#34; &#34;);
  94. gotoxy(i,16);printf(&#34; &#34;);
  95. gotoxy(i,17);printf(&#34; &#34;);
  96. gotoxy(i,18);printf(&#34; &#34;);}
  97. gotoxy(30,13);printf(&#34;Mostrando datos!!!!&#34;);
  98. gotoxy(5,16);printf(&#34;Nombre: %s&#34;,visu-&#62;nombre);
  99. gotoxy(5,17);printf(&#34;Direccion: %s&#34;,visu-&#62;direccion);
  100. gotoxy(5,18);printf(&#34;Telefono: %s&#34;,visu-&#62;telefono);
  101. if(borrando==0){
  102. hori(22);
  103. gotoxy(26,23);printf(&#34;Presiona CUALQUIER tecla para continuar&#34;);
  104. getche();}
  105. }
  106. ////////////////////////////////////////////////
  107. void borra_ficha(){
  108. struct agenda *borra;
  109. char inbuf[30];
  110. for(i=2;i&#60;=79;i++){
  111. gotoxy(i,13);printf(&#34; &#34;);}
  112. gotoxy(5,13);printf(&#34;Borra la ficha con el nombre: &#34;);
  113. fflush(stdin);
  114. gets(inbuf);
  115. borra= ((struct agenda*)display_ficha(inbuf));
  116. if(borra==(struct agenda*)NULL)
  117. return;
  118. for(i=2;i&#60;=79;i++){
  119. gotoxy(i,13);printf(&#34; &#34;);}
  120. gotoxy(5,13);printf(&#34;Deseas borrar esta ficha? s/n: &#34;);
  121. switch(toupper(getche())){
  122. case 'N':return;
  123. case 'S':break;}
  124. if(borra==primero)
  125. primero=primero-&#62;siguiente;
  126. else{
  127. indice=primero;
  128. while(indice-&#62;siguiente!=borra)
  129. indice=indice-&#62;siguiente;
  130. indice-&#62;siguiente=borra-&#62;siguiente;
  131. }
  132. free(borra);}
  133. //////////////////////////////////////////////////////
  134. struct agenda *display_ficha(char *n){
  135. struct agenda *ficha;
  136. for(i=2;i&#60;=79;i++){
  137. gotoxy(i,13);printf(&#34; &#34;);}
  138. gotoxy((80-18)/2,13);printf(&#34;Buscando ficha!!!!&#34;);
  139. if(!(ficha=(struct agenda *)busca(n))){
  140. for(i=2;i&#60;=79;i++){
  141. gotoxy(i,13);printf(&#34; &#34;);}
  142. gotoxy((80-23)/2,13);printf(&#34;Ficha no encontrada!!!!&#34;);
  143. getche();
  144. return NULL;
  145. }
  146. else
  147. visu_ficha(ficha);
  148. return ficha;}
  149. ///////////////////////////////////////////////////
  150. struct agenda *busca(char *inbuf){
  151. indice=primero;
  152. while(indice!=NULL){
  153. if(!strcmp(inbuf,indice-&#62;nombre))return indice;
  154. indice=indice-&#62;siguiente;}
  155. return NULL;}
  156. ///////////////////////////////////////////////
  157. void intro(){
  158. clrscr();
  159. margenes();
  160. gotoxy(3,2);printf(&#34;Programa No: 30&#34;);
  161. hori(3);
  162. gotoxy(3,4);printf(&#34;Lista enlazada&#34;);
  163. gotoxy(3,9);printf(&#34;Descripcion:&#34;);
  164. gotoxy(3,10);printf(&#34;Este programa maneja una lista enlazada&#34;);
  165. hori(22);
  166. gotoxy(20,23);printf(&#34;Presiona Cualquier tecla para continuar&#34;);
  167. getche();
  168. }
  169. /////////////////////////////////////////
  170. main(){
  171. clrscr();
  172. portada();
  173. intro();
  174. for(;;){
  175. clrscr();
  176. borrando=0;
  177. int opc;
  178. margenes();
  179. gotoxy((80-14)/2,2);cprintf(&#34;&#60;--@G3|&#092;|d@--&#62;&#34;);
  180. hori(3);
  181. gotoxy((80-22)/2,4);cprintf(&#34;1.- Agregar&#34;);
  182. gotoxy((80-22)/2,5);cprintf(&#34;2.- Listar todos&#34;);
  183. gotoxy((80-22)/2,6);cprintf(&#34;3.- Mostrar por nombre&#34;);
  184. gotoxy((80-22)/2,7);cprintf(&#34;4.- Borrar por nombre&#34;);
  185. gotoxy((80-22)/2,8);cprintf(&#34;5.- Guargar a disco&#34;);
  186. gotoxy((80-22)/2,9);cprintf(&#34;6.- Leer de disco&#34;);
  187. gotoxy((80-22)/2,10);cprintf(&#34;7.- Salir&#34;);
  188. hori(12);
  189. hori(14);
  190. gotoxy((80-22)/2,13);cprintf(&#34;Elige tu opcion: &#34;);
  191. scanf(&#34;%d&#34;,&opc);
  192. switch(opc){
  193. case 1:
  194. intro_ficha();
  195. break;
  196. case 2:
  197. lista_ficha();
  198. break;
  199. case 3:
  200. muestra_ficha();
  201. break;
  202. case 4:
  203. borrando=1;
  204. borra_ficha();
  205. break;
  206. case 5:
  207. almacena_datos();
  208. break;
  209. case 6:
  210. lee_datos();
  211. break;
  212. case 7:
  213. exit(0);
  214. break;}
  215. }
  216. }
  217. ////////////////////////////////////////////////
  218. void almacena_datos(void){
  219. FILE *ap;
  220. char *ruta=NULL;
  221. int c=0;
  222. for(i=2;i&#60;=79;i++){
  223. gotoxy(i,13);printf(&#34; &#34;);}
  224. gotoxy((80-21)/2,13);printf(&#34;Guardando a disco!!!!&#34;);
  225. gotoxy(5,16);printf(&#34;Directorio: &#34;);
  226. fflush(stdin);
  227. gets(ruta);
  228. if((ap=fopen(ruta,&#34;wb&#34;))==NULL){
  229. for(i=2;i&#60;=79;i++){
  230. gotoxy(i,13);printf(&#34; &#34;);}
  231. gotoxy((80-31)/2,13);printf(&#34;El archivo no se puede abrir!!!!&#34;);
  232. getche();
  233. return;}
  234. indice=primero;
  235. for(i=2;i&#60;=79;i++){
  236. gotoxy(i,13);printf(&#34; &#34;);}
  237. do{
  238. //efecto
  239. if(c==5){
  240. c=0;}
  241. if(c==0||c==3){
  242. gotoxy(39,13);printf(&#34;|&#34;);}
  243. if(c==1){
  244. gotoxy(39,13);printf(&#34;/&#34;);}
  245. if(c==2){
  246. gotoxy(39,13);printf(&#34;-&#34;);}
  247. if(c==4){
  248. gotoxy(39,13);printf(&#34;&#092;&#092;&#34;);}
  249. fwrite(indice,sizeof(struct agenda),1,ap);
  250. indice=indice-&#62;siguiente;
  251. c++;
  252. }while(indice!=(struct agenda*)NULL);
  253. fclose(ap);}
  254. ////////////////////////////////////////////
  255. void lee_datos(void){
  256. FILE *ap;
  257. char *ruta=NULL;
  258. for(i=2;i&#60;=79;i++){
  259. gotoxy(i,13);printf(&#34; &#34;);}
  260. gotoxy((80-21)/2,13);printf(&#34;Leer datos de disco!!!!&#34;);
  261. gotoxy(5,16);printf(&#34;Directorio: &#34;);
  262. fflush(stdin);
  263. gets(ruta);
  264. if((ap=fopen(ruta,&#34;rb&#34;))==NULL){
  265. for(i=2;i&#60;=79;i++){
  266. gotoxy(i,13);printf(&#34; &#34;);}
  267. gotoxy((80-31)/2,13);printf(&#34;El archivo no se puede abrir!!!!&#34;);
  268. getche();
  269. return;}
  270. asigna_memoria();
  271. do{
  272. indice-&#62;siguiente=nuevo;
  273. indice=nuevo;
  274. fread(indice,sizeof(struct agenda),1,ap);
  275. nuevo=(struct agenda*)malloc(sizeof(struct agenda));
  276. }while(indice-&#62;siguiente!=NULL);
  277. fclose(ap);
  278. }
  279.  
  280.  
te pongo la portada por que si no deberas quitar algunas funciones
Código: Text
  1.  
  2. void portada();
  3. void margenes();
  4. void hori(int y);
  5. void oso(int x, int y);
  6. char c;
  7. int x,y;
  8. void portada(){
  9. clrscr();
  10. //hacer margenes//
  11. margenes();
  12. //datos inportantes
  13. textcolor(15);
  14. gotoxy(25,2);cprintf(&#34;INSTITUTO POLITECNICO NACIONAL&#34;);
  15. gotoxy(19,4);cprintf(&#34;INGENIERIA EN COMUNICACIONES Y ELECTRONICA&#34;);
  16. gotoxy(33,6);cprintf(&#34;COMPUTACION III&#34;);
  17. gotoxy(37,8);cprintf(&#34;Alumnos:&#34;);
  18. gotoxy(16,10);cprintf(&#34; Parra Jimenez Pedro Alejandro Boleta: 2003300670&#34;);
  19. gotoxy(16,12);cprintf(&#34; Hernandez Curiel Carlos       Boleta: 2003300000&#34;);
  20. gotoxy(36,14);cprintf(&#34;Grupo 3c5v&#34;);
  21. textcolor(GREEN+BLINK);gotoxy(12,16);cprintf(&#34;[*]_[.] '*-Presiona CUALQUIER tecla para continuar-*' [.]_[*]&#34;);
  22. getche();
  23. }//fin funcion principal
  24. void margenes(){
  25. textcolor(15);
  26. for(x=2;x&#60;=79;x++){//margenes inferior/superior
  27. c=205;
  28. gotoxy(x,1);cprintf(&#34;%c&#34;,c);
  29. gotoxy(x,24);cprintf(&#34;%c&#34;,c);}
  30. //esquinas
  31. c=188;
  32. c=201;
  33. gotoxy(1,1);cprintf(&#34;%c&#34;,c);
  34. c=200;
  35. gotoxy(1,24);cprintf(&#34;%c&#34;,c);
  36. c=187;
  37. gotoxy(80,1);cprintf(&#34;%c&#34;,c);
  38. for(y=2;y&#60;24;y++){//margenes laterasles
  39. c=186;
  40. gotoxy(1,y);cprintf(&#34;%c&#34;,c);
  41. gotoxy(80,y);cprintf(&#34;%c&#34;,c);}//fin margenes laterales
  42. c=188;
  43. gotoxy(80,24);cprintf(&#34;%c&#34;,c);
  44. }
  45. void hori(int y){
  46. //hori(No de linea)
  47. textcolor(15);
  48. gotoxy(80,y);cprintf(&#34;¹&#34;);
  49. gotoxy(1,y);cprintf(&#34;Ì&#34;);
  50. for (x=2;x&#60;80;x++){
  51. gotoxy(x,y);cprintf(&#34;Í&#34;);}
  52. }
  53.  
  54. void oso(int x,int y){
  55. //declaracion
  56. //i coordenadas en x
  57. //j coordenada en y
  58. //j = Numero de linea; //colocar en la linea No
  59. //hori(i,j);}
  60. gotoxy(x,y);printf(&#34;   o,,,o&#34;);
  61. gotoxy(x,y+1);printf(&#34; ( '&#59; ' )&#34;);
  62. gotoxy(x,y+2);printf(&#34;(,('''''),)&#34;);
  63. gotoxy(x,y+3);printf(&#34; ('')'('')&#34;);
  64. }
  65.  
  66.  

Espero que esto te ayude

Suerte


...Perdon por el flower, pero fue sin querer, di responder sin querer, mil disculpas

48
C/C++ / Re: Como Usar Fread() Y Fwrite() Usando Pilas ?
« en: Martes 13 de Enero de 2004, 05:21 »
Perdon borre esto por que descubri el "modificar"

49
C/C++ / Re: Que Pasa Con Dos.h ...?
« 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
C/C++ / Re: Atrapado En La Lectura De Un Fichero
« en: Martes 30 de Diciembre de 2003, 14:31 »
mira esto que aqui adjunto quiza te funcione
Código: Text
  1.  
  2. #include &#60;string.h&#62;
  3. #include &#60;stdio.h&#62;
  4. #include &#60;conio.h&#62;
  5.  
  6. int main(void)
  7. {
  8.    FILE *stream;
  9.    char string[] = &#34;This is a test&#34;;
  10.    char ch;
  11.  
  12.    /* abrir el archivo para lectura*/
  13.    stream = fopen(&#34;DUMMY.FIL&#34;, &#34;r+&#34;);
  14.  
  15. //leer caracter por caracter  
  16. //para comparar
  17.  
  18.   do
  19.    {
  20.       /* leer caracter */
  21.       ch = fgetc(stream);
  22.  
  23.       /* muestra el caracter */
  24.       putch(ch);
  25.    } while (ch != EOF);//mientras no sea el fin del archivo
  26.  
  27.    fclose(stream);//cierra el archivo
  28.    return 0;
  29. }
  30. [QUOTE]
  31. 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.
  32. 1.- Formato hexadecimal 10
  33. 2.- Formato texto            '&#092;r'
  34. por lo que podrias poner algo como
  35.  
  36.  
  37.  
Código: Text
  1.  
  2. if((ch = fgetc(stream))!='&#092;r'){
  3. //evaluas la cadena como desees
  4.       /* muestra el caracter */
  5.       putch(ch);
  6. }
  7. else
  8. printf(&#34;&#092;n&#34;);//imprime salto de linea
  9.  
  10.  

con fscanf, es algo parecido, solo tendrias que hacer algunas modificaciones.
Espero que esto te ayude

Páginas: 1 [2] 3