Problema con clases c++

Iniciado por themau1111, 10 Noviembre 2013, 21:20 PM

0 Miembros y 1 Visitante están viendo este tema.

themau1111

tengo un proyecto en code blocks en el que tengo 5 cabeceras, cada una con clase en este caso sucursal, servicio,contrato,empleado y login pero en una de ellas me marca error

class servicios
{
 public:
     int cod_servicio[10],comision [10];
     float costo [10];
     char servicio[10][50];
  public:
      void constante();
      void mostrar();
      void capturar();
      void buscar();
      void modificar();
};    (aqui sale el error)



I:\seminario de programacion\TELEMEX\includes\claseservicio.h|24|error: multiple types in one declaration|




espeor me puedan ayudar

vangodp

#1
Lo que dice ahí es que tienes muchos tipos en una declaracion.
Y el error esta en el archivo claseservicio.h
Puede que tengas includes dobles no se.
Si tienes doble include o algo eso se arregla con #ifdef, #ifndef.
Es una espacie de protección contra dobles include.
Ejemplo: sabemos que para poder usar cout debemos incluir #include <iostream> al principio del archivo, pero si te fias al incluir un archivo .h al principio de main puedes juntarte con 2 #include <iostrem>

entonces lo que puedes hacer es poner en el .h la protección esta que no es mas que
// En el archivo.h
#ifndef //si no está definido
#define // se define

//tu código aqui

#endif //fin de la protección

Bueno, no se si es por eso pero creo que puede ser.
Si no que alguien nos ilumine mas nuestra ignorancia  :laugh:

Dejo aquí un par de vídeos sobre eso que puede evitar mas de un dolor de cabeza:
http://www.youtube.com/watch?v=rpZMdkdb4x4&list=PL860669912E26CE1C&index=22
http://www.youtube.com/watch?v=N3yLYgUR-UI&list=PL860669912E26CE1C

themau1111

Cita de: vangodp en 10 Noviembre 2013, 23:29 PM
Lo que dice ahí es que tienes muchos tipos en una declaracion.
Y el error esta en el archivo claseservicio.h
Puede que tengas includes dobles no se.
Si tienes doble include o algo eso se arregla con #ifdef, #ifndef.
Es una espacie de protección contra dobles include.
Ejemplo: sabemos que para poder usar cout debemos incluir #include <iostream> al principio del archivo, pero si te fias al incluir un archivo .h al principio de main puedes juntarte con 2 #include <iostrem>

entonces lo que puedes hacer es poner en el .h la protección esta que no es mas que
// En el archivo.h
#ifndef //si no está definido
#define // se define

//tu código aqui

#endif //fin de la protección

Bueno, no se si es por eso pero creo que puede ser.
Si no que alguien nos ilumine mas nuestra ignorancia  :laugh:

Dejo aquí un par de vídeos sobre eso que puede evitar mas de un dolor de cabeza:
http://www.youtube.com/watch?v=rpZMdkdb4x4&list=PL860669912E26CE1C&index=22
http://www.youtube.com/watch?v=N3yLYgUR-UI&list=PL860669912E26CE1C



si , los tengo asi
#ifndef CLASESERVICIO_H_INCLUDED
#define CLASESERVICIO_H_INCLUDED
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>




class servicios
{
  public:
      int cod_servicio[10],comision [10];
      float costo [10];
      char servicio[10][50];
   public:
       void constante();
       void mostrar();
       void capturar();
       void buscar();
       void modificar();
};

void servicios::constante()
{
    system("cls");
    printf("\n\n\n");
    strcpy(servicio
  • ,"Cable basico");
        cod_servicio[0]=111;
        costo[0]=150.00;
        comision[0]=5;

        strcpy(servicio [1],"Cable total");
        cod_servicio [1]=112;
        costo[1]=300.00;
        comision[1]=7;

        strcpy(servicio [2],"Cable total plus");
        cod_servicio[2]=113;
        costo[2]=550.00;
        comision[2]=10;

        strcpy(servicio [3],"Internet y cable");
        cod_servicio [3]=114;
        costo [3]=469.00;
        comision[3]=12;

        strcpy(servicio [4],"Internet y telefono");
        cod_servicio [4]=115;
        costo [4]=500.00;
        comision[4]=12;

        strcpy(servicio [5],"Cable, telefono e internet");
        cod_servicio [5]=116;
        costo [5]=635.00;
        comision[5]=15;

    }

           void servicios::mostrar()
       {

    printf("\n\n\n");
        int i,elem,c1,op2;
        do{
        system("cls");
        printf("Escriba el codigo de servicio que quiere buscar\n\n");
        scanf("%d",& elem);
        for(i=0;i<=10;i++)
    {
        if (cod_servicio==elem)
        {
             printf("\n\nNombre de servicio: %s\n", servicio);
             printf("Codigo de servicio: %d\n", cod_servicio);
             printf("Costo de servicio: %.2f\n\n", costo);
             printf("Comision de servicio: %i porciento\n\n", comision);
             i=10;
            c1=0;
          }
         else
         {
         c1=1;
         }
         }
         if(c1==1)
         {
         printf("No se encuetra el elemento!!!\n\n\n");
         }
         i=0;
         printf("desea seguir consultando datos si=1,no=2\n");
         scanf("%i",& op2);
         }while(op2==1);


       }


    void servicios::capturar()
        {     int c=6,d=6,e=6,f=6;
            int ac=0,op1;
            system("cls");
            printf("\n");
           do
           {

           printf("\n\nIngrese nuevo servicio\n");
           do{
           gets(servicio[c]);
           }while(strcmp(servicio[c]," ")==0 || strcmp(servicio[c],"")==0);
           ac=cod_servicio[d-1];
           cod_servicio[d]=ac+1;
           printf("Ingrese costo de servicio\n");
           scanf("%f",& costo[e]);
           printf("Ingrese comision de servicio\n");
           scanf("%i",& comision[f]);
           printf("desea seguir ingresando datos si=1,no=2\n");
           scanf("%i",& op1);
                  c++;
                  d++;
                  e++;
                  f++;

           }while(op1==1);
        }

    void servicios::buscar()
       {
       printf("\n\n\n");
        int i,elem,c1,op2;
        do{
        system("cls");
        printf("Escriba el codigo de servicio que quiere mostrar\n\n");
        scanf("%d",& elem);
        for(i=0;i<=10;i++)
    {
        if (cod_servicio==elem)
        {
             printf("\n\nNombre de servicio: %s\n", servicio);
             printf("Codigo de servicio: %d\n", cod_servicio);

             i=10;
            c1=0;
          }
         else
         {
         c1=1;
         }
         }
         if(c1==1)
         {
         printf("No se encuetra el elemento que busca!!!\n\n\n");
         }
         i=0;
         printf("desea seguir consultando datos si=1,no=2\n");
         scanf("%d",& op2);
         }while(op2==1);
        }

      void servicios::modificar()
      {
        printf("\n\n\n");
        int i,elem,c1,op2,opz;
        do{
        system("cls");
        printf("Escriba el codigo de servicio que quiere modificar\n\n");
        scanf("%d",& elem);
        for(i=0;i<=10;i++)
        {
        if (cod_servicio==elem)
         {
           do{
           printf("\n\n¿Que datos quiere modificar\n");
           printf("\n\n1-Nombre de servicio\n2-Costo de servicio\n3-Comision de servicio\n");
           scanf("%i",&opz);
           }while(opz<1 || opz >3);
           switch (opz)
           {
                case 1:
                    system ("cls");
                   printf("\n\nIngrese nuevo nombre de servicio\n");
                   do{
                   gets(servicio);
                   }while(strcmp(servicio," ")==0 || strcmp(servicio,"")==0);
                   break;

                case 2:
                    system ("cls");
                    printf("Ingrese costo de servicio\n");
                    scanf("%f",& costo);
                    break;
                case 3:
                    system ("cls");
                    printf("Ingrese comision de servicio\n");
                    scanf("%i",& comision);
                    break;
            }
            c1=0;
            i=10;
           system("cls");
          }
          else
          {
          c1=1;
          }
        }
         if(c1==1)
         {
         printf("No se encuetra el elemento que quiere modificar!!!\n\n\n");
         }
         i=0;
           do{
           printf("desea seguir modificando datos si=1,no=2\n");
           scanf("%d",& op2);
           }while(op2<1 || op2>2);
        }while (op2==1);
      }



    #endif // CLASESERVICIO_H_INCLUDED

vangodp

       char servicio[10][50]; me da error con el  strcpy(servicio,"Cable basico");

