我想在开关盒中放入开关盒,然后再进行切换。如果记得的话,我们可以使用if来使开关盒移动到第一个开关盒。 k

这是我当前的代码

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main() {

   int a,b;
    system("cls");
    printf("Cara Membuat daftar Pertanyaan!\n");
    printf("1. Matematika\n");
    printf("2. Bahasa indonesia\n");
    printf("3. Bahasa Inggris\n");
    printf("4. Kewarganegaraan\n");
    printf("0. Exit \n");
    printf("Masukan no dari 1-4 (0) : ");
    scanf("%d", &a);

    switch(a)
    {
        case 1 :  system("cls");
                  printf("1. Perkalian\n");
                  printf("2. Pertambahan\n");
                  printf("3. Perkurangan\n");
                  printf("4. Pembagian\n");
                  printf("5. Kembali \n");
                  printf("Masukan no dari 1-5 : ");
                  scanf("%d",&b);
                  if( b == 5)
                  {
                        switch(a);
                    }
                    else {
                            break;
                    }

                  break;
        default : printf("Error");
    }

 return 0;
}

最佳答案

将所有内容放入while循环,并且仅允许Kembali选项运行循环。您也可以将其实现为递归函数,但这会变得很复杂。

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int
main (void)
{
    int a;
    int b;
    int loop = 1;

    while (loop) {
        loop = 0;
        system ("cls");

        printf ("Cara Membuat daftar Pertanyaan!\n");
        printf ("1. Matematika\n");
        printf ("2. Bahasa indonesia\n");
        printf ("3. Bahasa Inggris\n");
        printf ("4. Kewarganegaraan\n");
        printf ("0. Exit \n");
        printf ("Masukan no dari 1-4 (0) : ");

        scanf ("%d", &a);

        switch (a) {
            case 0: {
                printf ("Exited\n");
                break;
            }

            case 1: {
                system ("cls");

                printf ("1. Perkalian\n");
                printf ("2. Pertambahan\n");
                printf ("3. Perkurangan\n");
                printf ("4. Pembagian\n");
                printf ("5. Kembali \n");
                printf ("Masukan no dari 1-5 : ");

                scanf ("%d", &b);

                if (b == 5) {
                    loop = 1;
                }

                break;
            }

            default: {
                printf ("Error\n");
                break;
            }
        }
    }

    return 0;
}

09-30 20:43