نمایش نتایج 1 تا 3 از 3

نام تاپیک: اشکال در نوشتن switch

  1. #1

    اشکال در نوشتن switch

    سلام ! من باید برنامه ای می نوشتم که اعمال ضرب و جمع و تفریق و تقسیم رو به کاربر نشون می داد و از کاربر می خواست که یکی از اعمال رو انتخاب کنه و بعد یک عدد به عنوان a و یک عدد به عنوان b از کاربر می گیره و عمل انتخاب شده رو انجام می ده
    اما برای نوشتن switch دچار مشکل شدم چون برای switchنمی تونم از float یا double استفاده کنم بنابراین وقتی می خواد جواب رو نشون بده فقط عدد صحیح رو نشون می ده و اعشار رو نشون نمی ده کسی می دونه چه جوری باید این مشکل رو حل کنم ؟

    مشکل در قسمت آخر هست





    #include <stdio.h>
    #include <stdlib.h>



    int addiere()
    {
    int a=0;
    int b=0;
    printf("Geben Sie a ein:\n");
    scanf("%d",&a);
    printf("Geben Sie b ein:\n");
    scanf("%d",&b);

    int total=a+b;
    printf("das Ergebnis ist %i\n" , total);

    return total;

    }

    int substrahiere()
    {
    int a=0;
    int b=0;
    printf("Geben Sie a ein:\n");
    scanf("%d",&a);
    printf("Geben Sie b ein:\n");
    scanf("%d",&b);

    int total=a-b;
    printf("das Ergebnis ist %i\n" , total);

    return total;

    }

    int multipliziere()
    {
    int a=0;
    int b=0;
    printf("Geben Sie a ein:\n");
    scanf("%d",&a);
    printf("Geben Sie b ein:\n");
    scanf("%d",&b);

    int total=a*b;
    printf("das Ergebnis ist %i\n" , total);
    return total;

    }

    int dividiere()
    {
    int a=0;
    int b=0;
    printf("Geben Sie a ein:\n");
    scanf("%d",&a);
    printf("Geben Sie b ein:\n");
    scanf("%d",&b);

    if(b==0)
    {
    printf("\n Division ist nicht möglich\n");

    }
    else
    {

    int total=a/b;
    printf("\n das Ergebnis ist %i\n " , total);
    return total;
    }
    }
    //مشکل از اینجا به بعد است
    int main()
    {

    printf("Wählen Sie einen Programm aus: \n");

    int i=0;

    printf("\n\n(1)a+b");

    printf("\n\n(2)a-b");

    printf("\n\n(3)a*b");

    printf("\n\n(4)a/b");

    printf("\n\n(5)Programmende\n");

    scanf("%d",&i);

    switch(i)
    {
    case 1:
    addiere();
    break;
    case 2:
    substrahiere();
    break;
    case 3:
    multipliziere();
    break;
    case 4:
    dividiere();
    break;
    case 5:
    break;

    }
    system("Pause");
    return 0;
    }




  2. #2
    کاربر دائمی آواتار BeginnerProgrammer
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    کرمانشاه
    پست
    232

    نقل قول: اشکال در نوشتن switch

    اینکه switch نمیتونه float بگیره ربطی به جواب نداره (داره؟؟؟؟؟؟؟)!!!!!!
    بجای اینکه توابعتون a,b رو به صورت عدد صحیح تعریف کنید float تعریف کنید.

    #include <stdio.h>
    #include <stdlib.h>



    int addiere()
    {
    float a=0;
    float b=0;
    printf("Geben Sie a ein:\n");
    scanf("%f",&a);
    printf("Geben Sie b ein:\n");
    scanf("%f",&b);

    float total=a+b;
    printf("das Ergebnis ist %f\n" , total);

    return total;

    }

    int substrahiere()
    {
    float a=0;
    float b=0;
    printf("Geben Sie a ein:\n");
    scanf("%f",&a);
    printf("Geben Sie b ein:\n");
    scanf("%f",&b);

    float total=a-b;
    printf("das Ergebnis ist %f\n" , total);

    return total;

    }

    int multipliziere()
    {
    float a=0;
    float b=0;
    printf("Geben Sie a ein:\n");
    scanf("%f",&a);
    printf("Geben Sie b ein:\n");
    scanf("%f",&b);

    float total=a*b;
    printf("das Ergebnis ist %f\n" , total);
    return total;

    }

    int dividiere()
    {
    float a=0;
    float b=0;
    printf("Geben Sie a ein:\n");
    scanf("%f",&a);
    printf("Geben Sie b ein:\n");
    scanf("%f",&b);

    if(b==0)
    {
    printf("\n Division ist nicht möglich\n");

    }
    else
    {

    float total=a/b;
    printf("\n das Ergebnis ist %f\n " , total);
    return total;
    }
    }
    //مشکل از اینجا به بعد است
    int main()
    {

    printf("Wählen Sie einen Programm aus: \n");

    int i=0;

    printf("\n\n(1)a+b");

    printf("\n\n(2)a-b");

    printf("\n\n(3)a*b");

    printf("\n\n(4)a/b");

    printf("\n\n(5)Programmende\n");

    scanf("%d",&i);

    switch(i)
    {
    case 1:
    addiere();
    break;
    case 2:
    substrahiere();
    break;
    case 3:
    multipliziere();
    break;
    case 4:
    dividiere();
    break;
    case 5:
    break;

    }
    system("Pause");
    return 0;
    }


  3. #3

    نقل قول: اشکال در نوشتن switch

    مرسی از جوابتون :) درست شد !

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •