用于编程分配的CLI菜单,将代码分成块

时间:2014-10-31 08:41:38

标签: c menu command-line-interface

我是学生,我在C中完成作业。不,我没有要求你完成作业。)我正在寻找一种方法来改善他们的作品和演示。

作为评论中存在问题的来源提供作业,一项作业中最多有10个问题。

以下是格式化示例:

#include <iostream>
#include <ctime>
#include <cstdlib>

int main()
{
    {
        //Problem 1. a) Do something
        int X = 123;
        // b) And now do it from the different angle
        int Y = 0;
        int* pY = &Y;
        *pY = 123;
    }

    {
        //Problem 2. a) Do something
        int X = 123;
        // b) And now do it from the different angle
        int Y = 0;
        int* pY = &Y;
        *pY = 123;
    }

    {
        //Problem 3. a) Do something
        int X = 123;
        // b) And now do it from the different angle
        int Y = 0;
        int* pY = &Y;
        *pY = 123;
    }
    return 0;
}

我们使用{}个单独的问题,以便您可以针对不同的问题使用相同的名称。需要为我们的老师辩护和解释问题。

当我向老师展示时,我必须评论所有问题,除了我正在展示,展示,评论,取消注释等等。这需要很多时间。问题并不是绝对简单的,它们通常涉及很少的函数循环和一些时间结构。

问题是如何分离每个问题,以便其中的所有内容都能正常运行。

我是否应该嵌入一个将调用包含练习的函数的开关? 或者是他们更好的解决方案?

P.S。我不是要求食谱,我只需要一个建议。

1 个答案:

答案 0 :(得分:0)

你可以开发菜单驱动的程序:

char ch='y';
int op=0;
while(ch=='y'){
  printf("1. problem 1\n");
  printf("2. problem 2\n");
  printf("choose your option from above:");
  scanf("%d",&op);
  switch(op){
    case 1:{
      //code for problem 1
      break;
    }
    case 2:{
      //code for problem 2
      break;
    }
    default:{
      //invalid option
  }
}
printf("Do you want to continue(y/n):");
scanf("%c",ch);
}