/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

[Ayuda]Diccionario de sinonimos, antonimos, paronimos en C

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
bazofia



Registrado: 05 Oct 2011
Mensajes: 2

MensajePublicado: 05/10/2011 10:08 am
Título: [Ayuda]Diccionario de sinonimos, antonimos, paronimos en C

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 FALTAN, LES AGRADEZCO

Código:


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

void alta(int);
/*void baja();
void modificar();
void consultar();
void listarSin(int);
void listarAnt();
void listarPar();*/
void subMenu();
int total();

#define LARGO 100
#define DICCIONARIO "c:\dicc.bin"

struct dato{
   char palabra[20];
   char sinonimo1[20],sinonimo2[20],sinonimo3[20];
   char antonimo[20];
   char paronimo[20];
   int borrado;
}diccionario[LARGO];

FILE *archivo = NULL;

void main(){
   int opcion=0,pos=total();
   char salir='n';
   while (salir!='s'){
   clrscr();
   printf("\n   DICCIONARIO \n");
   printf("1) Ingresar \n");
   printf("2) Eliminar \n");
   printf("3) Modificar \n");
   printf("4) Consultar \n");
   printf("5) Listar \n");
   printf("0) Salir \n");
   opcion=getch();
   switch(opcion){
      case '1': pos=total();
         pos++;
         alta(pos);
         break;
      case '2':   //baja();
         break;
      case '3': //modificar();
         break;
      case '4': //consultar();
         break;
      case '5': subMenu();
         break;
      case '0': printf("\n ¨Esta seguro que desea salir? (s/n)");
         salir=getch();
         clrscr();
         break;
      default:printf("\n opcion incorrecta");
         getch();
         clrscr();
         break;
      }//fin switch
   }//fin while
}//fin void main



void subMenu(){
   clrscr();
   int opc;
   char salir='n';
   printf("\n Listar Palabras existentes \n");
   printf("\n1) Listar sinonimos");
   printf("\n2) Listar antonimos");
   printf("\n3) Listar paronimos");
   printf("\n4) Listar: sinonimos, antonimos y paronimos");
   printf("\n0) Volver al menu principal");
   opc=getch();
   clrscr();
   while(salir!='s'){
      switch(opc){
         case '1':   //listarSin();
            break;
         case '2': //listarAnt();
            break;
         case '3': //listarPar();
            break;
         case '4': //listarSin();
            //listarAnt();
            //listarPar();
            break;
         case '0': printf("\n ¨Desea volver al menu principal (s/n)?");
            salir=getch();
            break;
         default:printf("\n OPCION INCORRECTA");
            getch();
            break;
      }//Fin switch submenu
   }//fin while
}//fin subMenu


int total(){
   clrscr();
   int total;
   archivo=NULL;
   archivo=fopen(DICCIONARIO,"rb");//abro el archivo diccionario.bin como solo lectura
   if(archivo==NULL){
      printf("\n Error al abrir el archivo");
      fclose(archivo);
   }
   else{
      fseek(archivo,0,SEEK_END);
      total=ftell(archivo) / sizeof(struct dato);//divido el tama¤o del archivo entre el tama¤o de la estructura para saber cuantas hay
   }
   return total;//devuelvo el valor de la variable total(int)
}

void alta(int pos){
   char opc=' ',confirmar=' ';
   archivo=NULL;
   clrscr();
   printf("\n Ingresar palabra/s \n");
   printf("\n Palabra: ");
   gets(diccionario[pos].palabra);
   clrscr();
   printf("\n ¨Desea ingresar un sinonimo? (s/n)");
   opc='a';
//   while(opc!='s' || opc!='n'){
      opc=getch();
      if(opc=='s'){
         clrscr();
         printf("ingrese un sinonimo: ");
         gets(diccionario[pos].sinonimo1);
         opc=' ';
         clrscr();
         printf("\n¨Desea ingresar otro sinonimo? (s/n)");
         opc=getch();
         if(opc=='s'){
            clrscr();
            printf("ingrese otro sinonimo: ");
            gets(diccionario[pos].sinonimo2);
               opc=' ';
               clrscr();
            printf("\n¨Desea ingresar otro sinonimo? (s/n)");
            opc=getch();
            if(opc=='s'){
               clrscr();
               printf("ingrese otro sinonimo: ");
               gets(diccionario[pos].sinonimo3);
            }//if3
         }//if2
      }//if1
//   }//while

   clrscr();
   printf(" Ingrese un antonimo: ");
   gets(diccionario[pos].antonimo);
   printf("\n Ingrese un paronimo o presione enter para no ingresar nada: ");
   gets(diccionario[pos].paronimo);
   clrscr();
   printf(" Usted ingreso\n");
   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);
   printf("\n\n Esta seguro que desea agregar estos datos al diccionario(s/n)");
   confirmar=getch();
   if(confirmar=='n'){
      printf("\n Los datos no se escribieron en el archivo");
   }//IF
   else{ if(confirmar=='s'){
      archivo=fopen(DICCIONARIO,"ab+");
      fwrite(&diccionario[pos],sizeof(struct dato),1,archivo);
      fclose(archivo);
      }//if
   }//else
}//funcion
Question
Volver arriba
_Leo_



Registrado: 20 Oct 2005
Mensajes: 399
Ubicación: Buenos Aires, Argentina

MensajePublicado: 10/10/2011 6:00 pm
Título:

Hay un foro llamado Trabajos de clase, para este tipo de pedidos. Y en todo caso es preferible que hagas preguntas puntuales.
_________________
_Leo_
Daphne - administrador de tareas
Cine, tecnología, sociedad
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com