آموزش برنامه نویسی C قسمت 24 : Switch Case Statement

سلام و وقت بخیر. در این جلسه درمورد ساختار switch case صحبت میکنیم. به switch case میتوان به عنوان یک if else گسترده تر نگاه کرد. با switch case میتوان یک متغیر را گرفت و برای حالت های مختلف مقدار آن تصمیم گیری های مختلفی انجام داد. اگر بخواهیم همین کار را با if انجام دهیم، به ازای تک تک مقادیری که متغیرمان میگیرد باید یک if بنویسیم. به ساختار زیر دقت کنید.

آموزش برنامه نویسی C  قسمت 24 : Switch Case Statement

همانطور که در شکل مشخص است، یک ورودی وارد تابع شده و مقدار آن با هر کدام از موارد ( case ) برابر باشد، کد های همان case اجرا میشود. به مثال ساده زیر دقت کنید.

#include <stdio.h>

int main()
{
	printf( "Enter your grade: " );
	char Grade ;
	scanf( "%c" , &Grade );

     switch( Grade )
     {
        case 'A' : printf( "Excellent\n" );
                   break;
        case 'B' : printf( "Good\n" );
                   break;
        case 'C' : printf( "OK\n" );
                   break;
        case 'D' : printf( "Mmmmm....\n" );
                   break;
        case 'F' : printf( "You must do better than this\n" );
                   break;
        default  : printf( "What is your grade anyway?\n" );
                   break;
     }
return 0;
}

خروجی کد :

[root@CentOS6 c]# gcc -o switch switch.c
[root@CentOS6 c]# ./switch 
Enter your grade: A
Excellent
[root@CentOS6 c]# ./switch 
Enter your grade: B
Good
[root@CentOS6 c]# ./switch 
Enter your grade: C
OK
[root@CentOS6 c]# ./switch 
Enter your grade: bla blla
What is your grade anyway?
[root@CentOS6 c]# 

کد بسیار ساده است. یک مقدار ورودی از کاربر میگیرد و بر اساس آن تصمیم گیری میکند. سعی کنید مثال را برای حالت ها و انواع متغیر امتحان کنید. حالت پیش فرض برای این است که اگر مقداری که کاربر وارد کرده در هیچ حالت case ها وجود ندارد. حالا اگر بخواهیم در همین مثال بالا برای هر case مقدار 2 شرط همزمان داشته باشد که هر کدام برقرار بود اجرا شود.

#include <stdio.h>

int main()
{
	printf("Enter your grade: ");
	char Grade;
	scanf("%c",&Grade);

     switch( Grade )
     {
        case 'A' : 
	    case 'a' : printf( "Excellent\n" );
                   break;
		
        case 'B' :
       	case 'b' : printf( "Good\n" );
                   break;

        case 'C' :
        case 'c' : printf( "OK\n" );
                   break;

        case 'D' :
        case 'd' : printf( "Mmmmm....\n" );
                   break;
        case 'F' : 
	     case 'f' : printf( "You must do better than this\n" );
                   break;
		
        default  : printf( "What is your grade anyway?\n" );
                   break;
     }
return 0;
}

مثال : با استفاده از ساختار switch case یک ماشین حساب ساده بسازید.

# include <stdio.h>

int main() {

    char operator;
    double firstNumber,secondNumber;

	printf("Enter first operands: ");
    	scanf("%lf",&firstNumber);
	
    	printf("Enter an operator (+, -, *,): ");
    	scanf("%s", &operator);
		
	printf("Enter second operands: ");
    	scanf("%lf",&secondNumber);

    switch(operator)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber+secondNumber);
            break;

        case '-':
            printf("%.1lf - %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber-secondNumber);
            break;

        case '*':
            printf("%.1lf * %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber*secondNumber);
            break;

        case '/':
            printf("%.1lf / %.1lf = %.1lf\n",firstNumber, secondNumber, firstNumber/firstNumber);
            break;

        // operator is doesn't match any case constant (+, -, *, /)
        default:
            printf("Error! operator is not correct\n");
    }
    return 0;
}

تمرین : با استفاده از while برنامه بالا را طوری تغییر دهید که پس از محاسبه عملیات، از برنامه خارج نشود و بتوان چندین عملیات را با یک بار اجرای برنامه انجام داد. سپس با فشردن دکمه خاصی از برنامه خارج شود.

پایان قسمت بیست و چهارم

نویسنده : سید محمد باقر موسوی

منبع : جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#برنامه_نویسی_به_زبان_c #نوشتن_shell_script_در_لینوکس #زبان_برنامه_نویسی_c_در_لینوکس #برنامه_نویسی_c_در_محیط_لینوکس #آموزش_گام_به_گام_برنامه_نویسی_c #برنامه_نویسی_c_در_linux #آموزش_برنامه_نویسی_c_در_لینوکس
عنوان
1 آموزش برنامه نویسی C قسمت 1 : نصب محیط برنامه نویسی رایگان
2 آموزش برنامه نویسی C قسمت 2 : Hello World رایگان
3 آموزش برنامه نویسی C قسمت 3 : Data Types رایگان
4 آموزش برنامه نویسی C قسمت 4 : Data Types رایگان
5 آموزش برنامه نویسی C قسمت 5 : اشاره گر ها رایگان
6 آموزش برنامه نویسی C قسمت 6 : آرایه ها رایگان
7 آموزش برنامه نویسی C قسمت 7 : ساختار شرط IF رایگان
8 آموزش برنامه نویسی C قسمت 8 : حلقه for رایگان
9 آموزش برنامه نویسی C قسمت 9 : حلقه While رایگان
10 آموزش برنامه نویسی C قسمت 10 : Struct رایگان
11 آموزش برنامه نویسی C قسمت 11 : تابع دریافت ورودی scanf رایگان
12 آموزش برنامه نویسی C قسمت 12 : فایل های متنی و باینری رایگان
13 آموزش برنامه نویسی C قسمت 13 : توابع رایگان
14 آموزش برنامه نویسی C قسمت 14 : توابع اشاره گر رایگان
15 آموزش برنامه نویسی C قسمت 15 : argc argv رایگان
16 آموزش برنامه نویسی C قسمت 16 : Multiple Source Files رایگان
17 آموزش برنامه نویسی C قسمت 17 : String Functions & Operations رایگان
18 آموزش برنامه نویسی C قسمت 18 : Char Pointers VS Array Char رایگان
19 آموزش برنامه نویسی C قسمت 19 : Binary & Unary Operations رایگان
20 آموزش برنامه نویسی C قسمت 20 : Type Casting رایگان
21 آموزش برنامه نویسی C قسمت 21 : readdir & opendir functions رایگان
22 آموزش برنامه نویسی C قسمت 22 : Fork Function رایگان
23 آموزش برنامه نویسی C قسمت 23 : Thread رایگان
24 آموزش برنامه نویسی C قسمت 24 : Switch Case Statement رایگان
25 آموزش برنامه نویسی C قسمت 25 : qsort رایگان
26 آموزش برنامه نویسی C قسمت 26 : Socket Programming رایگان
27 آموزش برنامه نویسی C قسمت 27 : لیست پیوندی (Linked List) رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....