字符串没有打印 c++

String no print c++

本文关键字:c++ 打印 字符串      更新时间:2023-10-16

我在编程方面很新,我有这么大的代码,但是当我尝试打印数据时,永远不会打印字符串变量,你能帮忙吗?这只是为了我使用"goto"只是为了实用的Reassons。

   #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 主

不建议使用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;
}

这样,您的问题将得到解决,并且您学习了更好的方法。