Usa el codebox  o no te vamos a poder ayudar, el código tiene fallos y no logro entender que quieres :(

     

themau1111

Cita de: vangodp en 11 Noviembre 2013, 00:28 AM
       char servicio[10][50]; me da error con el  strcpy(servicio,"Cable basico");

Usa el codebox  o no te vamos a poder ayudar, el código tiene fallos y no logro entender que quieres :(

     

si uso code blocks, pero ami no me sale error ahi solo me sale el error k te mencionaba arriba  error: multiple types in one declaration, en la llave k esta despues de las funciones

vangodp

no codeblocks digo que pongas el código aqui:
Código (cpp) [Seleccionar]


#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;

class servicios{

public:    
    servicios(){};
    ~servicios(){};   
       int cod_servicio[10],comision [10];
       float costo [10];
       char servicio[10][50];
       void constante();
       void mostrar();
       void capturar();
       void buscar();
       void modificar();



};

void servicios::constante()
{
    system("cls");
    printf("\n\n\n");
    strcpy(servicio

    ,"Cable basico");

    cod_servicio[0]=111;
    costo[0]=150.00;
    comision[0]=5;

    strcpy(servicio [1],"Cable total");
    cod_servicio [1]=112;
    costo[1]=300.00;
    comision[1]=7;

    strcpy(servicio [2],"Cable total plus");
    cod_servicio[2]=113;
    costo[2]=550.00;
    comision[2]=10;

    strcpy(servicio [3],"Internet y cable");
    cod_servicio [3]=114;
    costo [3]=469.00;
    comision[3]=12;

    strcpy(servicio [4],"Internet y telefono");
    cod_servicio [4]=115;
    costo [4]=500.00;
    comision[4]=12;

    strcpy(servicio [5],"Cable, telefono e internet");
    cod_servicio [5]=116;
    costo [5]=635.00;
    comision[5]=15;

}

       void servicios::mostrar()
   {

printf("\n\n\n");
    int i,elem,c1,op2;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere buscar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
{
    if (cod_servicio==elem)
    {
         printf("\n\nNombre de servicio: %s\n", servicio);
         printf("Codigo de servicio: %d\n", cod_servicio);
         printf("Costo de servicio: %.2f\n\n", costo);
         printf("Comision de servicio: %i porciento\n\n", comision);
         i=10;
        c1=0;
      }
     else
     {
     c1=1;
     }
     }
     if(c1==1)
     {
     printf("No se encuetra el elemento!!!\n\n\n");
     }
     i=0;
     printf("desea seguir consultando datos si=1,no=2\n");
     scanf("%i",& op2);
     }while(op2==1);


   }


void servicios::capturar()
    {     int c=6,d=6,e=6,f=6;
        int ac=0,op1;
        system("cls");
        printf("\n");
       do
       {

       printf("\n\nIngrese nuevo servicio\n");
       do{
       gets(servicio[c]);
       }while(strcmp(servicio[c]," ")==0 || strcmp(servicio[c],"")==0);
       ac=cod_servicio[d-1];
       cod_servicio[d]=ac+1;
       printf("Ingrese costo de servicio\n");
       scanf("%f",& costo[e]);
       printf("Ingrese comision de servicio\n");
       scanf("%i",& comision[f]);
       printf("desea seguir ingresando datos si=1,no=2\n");
       scanf("%i",& op1);
              c++;
              d++;
              e++;
              f++;

       }while(op1==1);
    }

void servicios::buscar()
   {
   printf("\n\n\n");
    int i,elem,c1,op2;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere mostrar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
{
    if (cod_servicio==elem)
    {
         printf("\n\nNombre de servicio: %s\n", servicio);
         printf("Codigo de servicio: %d\n", cod_servicio);

         i=10;
        c1=0;
      }
     else
     {
     c1=1;
     }
     }
     if(c1==1)
     {
     printf("No se encuetra el elemento que busca!!!\n\n\n");
     }
     i=0;
     printf("desea seguir consultando datos si=1,no=2\n");
     scanf("%d",& op2);
     }while(op2==1);
    }

  void servicios::modificar()
  {
    printf("\n\n\n");
    int i,elem,c1,op2,opz;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere modificar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
    {
    if (cod_servicio==elem)
     {
       do{
       printf("\n\n¿Que datos quiere modificar\n");
       printf("\n\n1-Nombre de servicio\n2-Costo de servicio\n3-Comision de servicio\n");
       scanf("%i",&opz);
       }while(opz<1 || opz >3);
       switch (opz)
       {
            case 1:
                system ("cls");
               printf("\n\nIngrese nuevo nombre de servicio\n");
               do{
               gets(servicio);
               }while(strcmp(servicio," ")==0 || strcmp(servicio,"")==0);
               break;

            case 2:
                system ("cls");
                printf("Ingrese costo de servicio\n");
                scanf("%f",& costo);
                break;
            case 3:
                system ("cls");
                printf("Ingrese comision de servicio\n");
                scanf("%i",& comision);
                break;
        }
        c1=0;
        i=10;
       system("cls");
      }
      else
      {
      c1=1;
      }
    }
     if(c1==1)
     {
     printf("No se encuetra el elemento que quiere modificar!!!\n\n\n");
     }
     i=0;
       do{
       printf("desea seguir modificando datos si=1,no=2\n");
       scanf("%d",& op2);
       }while(op2<1 || op2>2);
    }while (op2==1);
  }







