الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال لخبراء البرمجه في اللينكس

مغلق
بدأه nmr في 14 مارس 2004 · 1 رد · 920 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا مبتدئ في اللينكس والبرمجه في لغة السي بالينكس لانه فيها اوامر مب موجوده بلغة السي مثل 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");





}

فياليت احد يساعدني فيه

وشكرا

#2

-يبدو انك نسيت ان تضع جملة الخروج exit(); او break;من البرنامج في النقطة السادسة بعد جملة الطباعة

تم تعديل هذه المشاركة بواسطة ashamry في 10 مايو 2004 في 21:45

هذا الموضوع مغلق.

مواضيع مشابهة