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

اله حاسبه باستخدام Switch

بدأه فارس العصيمي في 14 نوفمبر 2008 · 6 رد · 3,235 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

هذاالسؤال

A program is required which is to simulate computations carried out on a certain type of simple pocket calculator , as follows . the user enters a first value . then the user enters an operator – which can be + ( addition) or – (subtraction) or * (multiplication) or / (division) – followed by an operand ( second value ). ( the entering of an operator and an operand can be repeated anu number of times .) the operation is carried out on the current value and the operand , the answer becoming the revised current value and . when the ' = ' key is pressed instead of one of four operators , the result of the calculation is to be output .

بس السؤال يبي يحسب الارقام اللي على الشكل

9 * 8 - 7 +23 /12

طبعا حسب الاولويه

واذا ضغطت يساوي يطلع الناتج

بس انا حاولت بس ماقدرت الا على رقمين بس

وهذي تجربتي

  1.  
  2.  
  3. #include "stdafx.h"
  4.  
  5. #include <iostream>
  6.  
  7. using namespace std
  8.  
  9.  
  10. int main()
  11.  
  12. {
  13.  
  14. float i,j, ans
  15.  
  16. char op
  17.  
  18. cout << "Enter first value ." << endl
  19.  
  20. cout << "Enter op ." << endl
  21.  
  22. cin>>i>>op>>j
  23.  
  24. while ( op != '=' ) {
  25.  
  26.  
  27. switch (op)
  28.  
  29. {
  30.  
  31. case '+':
  32.  
  33.  
  34. ans=i+j
  35.  
  36. break
  37.  
  38. case '-':
  39.  
  40. ans=i-j
  41.  
  42. break
  43.  
  44. case '*':
  45.  
  46. ans=i*j
  47.  
  48. break
  49.  
  50. case '/':
  51.  
  52. if ( j != 0 ){
  53.  
  54. ans=i/j
  55.  
  56. }//end if
  57.  
  58. else{
  59.  
  60. cout <<"can not divided over 0 "
  61.  
  62. }//end else
  63.  
  64.  
  65.  
  66. break
  67.  
  68. }// end switch
  69.  
  70. }// end while
  71.  
  72. cout << ans << endl
  73.  
  74. return 0
  75.  
  76. }
  77.  
  78.  
  79.  
  80.  

البرنامج مافيه اخطا بس مايشتغل

وشكرا

:::

::

:

تم تعديل هذه المشاركة بواسطة فارس العصيمي في 14 نوفمبر 2008 في 21:45

#2

ترا الفواصل المنقوطه موجوده بس مدري ليه ماتطلع

:::

#3

جرب هذا التعديل هل هو ما تريد :

  1.  
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. float i,j ;
  8. char op;
  9. cout << "Enter :";
  10. cin>>i>>op>>j;
  11. while(op!= '=')
  12. {
  13.  
  14. switch (op)
  15. {
  16. case '+':i+=j;break ;
  17. case '-':i-=j;
  18. break ;
  19. case '*':
  20. i*=j;
  21. break ;
  22. case '/':
  23. if ( j != 0 )
  24. i/=j;
  25. else
  26. cout <<"can not divided over 0 ";
  27.  
  28.  
  29. }
  30. system("cls");
  31. cout<< "Enter :"<<i;
  32. cin>>op>>j;
  33. }
  34. return 0;
  35. }
  36.  
  37.  

tvquran_6.gif

#4

شوف هذا الكود يفي بالغرض


using namespace std;
int main()
{
float a,b;
char x;

cout<<"Enter The First Num : \t";
cin>>a;
cout<<"Enter The Second Num : \t";
cin>>b;
cout<<" Enter Op : \t";
cin>>x;

cout<<" Result is : \t";

switch(x){
case '+':
cout<<a+b;
break;
case '-':
cout<<a-b;
break;
case '*':
cout<<a*b;
break;
case '/':
cout<<a/b;
break;

default:
cout<<"Error";
}
return 0;
}
#include<iostream.h>

موفق

والخاملون اذا غدوت تلومهم سمعوك في اذانهم تترنم .. هذا نحن العرب للاسف

[spacing]

HaKxEr HaCker

My Site

[/spacing]

#5

فهدددددددد صح هذا هو المطلوب بس السطر ذا

system("cls");

ما اقدر استغنى عنه بشي اخر ..

ولوتقدر تشرح وش عمله اذا تكرمت ..

والله يعطيك الف عافيه

:::

HaKxEr

مشكوور .. بس هالبرنامج بس يحسب رقمين فقط وانا ابي اكثر

يعني يحسب لي 9 * 10 - 77 +12 ... = الناتج

عالعموم مشكور وماقصرت ..

#6

فقط يمسح الشاشة اذا كنت لاتريده احذفه.

tvquran_6.gif

#7

مشكوووووووور فهد على البرنامج ..

بس علامة اليساوي لازم اقراها مرتين علشان اطلع من اللوب ..

بس ابي افكر فيها ان شاء الله يطلع معي نتيجه ..

يعطيك الف عافيه ..

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