ayuda con string en c++

Publicado en 'Programación' por kayser, 3 Set 2010.





  1. kayser

    kayser Miembro nuevo

    Registro:
    29 Dic 2008
    Mensajes:
    6
    Likes:
    0




    hola a todos tengo el libro de deitel de c++, y estoy en al parte de claces y objetos pero tengo un problema con un ejemplo que pusieron trato de compilarlo en borland c++ pero ocurren problemas les dejo el codigo haber si me pueden ayudar =))

    #include<iostream.h>
    #include<conio.h>
    #include<string.h>

    class librocalificaciones
    {
    public:
    void establecernombrecurso(string nombrecurso)
    {
    nombrecurso=nombre;
    }

    string obtenernombrecurso()
    {
    return nombre;
    }

    void mostrarmensaje()
    {
    cout<<"bienvenido al libro de calificaiones para\n<<obtenernombrecurso<<endl;
    }
    private:
    string nombrecurso;
    };
    int main()
    {
    string nombredelcurso;
    librocalificaciones milibrocalificaciones;
    cout<<"el nombre inicial del curso es: "<<milibrocalificaciones.obtenernombrecurso()<<endl;
    cout<<"escribe el nombre del curso ";
    cin.getline(nombredelcurso,nombredelcurso-1);
    milibrocalificaciones.establecernombrecurso(nombredelcurso);
    cout<<endl;
    milibrocalificaciones.mostrarmensaje();
    getch();
    return 0;
    }
     


  2. RockPeru

    RockPeru Miembro maestro

    Registro:
    2 Jun 2010
    Mensajes:
    289
    Likes:
    0
    Si pudiera ayudarte lo haria
    yo estoy haciendo visual 2005 c# y no entiendo ni pio!!!! algun libro o manual que me recomiendes??:biggrin:
     
  3. celsoxvi

    celsoxvi Miembro de bronce

    Registro:
    1 Mar 2009
    Mensajes:
    1,196
    Likes:
    72
    :O Yo también estoy ahí, pero en JAVA :D Muy bueno el Libro.
     
  4. BLake

    BLake Miembro frecuente

    Registro:
    6 Mar 2009
    Mensajes:
    192
    Likes:
    17
    Que error te sale, de compilacion o de ejecucion??, viendo rapidamente el codigo me doy cuenta que intentas obtener el nombre del curso (obtenernombrecurso()) sin antes haberlo establecido, primero se establece el nombre (establecernombrecurso(string nombrecurso)) luego lo obtienes.
     
  5. kayser

    kayser Miembro nuevo

    Registro:
    29 Dic 2008
    Mensajes:
    6
    Likes:
    0
    haber probare aunque, hasta donde se si son funciones no interesa el orden de las funciones sino el orden interesa en el main :S
     
  6. BLake

    BLake Miembro frecuente

    Registro:
    6 Mar 2009
    Mensajes:
    192
    Likes:
    17
    Claro pues no interesa el orden de la definicion de las funciones, interesa el orden en que las llamas en tu main, y ahi estas llamando primero a obtener en lugar de llamar primero a establecer, no puedes obtener el nombre sin antes establecerlo.
     
  7. Fumador

    Fumador Miembro frecuente

    Registro:
    22 Jun 2009
    Mensajes:
    162
    Likes:
    10
    Tendrias que poner el parámetro al llamar al objeto para que tu constructor haga el trabajo. Algo así como:

    librocalificaciones milibrocalificaciones(nombredelcurso);

    y luego lo muestras con

    milibrocalificaciones.establecernombrecurso();
     
    Última edición: 7 Oct 2010
  8. jflores

    jflores Miembro de bronce

    Registro:
    27 Jun 2010
    Mensajes:
    2,447
    Likes:
    76
    con que programa lo estas haciendo turbo c++ u otro?
    te faltan corregir algunas lineas de comandos...
     
    Última edición: 7 Oct 2010
  9. bryan

    bryan Miembro nuevo

    Registro:
    26 Ago 2007
    Mensajes:
    36
    Likes:
    1
    Io tbm uso el borland pa programar en c++, pero no me enseñaron el string, solo uso es stdio, conio y el iostream
    NUMERO PRIMO EN C++:

    #include <stdio.h>
    #include <conio.h>
    #include <iostream.h>
    void main()
    {
    int num, num_div=0;
    cout<<"Ingrese un numero: ";
    cin>>num;
    for(int i=1;i<=num;i++)
    {
    if(num % i == 0)
    {
    num_div +=1;
    }
    }
    if(num_div<3)
    {
    cout<<"\nEl numero "<<num<<" es un numero primo";
    }
    else
    {
    cout<<"\nEl numero "<<num<<" no es un numero primo";
    }
    getch();
    return;
    }
     
    Última edición: 2 Nov 2010
  10. Tequila_Burp

    Tequila_Burp Miembro frecuente

    Registro:
    25 Oct 2010
    Mensajes:
    123
    Likes:
    7
    no se la sintaxis de c++ pero al ojo nombrecurso y nombre estan en desorden =p

    Código:
    class librocalificaciones
    {
        public:
            void establecernombrecurso(string nombre)
           {
              nombrecurso=nombre;
          }
    
          string obtenernombrecurso()
          {
              return nombrecurso;
          }
    
          ...blah blah...
    
       private:
           string nombrecurso;
    };
     
  11. Galactus

    Galactus Miembro frecuente

    Registro:
    7 Nov 2010
    Mensajes:
    96
    Likes:
    6
    en la función mostrarmensaje(): no veo las " que cierren el valor literal pasado al método cout