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

مساعدة في آلة حاسبة بسيطة

مغلق
بدأه احمد رشوان في 3 ديسمبر 2007 · 6 رد · 1,016 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
1- +
2- -
3- *
4- /
5- %
6- power
7- exit

بس للارقام العشوائية

انا حاولت في البرنامج وهي الكود

#include<iostream.h>

double sum(int num1,int num2)
	  {
		return num1+num2;
	  }
double fact(int num1,int num2)
		{
		return num1*num2;
		}
double resp(int num1,int num2) //for / operation
	  {
		return num1/num2;
	  }
double sub(int num1,int num2)
	   {
	   return num1-num2;
	   }
void main()
	 {
	 int num1,num2;
	 double res;
	 char op;
	 do
	 {
	 cout<<"\n Enter Number1 ";
	 cin>>num1;
	 cout<<"\n Enter Operation[+ or - or / or *] ";
	 cin>>op;
	 cout<<"\n Enter Number2 ";
	 cin>>num2;
	 switch(op)
		{
		case '+':
			 res=sum(num1,num2);
			 break;
		case '*':
			 res=fact(num1,num2);
			 break;
		case '-':
			 res=sub(num1,num2);
			 break;
		case '/':
			 res=resp(num1,num2);
			 break;
		default:
		   cout<<"\n Error...";
		}
	 cout<<"\n Result Is "<<res;
	 cout<<"\n Continue(y/n)";
	 cin>>op;
	 }while(op=='y');
	 }

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 3 ديسمبر 2007 في 19:03 — السبب: لتنسيق الكود

MATRIX

#2

السلام عليكم ,,

هذا هو الكود بعد التعديل ,, و لو ذكرت لنا المترجم الذي تستخدمه فسيكون ذلك أفضل ,,

#include<iostream>
using namespace std;

double sum(int num1,int num2)
	  {
		return num1+num2;
	  }
double fact(int num1,int num2)
		{
		return num1*num2;
		}
double resp(int num1,int num2) //for / operation
	  {
		return num1/num2;
	  }
double sub(int num1,int num2)
	   {
	   return num1-num2;
	   }
int main()
	 {
	 int num1,num2;
	 double res;
	 char op;+
	 do
	 {
	 cout<<"\n Enter Number1 : ";
	 cin>>num1;
	 cout<<"\n Enter Operation[+ or - or / or *] ";
	 cin>>op;
	 cout<<"\n Enter Number2 ";
	 cin>>num2;
	 switch(op)
		{
		case '+':
			 res=sum(num1,num2);
			 break;
		case '*':
			 res=fact(num1,num2);
			 break;
		case '-':
			 res=sub(num1,num2);
			 break;
		case '/':
			 res=resp(num1,num2);
			 break;
		default:
		   cout<<"\n Error...";
		}
	 cout<<"\n Result Is "<<res;
	 cout<<"\n Continue(y/n)";
	 cin>>op;
	 }while(op=='y');

	 return 0;
}

بالنسبة لعملية القسمة ليس فيها خطأ و لكن حاول التأكد مما تريده,, فلو قسمت 9/2 فلن يعطيك 4.5 و و لكن سيعطيك 4 !!

حاول التفكير في هذه المشكلة و اطرح حلك و سوف نساعدك ان شاء الله ,,

تحياتي ,,

#3

بس لو ممكن للارقام العشوائية يعني الجهاز الى يولد الارقام ويقوم بجمعهم وطرحهم وهكذا

حياك الله

MATRIX

#4

فى دالة اسمها rand()

و هية دى اللى بستعمل علشان الاقام العشوائية

لا اله الا الله .......................................... محمد رسول الله

#5

اخى الكريم هناك عدة طرق لتعامل مع لغة السى المحسنة انا اظن انك تعرف ذالك لانها لغة واسعة جدا وتحتاج الى تدقيق زيادة عن الزوم

ويسعدنى ويشرفنى ان تكون هذة اول مشاركة لى فى هذا المنتدى الاكثر من رائع

خد الكود دا لالة حاسبة من صنعى

#include<iostream>

using namespace std:

int main()

{

float a;

float b;

char c;

cout<<"Prss ur frist Number:\t";

cin>>a;

cout<<"Enter computational mark:\t";

cin>>c;

cout<<"Prss ur Next Number:\t";

cin>>b;

cout<<endl<<endl;

cout<<"Total:\t"<<endl;

if (c=='+') {cout<<a+b;}

else if (c=='-') {cout<<a-b;}

else if (c=='/') {cout<<a/b;}

else if (c=='*') {cout<<a*b;)

else cout<<"BaDCoMMenD:\t";

cout<<endl;

return 0;

}

هكذا يكون الكود واذا ارت تطويرة استعمل فكرك وخيالك الواسع

اخوكم عمرو المصرى

من طلب العلى سهر اليالى

#6

السلام عليكم ..

اخوان بصورة عامه افضل حل يكون لمثل هذه البرامج هو انشاء دوال كل واحده تكون خاصه بعملية معينة ..

#include<iostream.h>

int sum(int x,int y)
{
return x+y;
}
int sub(int x,inty)
{
return x-y;
}

دالتين للجمع والطرح .. وهنا دالة خاصة بالتربيع والتكعيب .

int sq(int x)
{
return x*x;
}
int cube(int x)
return x*x*x;
}

وهنا دالة الرفع للقوة .. وهي نفس دالة pow الموجوده ضمن المكتبة math.h

int power(int x, int y)
{
int re =1;
for(int i=1;i<=y;i++)
re  = re *x
return re;
}

بعد ان قمنا بكتابة هذه الدوال نقوم فقط باستدعاءها في ال main() بالشكل التالي ...

int main()
{
int a,b;
char op;
cin >> a >> b;
cin >> op;
cout << "use the operation .. +  -  ^  s  c power " << endl;
switch(op)
{
case '+' : cout << x << '+' << y <<'=' << sum(a,b);
case '-' : cout << x << '-' << y <<'=' << sub(a,b);
case '^' : cout << x << '^' << y <<'=' << power(a,b);
case 's' : cout << x << '2'  <<'=' << sq(a);
case 'c' : cout << x << '3'  <<'=' << cubic(a);
defulte : cout << it is not operator .... .. ";
}
return 0;
}

هذا البرنامج اعلاه بابسط صوره .. ارجو ان اكون قد افدتك في شئ اخي . .

واي سؤال عن الموضوع انا حاضر في الخدمة ..

تحياتي العطرة .. . .

تم تعديل هذه المشاركة بواسطة سنان محمد صالح في 22 ديسمبر 2007 في 16:54

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#7
double sum(int num1,int num2)
	  {
		return num1+num2;
	  }
double fact(int num1,int num2)
		{
		return num1*num2;
		}
double resp(int num1,int num2) //for / operation
	  {
		return num1/num2;
	  }
double sub(int num1,int num2)
	   {
	   return num1-num2;
	   }

السلام عليكم

انت في الاجراءات السابقة تستخدم معاملات لاعداد صحيحة فقط لكن مالذي سيحدث اذا ادخل المستخدم رقم بفاصلة مثل (30.4) ليس هذا لوحدة بل قد يكتب لك اسمه بدل رقم

فكر في اشياء مثل هذه حاول حلها واعمل علي اراحة مستخدم برنامجك بشتي السبل .

تم تعديل هذه المشاركة بواسطة garo في 22 ديسمبر 2007 في 17:38

( _ /)

(='.'=)

(")-(")

هذا الموضوع مغلق.

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

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

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

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

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