int main ()
{




    return 0;
}



que esta dando error el código que pegaste antes.

themau1111

Código (cpp) [Seleccionar]
#ifndef CLASESERVICIO_H_INCLUDED
#define CLASESERVICIO_H_INCLUDED
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>




class servicios
{
  public:
      int cod_servicio[10],comision [10];
      float costo [10];
      char servicio[10][50];
   public:
       void constante();
       void mostrar();
       void capturar();
       void buscar();
       void modificar();
};

void servicios2::constante()
{
    system("cls");
    printf("\n\n\n");
    strcpy(servicio [0],"Cable basico");
    cod_servicio[0]=111;
    costo[0]=150.00;
    comision[0]=5;

    strcpy(servicio [1],"Cable total");
    cod_servicio [1]=112;
    costo[1]=300.00;
    comision[1]=7;

    strcpy(servicio [2],"Cable total plus");
    cod_servicio[2]=113;
    costo[2]=550.00;
    comision[2]=10;

    strcpy(servicio [3],"Internet y cable");
    cod_servicio [3]=114;
    costo [3]=469.00;
    comision[3]=12;

    strcpy(servicio [4],"Internet y telefono");
    cod_servicio [4]=115;
    costo [4]=500.00;
    comision[4]=12;

    strcpy(servicio [5],"Cable, telefono e internet");
    cod_servicio [5]=116;
    costo [5]=635.00;
    comision[5]=15;

}

       void servicios2::mostrar()
   {

printf("\n\n\n");
    int i,elem,c1,op2;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere buscar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
{
    if (cod_servicio[i]==elem)
    {
         printf("\n\nNombre de servicio: %s\n", servicio[i]);
         printf("Codigo de servicio: %d\n", cod_servicio[i]);
         printf("Costo de servicio: %.2f\n\n", costo[i]);
         printf("Comision de servicio: %i porciento\n\n", comision[i]);
         i=10;
        c1=0;
      }
     else
     {
     c1=1;
     }
     }
     if(c1==1)
     {
     printf("No se encuetra el elemento!!!\n\n\n");
     }
     i=0;
     printf("desea seguir consultando datos si=1,no=2\n");
     scanf("%i",& op2);
     }while(op2==1);


   }


void servicios2::capturar()
    {     int c=6,d=6,e=6,f=6;
        int ac=0,op1;
        system("cls");
        printf("\n");
       do
       {

       printf("\n\nIngrese nuevo servicio\n");
       do{
       gets(servicio[c]);
       }while(strcmp(servicio[c]," ")==0 || strcmp(servicio[c],"")==0);
       ac=cod_servicio[d-1];
       cod_servicio[d]=ac+1;
       printf("Ingrese costo de servicio\n");
       scanf("%f",& costo[e]);
       printf("Ingrese comision de servicio\n");
       scanf("%i",& comision[f]);
       printf("desea seguir ingresando datos si=1,no=2\n");
       scanf("%i",& op1);
              c++;
              d++;
              e++;
              f++;

       }while(op1==1);
    }

