2015-10-27 249 views
0

我很新的C++和我的任务,他们要我创建获取用户输入,我已经在这里做了一个功能:(班级列表是一个数组)do-while循环C++

public: 
    void userInput() { 

     string enterAgain; 

     do { 

     cout << "Enter the students name: " << name; 
     cin >> name; 

     cout << "Enter the number of classes the student is enrolled in: " << numClasses; 
     cin >> numClasses; 

     for (int i = 0; i < numClasses; i++) { 
      cout << "Enter the class list: " << (i+1) << classList; 
      cin >> classList; 
      i++; 
     } 

     cout << "Would you like to enter again (y for yes): " << enterAgain; 
     cin >> enterAgain; 

     } while (enterAgain == "Y" || enterAgain == "y"); 

    } 

当我运行它,它会要求用户为学生名字后面的他们正在上课的数,但是当它要求用户输入类列表会显示这样的事情:

Enter the class list: 0x7fff536d1b78 

但除此之外,它不会让我输入任何内容。我搜索了几个小时试图纠正这个问题,我希望有人能指出我在纠正这个问题的正确方向。谢谢!

+1

'<< classList'打印阵列'classList'的地址。你为什么要打印?如果'classList'是一个数组,则需要将值放在**索引**处。 – CrakC

+0

我仍然完全理解如何使用数组,但指令是“输入来自用户的所有值的函数,包括类名称列表”。 – mur7ay

+0

是的,它就是这样做的。我相信数组'classList'的内容是他们说**类名**的指令。 – CrakC

回答

1
public: 
    void userInput() { 

     string enterAgain; 

     do { 

     cout << "Enter the students name: " << name; 
     cin >> name; 

     cout << "Enter the number of classes the student is enrolled in: " << numClasses; 
     cin >> numClasses; 

     for (int i = 0; i < numClasses; i++) { 
      cout << "Enter the class list: " << (i+1) << classList; 
      cin >> classList; 
      i++; 
     } 

     cout << "Would you like to enter again (y for yes): " << enterAgain; 
     cin >> enterAgain; 

     } while (enterAgain == "Y" || enterAgain == "y"); 

    } 

应为─

public: 
    void userInput() { 

     string enterAgain; 

     do { 

     cout << "Enter the students name: " << endl; 
     cin >> name; 

     cout << "Enter the number of classes the student is enrolled in: " << endl; 
     cin >> numClasses; 

     for (int i = 0; i < numClasses; i++) { 
      cout << "Enter the class list: " << (i+1) << endl; 
      cin >> classList[i]; 
     } 

     cout << "Would you like to enter again (y for yes): " << endl; 
     cin >> enterAgain; 

     } while (enterAgain == "Y" || enterAgain == "y"); 

    } 
+0

非常感谢! – mur7ay