2015-06-04 4 views
0

Я только начал изучать C++, в настоящее время я пытаюсь создать программу, которая будет запускать несколько программ внутри себя, к которым можно получить доступ в главном меню, вам удалось с некоторой помощью сделать диаграмму умножения, как мою первую программу, которую пользователь может выбрать, но я не могу понять, как заставить программу очистить экран и вернуть главное меню, проблема в том, что что я пробовал до сих пор: getchar(), return 0;, system("PAUSE") останавливать цикл for, который у меня есть после того, как была напечатана одна строка, и в некоторых случаях вам нужно попасть в каждую строку. Так что я могу заставить весь график распечатать и заставить его сидеть на экране, пока пользователь не закроет его с помощью определенного ключа, этот ключ также очистит экран и вернет мое главное меню? Заранее спасибо, я сделал несколько поисков, но в настоящий момент я немного смущен.C++ возвращается в главное меню

Вот что я написал до сих пор, это мое меню и мой цикл графики ...

printf("\n******************************************************"); 
printf("\n******************************************************"); 
printf("\n**   Hello and welcome to my program!   **"); 
printf("\n** Please select the program you would like to run! **"); 
printf("\n******************************************************"); 
printf("\n**     - 1. Multiplication table  **"); 
printf("\n**     - 2. Program B -    **"); 
printf("\n**     - 3. Program C -    **"); 
printf("\n**     - 4. Program D -    **"); 
printf("\n******************************************************"); 
printf("\n******************************************************"); 
printf("\n "); 
scanf("%d", &selection); 
system("CLS"); 

switch (selection) { 

    case 1: 
     int i, j;  

     printf (" |");  
     for (i = 1; i <= 10; ++i)  
      printf ("%#3d ", i);  
     printf ("\n");  

     for (i = 1; i < 64; ++i)  
      printf ("-");  
     printf ("\n");  

     for (i = 1; i <= 10; ++i) {  
      printf ("%#2d |", i);  
      for (j = 1; j <= 10; ++j)  
       printf ("%#3d ", i * j);  
      printf ("\n"); 
     } 

     break; 

ответ

0

Многие вопросы здесь и нет C++. Ответ на вопрос C.

Clearing the screen был избит до смерти в другом месте.

Что касается цикла, поместите свой код выше в цикл while и добавьте пятый выбор: выход.

bool done = false; 
while(!done) 
{ 
    printf("\n******************************************************"); 
    printf("\n******************************************************"); 
    printf("\n**   Hello and welcome to my program!   **"); 
    printf("\n** Please select the program you would like to run! **"); 
    printf("\n******************************************************"); 
    printf("\n**     - 1. Multiplication table  **"); 
    printf("\n**     - 2. Program B -    **"); 
    printf("\n**     - 3. Program C -    **"); 
    printf("\n**     - 4. Program D -    **"); 
    printf("\n**     - 5. Exit  -    **"); 
    printf("\n******************************************************"); 
    printf("\n******************************************************"); 
    printf("\n "); 
    scanf("%d", &selection); 
    system("CLS"); 

    switch (selection) 

    { 

    case 1: 
      {  
      int i, j;  

       printf (" |");  
       for (i = 1; i <= 10; ++i)  
        printf ("%#3d ", i);  
        printf ("\n");  

        for (i = 1; i < 64; ++i)  
        printf ("-");  
        printf ("\n");  

       for (i = 1; i <= 10; ++i){  
        printf ("%#2d |", i);  
        for (j = 1; j <= 10; ++j)  
        printf ("%#3d ", i * j);  
        printf ("\n"); 

       } 

       break; 
    case 5: 
     done = true; 
     break; 
} 
+0

Благодарим вас за то, что главное меню появилось после того, как таблица была напечатана. Теперь мне просто нужно, чтобы меню печаталось только после того, как определенная клавиша была нажата, когда таблица закончена. Большое спасибо: D – Nism

Смежные вопросы