новичку нужна помощь, я не могу найти в чем дело. я ввожу число, и оно останавливается - PullRequest
0 голосов
/ 18 ноября 2009
/*********************************************************************
 *Program Name      :   CSC 110 - 003 Store Unknown Number of Values
 *Author            :   Anthony Small
 *Due Date          :   Nov\17\09
 *Course/Section    :   CSC 110 - 003
 *Program Description:  Store Unknown Number of Values in an Array
 *
 *BEGIN Lab 7 - CSC110-003  Store Unknown Number of Values
 *  init Array to five
 *  init Count to Zero
 *  Get First Value or Quit
 *  WHILE (Value is not Quit)
 *        Store Value into Arry
 *        Add One to Count  
 *  IF    (Array is Full)
 *        Set Value to Quit
 *        Cout Full Message
 *  ELSE  Get Next Value or Quit
 *  End IF
 *  END WHILE
 *  FOR   (Set Value in the Array)
 *        Display Value
 *  END FOR
 *End Lab 7 - Store Unknown Number of Values
 *********************************************************************/

#include <iostream>
#include <iomanip>
//#include <stdlib>
#include <ctime> //or <ctime>

using namespace std;

int main()
{
//local constants
const int Quit = -1;                            //Sentinal value                            
const int SIZE = 5;                             //Max number of inputs
//local variables
int Num ;
int Count=0;
int Array [SIZE];

//******************************************************************/
// Display Input
cout << "Input first Number or Quit\n";  
cin >> Num;
while   (Num != Quit);

        Array [0] = Num;                        //Store number into array
        Count++;                                //Add one to count
    if (Count==SIZE-1)              
    {
        (Num = Quit);
        cout <<"Array is full";
    }
    else cout <<"Enter next number or quit\n";
      cin>>Num;                                 //Input next number

for (int pos = 0;pos < SIZE; pos++)
    cout << Array [pos];            
return 0;
//end main program
}

Ответы [ 4 ]

7 голосов
/ 18 ноября 2009

Когда вы делаете

while   (Num != Quit);

Вы действительно имели в виду:

while (Num != Quit)
{
  // Code here...
}
3 голосов
/ 18 ноября 2009
Hint #1 You need to add braces for the while loop... (and remove the semi-column)
Hint #2 You need to use a different subscript (other that systematically 0
        for storing into Array.
2 голосов
/ 18 ноября 2009

Посмотрите на линию

while   (Num != Quit);

также подумайте о том, что

Array [0] = Num;

будет делать в цикле

как вы думаете, каким будет следующий результат / действие после

cout <<"Array is full"

отступы, круглые скобки и т. Д. Необходимо очистить, чтобы заставить это делать то, что вы хотите.

1 голос
/ 18 ноября 2009
  1. Хотя цикл будет выполняться только 1 раз.
  2. Вы будете перезаписывать первое значение массива при каждом выполнении цикла.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...