السلام عليكم

انا مبتدئ في اللينكس والبرمجه في لغة السي بالينكس لانه فيها اوامر مب موجوده بلغة السي مثل fork و wait عموما سؤالي هو :

A Sample LUSh RUN
[Linux / User:abc] ./a.out
Welcome to Limited Use Shell (LUSh)
Here are your options: Please enter your selection [1-6]
1. Run Addition of two numbers program
2. Run Subtraction of two numbers program
3. Run Hello World program
4. Run Display my name program
5. Run File Printing program
6. Quit LUSh
Please make a selection: 1_
Running 1 with pid 314
Enter A Number: 12_
Enter second number: 10_
Sum is: 22_
Finishing 1 with pid 314
Welcome to Limited Use Shell (LUSh)
Here are your options: Please enter your selection [1-6]
1. Run Addition of two numbers program
2. Run Subtraction of two numbers program
3. Run Hello World program
4. Run Display my name program
5. Run File Printing program
6. Quit LUSh
Please make a selection: 3_
Running 3 with pid 316
HELLOOO WORLD!!!!
Finishing 3 with pid 316
Welcome to Limited Use Shell (LUSh)
Here are your options: Please enter your selection [1-6]
1. Run Addition of two numbers program
2. Run Subtraction of two numbers program
3. Run Hello World program
4. Run Display my name program
5. Run File Printing program
6. Quit LUSh
Please make a selection: 6_
Ending LUSh. bye bye
[Linux / User:abc]


المطلوب هو عمل برنامج بالسي يحتوي على 6 اختيارات كل رقم يمثل شي معين وبمجرد الضغط على الرقم 6 ينتهي البرنامج لكن باستخدام fork و wait .
انا حليته بس المشكله عندي ان حطيت رقم 6 ما يطلع ويكرر الجمل 5 او 6 مرات حتى يطلع !!
حلي هو :

#include <stdio.h>
#include <sys/wait.h>
main()
{
int i,number1,number2,sum,sub,j,status;
printf("Welcome to Limited Use Shell (LUSh)\n");
printf("Here are your options: Please enter your selection [1-6]\n");
printf("1. Run Addition of two numbers program\n");
printf("2. Run Subtraction of two numbers program\n");
printf("3. Run Hello World program\n");
printf("4. Run Display my name program\n");
printf("5. Run Display my id program\n");
printf("6. Quit LUSh\n");
printf("Please make a selection: ");
scanf("%d", &i);


while(i != 6 )
{
j = fork();
if(j == 0)
{

if(i == 1)
{
printf(" running 1 with pid (%d) \n",getpid());
printf(" Enter A Number: ");
scanf("%d",&number1);
printf(" Enter second number: ");
scanf("%d",&number2);
sum = number1 + number2 ;
printf(" Sum is: %d \n",sum);
printf(" Finshing 1 with pid (%d) \n",getpid());

}

else if(i == 2)
{

printf(" running 2 with pid (%d) \n",getpid());
printf(" Enter A Number: ");
scanf("%d",&number1);
printf(" Enter second number: ");
scanf("%d",&number2);
sub = number1 - number2 ;
printf(" Subtraction is: %d \n",sub);
printf(" Finshing 2 with pid (%d) \n",getpid());
}
else if(i==3)
{

printf(" running 3 with pid (%d) \n",getpid());
printf(" HELLOOO WORLD!!!!\n");
printf(" Finshing 3 with pid (%d) \n",getpid());
}
else if(i==4)
{
printf(" running 4 with pid (%d) \n",getpid());
printf(" My name is A N\n");
printf(" Finshing 4 with pid (%d) \n",getpid());

}
else if(i==5)
{
printf(" running 5 with pid (%d) \n",getpid());
printf(" My Id is 124453423\n");
printf(" Finshing 5 with pid (%d) \n",getpid());
}
}
else
j= wait(&status);





printf("Welcome to Limited Use Shell (LUSh)\n");
printf("Here are your options: Please enter your selection [1-6]\n");
printf("1. Run Addition of two numbers program\n");
printf("2. Run Subtraction of two numbers program\n");
printf("3. Run Hello World program\n");
printf("4. Run Display my name program\n");
printf("5. Run Display my id program\n");
printf("6. Quit LUSh\n");
printf("Please make a selection: ");
scanf("%d", &i);
}
if(i==6)
printf("Ending LUSh: Bye Bye\n");





}


فياليت احد يساعدني فيه
وشكرا