我想在开关盒中放入开关盒,然后再进行切换。如果记得的话,我们可以使用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;
}