void servicios2::buscar()
   {
   printf("\n\n\n");
    int i,elem,c1,op2;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere mostrar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
{
    if (cod_servicio[i]==elem)
    {
         printf("\n\nNombre de servicio: %s\n", servicio[i]);
         printf("Codigo de servicio: %d\n", cod_servicio[i]);

         i=10;
        c1=0;
      }
     else
     {
     c1=1;
     }
     }
     if(c1==1)
     {
     printf("No se encuetra el elemento que busca!!!\n\n\n");
     }
     i=0;
     printf("desea seguir consultando datos si=1,no=2\n");
     scanf("%d",& op2);
     }while(op2==1);
    }

  void servicios2::modificar()
  {
    printf("\n\n\n");
    int i,elem,c1,op2,opz;
    do{
    system("cls");
    printf("Escriba el codigo de servicio que quiere modificar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
    {
    if (cod_servicio[i]==elem)
     {
       do{
       printf("\n\n¿Que datos quiere modificar\n");
       printf("\n\n1-Nombre de servicio\n2-Costo de servicio\n3-Comision de servicio\n");
       scanf("%i",&opz);
       }while(opz<1 || opz >3);
       switch (opz)
       {
            case 1:
                system ("cls");
               printf("\n\nIngrese nuevo nombre de servicio\n");
               do{
               gets(servicio[i]);
               }while(strcmp(servicio[i]," ")==0 || strcmp(servicio[i],"")==0);
               break;

            case 2:
                system ("cls");
                printf("Ingrese costo de servicio\n");
                scanf("%f",& costo[i]);
                break;
            case 3:
                system ("cls");
                printf("Ingrese comision de servicio\n");
                scanf("%i",& comision[i]);
                break;
        }
        c1=0;
        i=10;
       system("cls");
      }
      else
      {
      c1=1;
      }
    }
     if(c1==1)
     {
     printf("No se encuetra el elemento que quiere modificar!!!\n\n\n");
     }
     i=0;
       do{
       printf("desea seguir modificando datos si=1,no=2\n");
       scanf("%d",& op2);
       }while(op2<1 || op2>2);
    }while (op2==1);
  }



#endif // CLASESERVICIO_H_INCLUDED

xaps

Mirándomelo así por encima, lo que he visto es que usas el tag "public" dos veces. No deberias usar "private" para la declaración de variables y "public" para la declaración de funciones?
Es decir, envez de

Código (cpp) [Seleccionar]
class servicios
{
  public:
      int cod_servicio[10],comision [10];
      float costo [10];
      char servicio[10][50];
   public:
       void constante();
       void mostrar();
       void capturar();
       void buscar();
       void modificar();
};


deberia ser

Código (cpp) [Seleccionar]
class servicios
{
  private:
      int cod_servicio[10],comision [10];
      float costo [10];
      char servicio[10][50];
   public:
       void constante();
       void mostrar();
       void capturar();
       void buscar();
       void modificar();
};


Corregirme si me equivoco.
"The programmers of tomorrow are the wizards of the future" - Gave Newel

vangodp

Tal como esta ahora si me funciona, ahora el funcionamiento interno es cosa tuya.
Echa un ojo y dime si ves algo mas. :D
Código (cpp) [Seleccionar]

//servicios.h
#ifndef CLASESERVICIO_H_INCLUDED
#define CLASESERVICIO_H_INCLUDED
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>




class service
{
private:
     int cod_servicio[10];
  int comision [10];
     float costo [10];
     char servicio[10][50];
  public:
     service (){}
     ~service (){}
      void constante();
      void mostrar();
      void capturar();
      void buscar();
      void modificar();
};

void service::constante()
{
   system("cls");
   printf("\n\n\n");
   strcpy(servicio [0],"Cable basico");
   cod_servicio[0]=111;
   costo[0]=150.00;
   comision[0]=5;

   strcpy(servicio [1],"Cable total");
   cod_servicio [1]=112;
   costo[1]=300.00;
   comision[1]=7;

   strcpy(servicio [2],"Cable total plus");
   cod_servicio[2]=113;
   costo[2]=550.00;
   comision[2]=10;

   strcpy(servicio [3],"Internet y cable");
   cod_servicio [3]=114;
   costo [3]=469.00;
   comision[3]=12;

   strcpy(servicio [4],"Internet y telefono");
   cod_servicio [4]=115;
   costo [4]=500.00;
   comision[4]=12;

   strcpy(servicio [5],"Cable, telefono e internet");
   cod_servicio [5]=116;
   costo [5]=635.00;
   comision[5]=15;

}

void service::mostrar()
{
  printf("\n\n\n");
    int i,elem,c1,op2;
    do {
    system("cls");
    printf("Escriba el codigo de servicio que quiere buscar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
{
    if (cod_servicio[i]==elem)
    {
     printf("\n\nNombre de servicio: %s\n", servicio[i]);
             printf("Codigo de servicio: %d\n", cod_servicio[i]);
          printf("Costo de servicio: %.2f\n\n", costo[i]);
          printf("Comision de servicio: %i porciento\n\n", comision[i]);
          i=10;
          c1=0;
}
else
    {
         c1=1;
}
       }
    if (c1==1)
    {
          printf("No se encuetra el elemento!!!\n\n\n");
       }
       
       i=0;
       
       printf("desea seguir consultando datos si=1,no=2\n");
       scanf("%i",&op2);
       
    }while(op2==1);


}


void service::capturar()
{
      int c=6,d=6,e=6,f=6;
      int ac=0,op1;
     
      system("cls");
      printf("\n");
     
      do
      {
         printf("\n\nIngrese nuevo servicio\n");
         
      do {
         gets(servicio[c]);
      }while(strcmp(servicio[c]," ")==0 || strcmp(servicio[c],"")==0);
     
      ac=cod_servicio[d-1]; // primer código es 5
      cod_servicio[d]=ac+1; //
     
      printf("Ingrese costo de servicio\n");
      scanf("%f",& costo[e]);
      printf("Ingrese comision de servicio\n");
      scanf("%i",& comision[f]);
      printf("desea seguir ingresando datos si=1,no=2\n");
      scanf("%i",& op1);
     
         c++;
         d++;
         e++;
         f++;

      }while(op1==1);
}

void service::buscar()
{
  printf("\n\n\n");
    int i,elem,c1,op2;
    do{
       system("cls");
    printf("Escriba el codigo de servicio que quiere mostrar\n\n");
    scanf("%d",& elem);
   
    for(i=0;i<=10;i++)
{
          if (cod_servicio[i]==elem)//
    {
       printf("\n\nNombre de servicio: %s\n", servicio[i]);
        printf("Codigo de servicio: %d\n", cod_servicio[i]);

        i=10;
        c1=0;
            }
    else
  {
       c1=1;
            }
         }
    if(c1==1)
    {
       printf("No se encuetra el elemento que busca!!!\n\n\n");
    }
   
    i=0;
   
    printf("desea seguir consultando datos si=1,no=2\n");
    scanf("%d",& op2);
   
      }while(op2==1);
}

void service::modificar()
{
      printf("\n\n\n");
    int i,elem,c1,op2,opz;
    do{
       system("cls");
    printf("Escriba el codigo de servicio que quiere modificar\n\n");
    scanf("%d",& elem);
    for(i=0;i<=10;i++)
    {
       if (cod_servicio[i]==elem)
    {
          do {
          printf("\n\n¿Que datos quiere modificar\n");
      printf("\n\n1-Nombre de servicio\n2-Costo de servicio\n3-Comision de servicio\n");
      scanf("%i",&opz);
                }while(opz<1 || opz >3);
               
      switch (opz)
      {
               case 1:
                system ("cls");
              printf("\n\nIngrese nuevo nombre de servicio\n");
              do{
              gets(servicio[i]);
              }while(strcmp(servicio[i]," ")==0 || strcmp(servicio[i],"")==0);
              break;

            case 2:
              system ("cls");
                printf("Ingrese costo de servicio\n");
                scanf("%f",& costo[i]);
                break;
            case 3:
                system ("cls");
                printf("Ingrese comision de servicio\n");
                scanf("%i",& comision[i]);
                break;
             }
        c1=0;
        i=10;
      system("cls");
          }
      else
      {
           c1=1;
      }
         }
    if (c1==1)
    {
      printf("No se encuetra el elemento que quiere modificar!!!\n\n\n");
      }
     
    i=0;
   
      do {
      printf("desea seguir modificando datos si=1,no=2\n");
      scanf("%d",& op2);
      }while(op2<1 || op2>2);
     
   }while (op2==1);
}



#endif // CLASESERVICIO_H_INCLUDED


Código (cpp) [Seleccionar]

//main.cpp
#include <iostream>
using namespace std;

#include "servicios.h"



int main ()
{
    service serv1;
   
//serv1.capturar();
    //serv1.mostrar();
//serv1.buscar();
//serv1.constante();
    //serv1.modificar();

    return 0;
}

KaL3o

a mi me surge la duda de ¿Porque no separas los metodos de la clase en un <nombre_clase>.cpp ???
Todos los caminos se vuelven a juntar. Pero nunca de la misma forma.