2016-04-24 112 views
-1

我是非常新的編程,我有這個大代碼,但是當我嘗試打印數據從不打印字符串變量,你能幫忙嗎? 這只是爲 我使用「goto」只是爲了實際應用。字符串沒有打印c + +

#include <iostream> 
    #include <string> 
    #include <cstdlib> 
    using namespace std; 

    class producto 
    { 
    public: 
     int id; 
     string nombre; 
     string descripcion; 
     int precio; 
     void registrar(); 
     void ver(); 
    }; 
    void producto::registrar() 
    { 
     cout << "Codigo:" << endl; 
     cin >> id; 
     cin.ignore(); 
     cout << "Nombre del producto:" << endl; 
     getline(cin, nombre); 
     cout << "Descripcion del producto:" << endl; 
     getline(cin, descripcion); 
     cout << "Precio:" << endl; 
     cin >> precio; 

    } 
    void producto::ver() 
    { 
     cout << "ID del producto:"; 
     cout << id << endl; 
     cout << "Nombre del producto:" << endl; 
     cout << nombre; 
     cout << "Descripcion del producto:"; 
     cout << descripcion<<endl; 
     cout << "Precio:"; 
     cout << "$" << precio << endl; 

    } 
int main() 
{ 
menu1: 
    int menu; 
    producto cosa; 
    cout << "************************" << endl; 
    cout << "1.- Registrar Producto" << endl; 
    cout << "2.- Ver Producto" << endl; 
    cout << "************************" << endl; 
    cin >> menu; 
    cin.ignore(); 
    switch (menu) 
    { 
    case 1: 
     cout << "INGRESE PRODUCTO NUEVO:\nPresione enter para continuar" << endl; 
     cin.ignore(); 
     system("cls"); 
     cosa.registrar(); 
     cin.ignore(); 
     break; 
    case 2: 
     cosa.ver(); 
     cout << "Presione enter para regresar al menu principal." << endl; 
     cin.ignore(); 
     break; 

    } 
    goto menu1; 
    return 0; 
} 

編輯 這裏是INT主要

+0

你的'main'函數是什麼? –

+0

你可以添加一個'main()'你在哪裏使用你的類? –

+0

完成,謝謝。 – 005197503

回答

0

不推薦使用goto並認爲是一個非常不好的做法,即使是初學者。如果您是用C++開始的,遵循最佳做法是最好的開始。爲了向後兼容,C/C++僅支持goto

爲您的問題嘗試使用循環,而不是goto

int main() 
{ 
    //Condition to show the menu or exit 
    bool bContinue = true; 
    producto cosa; 

    do{ 

     int menu; 
     cout << "************************" << endl; 
     cout << "1.- Registrar Producto" << endl; 
     cout << "2.- Ver Producto" << endl; 
     cout << "3.- Exit" << endl; 
     cout << "************************" << endl; 
     cin >> menu; 
     cin.ignore(); 

     switch (menu) 
     { 
     case 1: 
      cout << "INGRESE PRODUCTO NUEVO:\nPresione enter para continuar" << endl; 
      cin.ignore(); 
      system("cls"); 
      cosa.registrar(); 
      cin.ignore(); 
      break; 
     case 2: 
      cosa.ver(); 
      cout << "Presione enter para regresar al menu principal." << endl; 
      cin.ignore(); 
      break; 
     case 3: 
      bContinue = false; 
      break; 
     } 

    }while(bContinue) 
    return 0; 
} 

就像這樣,你的問題將被修復,你會學到一個更好的方法來做到這一點。

+0

謝謝,我不是一個循環,因爲它假設我們還不能使用它們。 – 005197503