如何根据输入向右或向左移动*? [C ++]

时间:2014-03-05 06:52:42

标签: c++

所以,我想写一个c ++程序,所以它可以移动*,根据用户输入,用户可以随意向左或向右移动它。

cout << "*" << endl;
cout << Enter: l (Move Left) or r (Move Right): << endl;
cin >> c;

while (c == 'k' || c == 'l'){
  if(c == 'k'){

到目前为止,这就是我所拥有的,我不知道如何继续。 提前感谢任何建议/帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

#include <iostream>

using namespace std;

int main() 
{
    char c='x';
    int position = 0; //starts from the left most position
    int temp =0;
    cout << "*" << endl;
    cout << "Enter: l (Move Left) or r (Move Right) or x (exit): " << endl;
    cin >> c;

while (c != 'x')
{
    if((c == 'r')||(c=='l'))
    {
        if(c == 'r')
        {
        position++;
        }
        else if(c == 'l')
        {
        if(position==0) 
            position=0;
        else
            position--;
        }
        temp=position;
        while(temp--!=0)
        {
        cout << " "; //print space
        }
        cout << "*" <<endl;
    }   
    else
    {
        cout << "Wrong character entered\n" << endl;
    }
    cout << "Enter: l (Move Left) or r (Move Right) or x (exit): "<< endl;
    cin >> c;
}
return 0;

}

输入:

rrrrrrrlllx

输出:

*
Enter: l (Move Left) or r (Move Right) or x (exit): 
 *
Enter: l (Move Left) or r (Move Right) or x (exit): 
  *
Enter: l (Move Left) or r (Move Right) or x (exit): 
   *
Enter: l (Move Left) or r (Move Right) or x (exit): 
    *
Enter: l (Move Left) or r (Move Right) or x (exit): 
     *
Enter: l (Move Left) or r (Move Right) or x (exit): 
      *
Enter: l (Move Left) or r (Move Right) or x (exit): 
       *
Enter: l (Move Left) or r (Move Right) or x (exit): 
      *
Enter: l (Move Left) or r (Move Right) or x (exit): 
     *
Enter: l (Move Left) or r (Move Right) or x (exit): 
    *
Enter: l (Move Left) or r (Move Right) or x (exit):