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

ايش الخطأ في الحاسبة حقتي ؟؟؟!

بدأه شادن..}~ في 13 نوفمبر 2010 · 4 رد · 447 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
#include<stdio.h>
#include<conio.h>
main(){
int x,y;  char ans ;
printf("Enter the number And Opration\n");
scanf("%d%c%d",&x,&ans,&y);
switch(ans)
{case '+':x+y;  printf("=%d",x+y); break;
case '-':x-y;   printf("=%d",x-y); break;
case '*':x*y;   printf("=%d",x*y); break;
case '/':double (x/double (y)) ;  printf("=%f",(x/(y))); break;
default : printf("Soory");break;}
getch();}

انا سويت دي الحاسبه وكل العمليات اوكي مزبوطه معي بس المشكلة في القسمه

لما اقسم الرقم ويكون البسط اصغر من المقام يطلع لي الناتج صفر وانا عرفتو double وكمان عرفت و المقام double ونفس المشكلة ماصار شئ

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

وعندي طلب ....انا مبتدئه في البرمجة ودي اول سنه اتعلمها يالليت اللي يعرف كتاب او موقع يكون فيه دروس تساعدني من الصفر الى الاحتراف يالليت يساعدني ويقولي

وشكرا

#2

هذا تصحيح الكود :

#include<stdio.h>
#include<conio.h>
main()
{
      int x,y;
      char ans;
      printf("Enter the number And Opration\n");
      scanf("%d %c %d",&x,&ans,&y);
      switch(ans)
      {
                 case '+': printf("=%d",x+y); break;
                 case '-': printf("=%d",x-y); break;
                 case '*': printf("=%d",x*y); break;
                 case '/': printf("=%f",(double)x/y);break;
                 default : printf("Soory");
      }
      getch();
}

طبعا هذا الكود ناقص .. ماذا لو أدخل المستخدم عدد و أراد قسمته على الصفر ؟, حينها يجب التحقق في الـ case الأخيرة عن طريق if-else.

بالتوفيق.

1
#3

شكرا اخوي جزاك الله الف خير بس مافهمت قصدك في اخر شئ وضحلي اكثر ايش قصدك في else if

#4
شادن..}~ كتب:

شكرا اخوي جزاك الله الف خير بس مافهمت قصدك في اخر شئ وضحلي اكثر ايش قصدك في else if

ينفع اوضح لج انا :P ,

في عملية القسمة , يجب ان نتأكد بأن المقسوم عليه لا يساوي الصفر .. لنتفادى الوقوع في خطأ أثناء التنفيذ (Run Time Error ) ,

فيصبح كود القسمة كالتالي :

case '/': if (y!=0) printf("=%f",(double)x/y);
	else printf("can't divide by zero\n") ; break;

تم تعديل هذه المشاركة بواسطة إشراقة فجر في 13 نوفمبر 2010 في 20:31

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#5

تسلمين يالغلا مررررره شكرا ويعطيكي الف عافيه

جزاكم جميعا الف خير

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…