如何将开关盒换回另一个开关盒(C)

时间:2015-10-26 01:32:19

标签: c

我想在开关盒中制作开关盒并进行开关。如果记得我们可以使用if else使开关盒移动到第一个开关盒。那个

这是我现在的代码

#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;   
}

1 个答案:

答案 0 :(得分:1)

将所有内容放在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;
}
相关问题