البرمجة بلغة السى – الجزء الثانى -5- عبارة switch….case :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
البرمجة بلغة السى – الجزء الثانى -5- عبارة switch….case :
البرمجة بلغة السى – الجزء الثانى -5- عبارة switch….case :
نحن بحاجة لاتخاذ القرار عندما يواجه البرنامج موقف اختيار عبارة معينة من بين كثير من العبارات . إذا كان على المبرمج أن يختار واحد من الكثير من البدائل يمكن أن يستخدم عبارة if…else ، ولكن هذا يجعل منطق البرمجة معقد . هذا النوع من المشاكل يمكن التعامل معه عند البرمجة بلغة السى باستخدام عبارة switch…case .
صيغة عبارة switch…case :
فى عبارة switch…case : التعبير expression يكون إما عدد صحيح أو حرف . إذا طابقت قيمة تعبير switch أى من ثوابت case ، يتم تنفيذ الكود المتصل بها ويتحرك التحكم خارج عبارة switch…case . إذا لم تطابق قيمة تعبير switch أى من ثوابت case ، عندئذ يتم تنفيذ العبارة الافتراضية default .
مثال على عبارة switch…case :
كتابة برنامج بلغة السى يسأل المستخدم إدخال عامل حسابى (+ , - , * , / ) وإدخال معاملين وإجراء الحسابات المناظرة على المعاملات .
الخرج :
لاحظ وجود عبارة break عند نهاية كل case والتى تسبب الخروج من عبارة switch…case . إذا لم يتم استخدام عبارة break ، فإن العبارات أسفل عبارة case سوف يتم تنفيذها أيضا .
نحن بحاجة لاتخاذ القرار عندما يواجه البرنامج موقف اختيار عبارة معينة من بين كثير من العبارات . إذا كان على المبرمج أن يختار واحد من الكثير من البدائل يمكن أن يستخدم عبارة if…else ، ولكن هذا يجعل منطق البرمجة معقد . هذا النوع من المشاكل يمكن التعامل معه عند البرمجة بلغة السى باستخدام عبارة switch…case .
صيغة عبارة switch…case :
- الكود:
switch (expression)
{
case constant1:
codes to be executed if expression equals to constant1;
break;
case constant2:
codes to be executed if expression equals to constant3;
break;
.
.
.
default:
codes to be executed if expression doesn't match to any cases;
}
فى عبارة switch…case : التعبير expression يكون إما عدد صحيح أو حرف . إذا طابقت قيمة تعبير switch أى من ثوابت case ، يتم تنفيذ الكود المتصل بها ويتحرك التحكم خارج عبارة switch…case . إذا لم تطابق قيمة تعبير switch أى من ثوابت case ، عندئذ يتم تنفيذ العبارة الافتراضية default .
مثال على عبارة switch…case :
كتابة برنامج بلغة السى يسأل المستخدم إدخال عامل حسابى (+ , - , * , / ) وإدخال معاملين وإجراء الحسابات المناظرة على المعاملات .
- الكود:
/* C program to demonstrate the working of switch...case statement */
/* Program to create a simple calculator for addition, subtraction, multiplication and division */
# include <stdio.h>
int main(){
char operator;
float num1,num2;
printf("Enter operator +, - , * or / :\n");
operator=getche();
printf("\nEnter two operands:\n");
scanf("%f%f",&num1,&num2);
switch(operator)
{
case '+':
printf("num1+num2=%.2f",num1+num2);
break;
case '-':
printf("num1-num2=%.2f",num1-num2);
break;
case '*':
printf("num1*num2=%.2f",num1*num2);
break;
case '/':
printf("num2/num1=%.2f",num1/num2);
break;
default:
/* if operator is other than +, -, * or /, error message is shown */
printf(Error! operator is not correct");
break;
}
return 0;
}
الخرج :
- الكود:
Enter operator +, -, * or / :
/
Enter two operators:
34
3
num2/num1=11.33
لاحظ وجود عبارة break عند نهاية كل case والتى تسبب الخروج من عبارة switch…case . إذا لم يتم استخدام عبارة break ، فإن العبارات أسفل عبارة case سوف يتم تنفيذها أيضا .
مواضيع مماثلة
» البرمجة بلغة السى – الجزء الثانى -1- عبارة if , if..else , Nested if..else :
» البرمجة بلغة السى – الجزء الثانى -6- عبارة goto :
» البرمجة بلغة السى – الجزء الثانى -4- عبارة break وعبارة continue
» البرمجة بلغة السى – الجزء الثانى -2- حلقة for
» البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
» البرمجة بلغة السى – الجزء الثانى -6- عبارة goto :
» البرمجة بلغة السى – الجزء الثانى -4- عبارة break وعبارة continue
» البرمجة بلغة السى – الجزء الثانى -2- حلقة for
» البرمجة بلغة السى – الجزء الثانى -3- حلقة while وحلقة do…while
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: الفئة الأولى :: منتدى البرمجة بلغة السى C Programming
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى