elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Ayuda]Diccionario de sinonimos, antonimos, paronimos en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda]Diccionario de sinonimos, antonimos, paronimos en C  (Leído 5,327 veces)
nolosabe

Desconectado Desconectado

Mensajes: 20



Ver Perfil
[Ayuda]Diccionario de sinonimos, antonimos, paronimos en C
« en: 5 Octubre 2011, 20:09 pm »

Hola, soy nuevo en el foro, y necesito ayuda con un programa que me mandaron como proyecto para el instituto en el que tengo que crear un programa que guarde palabras, varios sinonimos, un solo antonimo y un solo paronimo... tiene que tener un menu que permita al usuario agregar palabras (altas) dar de baja palabras, modificar (por errores ortograficos), consultar una palabra, y listar todas.

estoy trancado con el tema de los archivos binarios.. no tengo idea del tema porque falte a clase ya que estaba enfermo.
les dejo lo que tengo hecho hasta ahora, hay funciones que las tengo con // porque aun no estan declaradas... me tira como 8 errores, a ver si me pueden auxiliar.

MUCHAS GRACIAS

ARREGLE EL CODIGO, PERO SI ME PUEDEN AYUDAR CON ALGUNA DE LAS FUNCIONES QUE ME FALTAN POR HACER LES AGRADEZCO

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. void alta(int);
  7. /*void baja();
  8. void modificar();
  9. void consultar();
  10. void listarSin(int);
  11. void listarAnt();
  12. void listarPar();*/
  13. void subMenu();
  14. int total();
  15.  
  16. #define LARGO 100
  17. #define DICCIONARIO "c:\dicc.bin"
  18.  
  19. struct dato{
  20. char palabra[20];
  21. char sinonimo1[20],sinonimo2[20],sinonimo3[20];
  22. char antonimo[20];
  23. char paronimo[20];
  24. int borrado;
  25. }diccionario[LARGO];
  26.  
  27. FILE *archivo = NULL;
  28.  
  29. void main(){
  30. int opcion=0,pos=total();
  31. char salir='n';
  32. while (salir!='s'){
  33. clrscr();
  34. printf("\n   DICCIONARIO \n");
  35. printf("1) Ingresar \n");
  36. printf("2) Eliminar \n");
  37. printf("3) Modificar \n");
  38. printf("4) Consultar \n");
  39. printf("5) Listar \n");
  40. printf("0) Salir \n");
  41. opcion=getch();
  42. switch(opcion){
  43. case '1': pos=total();
  44. pos++;
  45. alta(pos);
  46. break;
  47. case '2': //baja();
  48. break;
  49. case '3': //modificar();
  50. break;
  51. case '4': //consultar();
  52. break;
  53. case '5': subMenu();
  54. break;
  55. case '0': printf("\n &#168;Esta seguro que desea salir? (s/n)");
  56. salir=getch();
  57. clrscr();
  58. break;
  59. default:printf("\n opcion incorrecta");
  60. getch();
  61. clrscr();
  62. break;
  63. }//fin switch
  64. }//fin while
  65. }//fin void main
  66.  
  67.  
  68.  
  69. void subMenu(){
  70. clrscr();
  71. int opc;
  72. char salir='n';
  73. printf("\n Listar Palabras existentes \n");
  74. printf("\n1) Listar sinonimos");
  75. printf("\n2) Listar antonimos");
  76. printf("\n3) Listar paronimos");
  77. printf("\n4) Listar: sinonimos, antonimos y paronimos");
  78. printf("\n0) Volver al menu principal");
  79. opc=getch();
  80. clrscr();
  81. while(salir!='s'){
  82. switch(opc){
  83. case '1': //listarSin();
  84. break;
  85. case '2': //listarAnt();
  86. break;
  87. case '3': //listarPar();
  88. break;
  89. case '4': //listarSin();
  90. //listarAnt();
  91. //listarPar();
  92. break;
  93. case '0': printf("\n &#168;Desea volver al menu principal (s/n)?");
  94. salir=getch();
  95. break;
  96. default:printf("\n OPCION INCORRECTA");
  97. getch();
  98. break;
  99. }//Fin switch submenu
  100. }//fin while
  101. }//fin subMenu
  102.  
  103.  
  104. int total(){
  105. clrscr();
  106. int total;
  107. archivo=NULL;
  108. archivo=fopen(DICCIONARIO,"rb");//abro el archivo diccionario.bin como solo lectura
  109. if(archivo==NULL){
  110. printf("\n Error al abrir el archivo");
  111. fclose(archivo);
  112. }
  113. else{
  114. fseek(archivo,0,SEEK_END);
  115. total=ftell(archivo) / sizeof(struct dato);//divido el tama&#164;o del archivo entre el tama&#164;o de la estructura para saber cuantas hay
  116. }
  117. return total;//devuelvo el valor de la variable total(int)
  118. }
  119.  
  120. void alta(int pos){
  121. char opc=' ',confirmar=' ';
  122. archivo=NULL;
  123. clrscr();
  124. printf("\n Ingresar palabra/s \n");
  125. printf("\n Palabra: ");
  126. gets(diccionario[pos].palabra);
  127. clrscr();
  128. printf("\n &#168;Desea ingresar un sinonimo? (s/n)");
  129. opc='a';
  130. // while(opc!='s' || opc!='n'){
  131. opc=getch();
  132. if(opc=='s'){
  133. clrscr();
  134. printf("ingrese un sinonimo: ");
  135. gets(diccionario[pos].sinonimo1);
  136. opc=' ';
  137. clrscr();
  138. printf("\n&#168;Desea ingresar otro sinonimo? (s/n)");
  139. opc=getch();
  140. if(opc=='s'){
  141. clrscr();
  142. printf("ingrese otro sinonimo: ");
  143. gets(diccionario[pos].sinonimo2);
  144. opc=' ';
  145. clrscr();
  146. printf("\n&#168;Desea ingresar otro sinonimo? (s/n)");
  147. opc=getch();
  148. if(opc=='s'){
  149. clrscr();
  150. printf("ingrese otro sinonimo: ");
  151. gets(diccionario[pos].sinonimo3);
  152. }//if3
  153. }//if2
  154. }//if1
  155. // }//while
  156.  
  157. clrscr();
  158. printf(" Ingrese un antonimo: ");
  159. gets(diccionario[pos].antonimo);
  160. printf("\n Ingrese un paronimo o presione enter para no ingresar nada: ");
  161. gets(diccionario[pos].paronimo);
  162. clrscr();
  163. printf(" Usted ingreso\n");
  164. printf("\n\n Palabra: %s \n Sinonimos: %s, %s, %s\n Antonimo: %s\n Paronimo: %s",diccionario[pos].palabra,diccionario[pos].sinonimo1,diccionario[pos].sinonimo2,diccionario[pos].sinonimo3,diccionario[pos].antonimo,diccionario[pos].paronimo);
  165. printf("\n\n Esta seguro que desea agregar estos datos al diccionario(s/n)");
  166. confirmar=getch();
  167. if(confirmar=='n'){
  168. printf("\n Los datos no se escribieron en el archivo");
  169. }//IF
  170. else{ if(confirmar=='s'){
  171. archivo=fopen(DICCIONARIO,"ab+");
  172. fwrite(&diccionario[pos],sizeof(struct dato),1,archivo);
  173. fclose(archivo);
  174. }//if
  175. }//else
  176. }//funcion
:?:


« Última modificación: 6 Octubre 2011, 11:46 am por madpitbull_99 » En línea

Gracias a todos por su ayuda, espero yo también ser de ayuda para alguien mas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Diccionario « 1 2 ... 9 10 »
Sugerencias y dudas sobre el Foro
Libransser 90 137,977 Último mensaje 31 Julio 2012, 22:50 pm
por yazminwse
ayuda con live dvd bt4 no se como meterle un diccionario
Wireless en Linux
implacable1234 0 1,882 Último mensaje 5 Junio 2010, 12:54 pm
por implacable1234
ayuda para hacer un diccionario en c++
Programación C/C++
rocker25 1 9,126 Último mensaje 5 Junio 2010, 22:41 pm
por nicolas_cof
bactrack 4 ayuda con diccionario
Hacking
puma01 5 6,011 Último mensaje 30 Noviembre 2010, 20:35 pm
por xdavid22x
Claves "al vuelo". Ataque de diccionario "sin diccionario".
Hacking Wireless
n0more 4 8,918 Último mensaje 27 Julio 2011, 17:27 pm
por flacc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines