P95 程序完善 answer

 

#include<iostream>
using namespace std;
const int maxqueue=10;
typedef int queue_entry;
enum Error_code{success,overflow,underflow};
class queue
{
public:
 queue(void);
 Error_code serve();
 Error_code append(const queue_entry &item);
 Error_code retrieve(queue_entry &item)const;
 int size()const;
 void clear();

 

protected:
 int count;
 int front,rear;
 queue_entry entry[maxqueue]; 

};

 

queue::queue(void)
{
 count = 0;
 rear = maxqueue-1;
 front=0;
}


Error_code queue::append(const queue_entry &item){
  if(count>=maxqueue)
   return overflow;
  count++;
  rear=((rear+1)==maxqueue)?0:(rear+1);
  entry[rear]=item;
  return success;}


Error_code queue::serve(){
  if(count<=0)
   return underflow;
  count--;
  front=((front+1)==maxqueue)?0:(front+1);
  return success;}


Error_code queue::retrieve(queue_entry &item)const{
  if(count<=0)
   return underflow;
  item=entry[front];
  return success;}


int queue::size()const{
 return count;}


void  queue::clear(){
    count=0;
    rear=front;
}


void help();
void introduction();
char get_command();
bool do_command(char c,queue &test_queue);
int main(){
 queue test_queue;
 introduction();
 while(do_command(get_command(),test_queue));}


void help(){
 cout<<endl
 <<"a - Append the next input character to the extended queue"<<endl
 <<"s - Serve the front of the extended queue"<<endl
 <<"r - Retrieve and print the front entry"<<endl
 <<"# - The current size of the extended queue"<<endl
 <<"c - Clear the extended queue (same as delete)"<<endl
 <<"p - Print the extended queue"<<endl
 <<"h - This help screen"<<endl
 <<"q - Quit"<<endl

 <<"Press <Enter> to continue"<<flush;
 
 
 char c;
 do{
  cin.get(c);
 }while (c!='\n');}

 

void introduction(){
 cout<<"press <h> for help"<<endl;

}

char get_command(){
 char c;
 cout<<"select command and press <enter>";
 cin>>c;
 if(c=='a'||c=='s'||c=='r'||c=='#'||c=='c'||c=='p'||c=='h'||c=='q')
  return c;
 else
  cout<<"please enter a valid command or <h> for help"<<endl;
}

bool do_command(char c,queue &test_queue){
 bool continue_input=true;
 queue_entry x;
 switch(c){
 case'a':
  cout<<"enter new data to insert";
  cin>>x;
  if(test_queue.append(x)==overflow)
   cout<<"queue is full"<<endl;
  break;

 case's':
  if(test_queue.serve()==underflow)
   cout<<"queue is empty"<<endl;
  break;

 case'r':
  if(test_queue.retrieve(x)==underflow)
   cout<<"queue is empty"<<endl;
  else
   cout<<endl
   <<"the first entry is:"<<x
   <<endl;
  break;

 case'#':
  test_queue.size();
  break;

 case'c':
  test_queue.clear();
  break;

 case'p':

  break;

 case'h':
  help();
  break;

 case'q':
  cout<<"extended queue demonstration finished."<<endl;
  continue_input=false;
  break;
 }
 return continue_input;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 程序的功能是自动生成唐诗填空题,并将答案存放在名为answer的列表中。 这个程序的主要目的是帮助学习者练习填空题和唐诗的相应知识。在程序运行时,它会生成一首或多首唐诗,其中部分诗句会以空格的形式呈现。这些空格就是填空题的部分。填空项可以是缺少的字词,例如一个或者多个汉字、生僻字或诗句中的某些关键词。填空题的难易程度可以通过程序的设定进行调整。 当程序生成唐诗填空题后,它会将正确的答案存储在名为answer的列表中。这个列表可以分别对应唐诗中每个填空的正确答案。学习者可以通过查看程序生成的答案列表来对照自己的填空答案,并进行自我检查。 这个程序的用途非常广泛。它可以作为一种辅助学习工具,帮助学生学习和记忆唐诗的内容和语言。填空题的形式能够帮助学生加强对诗句的理解和记忆,并且通过填写答案来尽量还原原始的诗意。同时,这个程序也可以被用作考试准备的辅助工具,教师可以使用它来生成试卷或作为批改试卷时的参考。 总的来说,这个程序的功能是自动生成唐诗填空题,并将正确的填空答案存放在名为answer的列表中,从而帮助学生进行诗歌学习和提高他们的语言理解能力。 ### 回答2: 这个程序的功能是自动生成唐诗填空题,并将答案存放在answer列表中。 程序的初衷可能是为了帮助学习者更好地掌握唐诗的知识和技巧。通过填空题的形式,学习者可以在思考和回答的过程中加深对唐诗的理解和记忆,提高对唐诗词的艺术欣赏能力。 在程序运行过程中,它可能会随机选择一首唐诗,并从其中挖空一些关键词或词句作为填空部分。挖空的位置可能与这些关键词的语义相关,也可能是基于其在诗句中的位置策略。然后,程序将相应的答案存放在answer列表中。这样,学习者就可以通过填写答案来完成填空题,检验自己对唐诗的理解和记忆。 通过这个程序,学习者可以反复练习填空题,以提高对唐诗的灵敏度和掌握程度。同时,他们也可以利用答案列表来核对和评估自己的答题情况,并及时修正错误和巩固知识。 总的来说,这个程序的功能是自动生成唐诗填空题,通过填写答案来练习和巩固对唐诗的理解和记忆。它提供了一种有效的学习方式,让学习者可以在有趣的练习中提高自己对唐诗的欣赏能力和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值