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

آله حاسبة في الدوس

مغلق
بدأه 3lazizi في 4 يونيو 2006 · 11 رد · 1,046 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف الحال ياشباب

أنا مبتدئ في السي شارب

وقلت خليني اسوي اله حاسبة في الدوس

بحيث يدخل المستخدم الارقام وبعدين يختار العملية

بس للاسف يقول لي ان المتغير الذي سوف تخزن في القيمه غير مؤشر :s

على العموم هذا هو الكود

static void Main(string[] args)
		{

			const string op1 = "+";
			const string op2 = "-";
			const string op3 = "*";
			const string op4 = "/";
			double num3;
			Console.WriteLine("The Calculator in Dos");
			Console.WriteLine("Enter The Frist Number:");
			double num1 = Convert.ToDouble(Console.ReadLine());
			Console.WriteLine("Enter another number:");
			double num2 = Convert.ToDouble(Console.ReadLine());
			Console.WriteLine("Select the Operator :");
			string op = Convert.ToString(Console.ReadLine());

			switch (op)
			{
				case op1:
					Console.WriteLine("The total of sum = {0} + {1} = {2}",
						num1, num2, num3);
					break;
				case op2:
					Console.WriteLine("The total of Subteacted = {0} - {1} = {2}",
						num1, num2, num3);
					break;
				case op3:
					Console.WriteLine("The totla of Multiplied = {0} * {1} = {2}",
						num1, num2, num3);
					break;
				case op4:
					Console.WriteLine("The total of divide = {0} / {1} = {2}",
						num1, num2, num3);
					break;
				default:
					Console.WriteLine("The Operator only four");
					break;
			}
		}
	}
}

على العموم الكود ناقصه كثير مثل فحص الارقام التي سوف يدخلها المستخدم ممكن يكون عبيط ويدخل حروف B)

وناقصه تحديد اذا المستخدم سوى القسمة على صفر

المهم اخوكم مبتدئ وبتعليم ذاتي يعني من نفسي

ياليت ترشدوني

وفي انتظار مساعدتكم

وتقبلوا تحيتي

وفمان الله

(وقل ربي زدني علما)

#2

السلام عليكم

أنا مركزتش أوي في الكود

بس احتمال ان num3 لم تضع له قيمه ابتدائيه

يعني تقول double num3 = 0 مثلا

و الأفضل انك تحسب القيمه الأول و بعدين تطبع الناتج

يعني تقول num3 = num1 + num2

ثم write num3

#3

The total of sum = 10 + 20 = 0

*******************************

The total of Subteacted = 20 - 10 = 0

*******************************

شوف الكارثه عندما وضعت قيمة ابتدائية للمتغير num3

الطباعه مالها دخل في المتغير

واتمنى ان نصل للحل

وشاكر جداً لك ولتعاونك

(وقل ربي زدني علما)

#4

dear

here is the right code

--------------------------------------------------

	static void Main(string[] args)

{

//

// TODO: Add code to start application here

//

const string op1 = "+";

const string op2 = "-";

const string op3 = "*";

const string op4 = "/";

double num3=0;

Console.WriteLine("The Calculator in Dos");

Console.WriteLine("Enter The Frist Number:");

double num1 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Enter another number:");

double num2 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Select the Operator :");

string op = Convert.ToString(Console.ReadLine());

switch (op)

{

case op1:

num3=num1+num2;

Console.WriteLine("The total of sum = {0} + {1} = {2}",num1, num2, num3);

break;

case op2:

num3=num1-num2;

Console.WriteLine("The total of Subteacted = {0} - {1} = {2}",

num1, num2, num3);

break;

case op3:

num3=num1*num2;

Console.WriteLine("The totla of Multiplied = {0} * {1} = {2}",

num1, num2, num3);

break;

case op4:

num3=num1/num2;

Console.WriteLine("The total of divide = {0} / {1} = {2}",

num1, num2, num3);

break;

default:

Console.WriteLine("The Operator only four");

break;

}

}

#5
case op1:
					num3=num1+num2;
					Console.WriteLine("The total of sum = {0} + {1} = {2}",num1, num2, num3);
					break;

طبعاً الكود نجح بطريقتك وسليم ميه الميه بس ممكن تشرح لي لاني اتعلم من حالي في حالي واحتاج توضيح اكثر وياليت توضح لي بالتفصيل الملل :

انت حطيت العمليه بعد الحاله مباشرة يعني بعد الـ case على طول

ممكن تشرح لي وش الفرق بينها وبين تضمينها داخل خرج الشاشه

case op1:
					Console.WriteLine("The total of sum = {0} + {1} = {2}",num1, num2, num3);

وفي انتظار شرحك

وشاكر لك مره اخرى

وتقبل تحيتي

(وقل ربي زدني علما)

#6

A7'y el 3azeez

1-fe el awel 3amalt

 Double num3=0;

fe el satr dah bene3mel mot3'ayer yekoon feeh el nateg bta3 el 3amaleyat

2-we a7'd el kema zero 3shan lazem tkoon kema mabda2eya bas

3-we ba3deen fe case 1

lma kanet el 3amlayea gam3

el awel ne7seb el 3amaleya el reyadeya we ne7ot el nateg fe num3

ba3d kda netba3 kemet num3

4- wahakaza we ba2y el cases

5- enta fe el code bta3ak makontesh bte7seb el nateg asasn kont mogarad btetba3 el el shasha bas

#7

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

معليش ياخوان انا عندي سؤال بسيط اخر

كيف اتاكد من الادخال بواسطة الحلقات يعني ابغى اتاكد ان النوع المدخل هو من نوع دبل

انا حاولت محاولة بسيطه فكرتها اني استخدم حلقة من نوع do بحيث تتاكد بعد الادخال من نوع الادخال بهذا الشكل

do
{
double num1 = Convert.ToDouble(Console.ReadLine());
} while (num1 =! double);

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

وفي انتظار افاداتكم

(وقل ربي زدني علما)

#8

dear brother

use this this code

000000000000000000000000

try

{

double.Parse(Console.ReadLine());)

}

catch(Exception)

{

Conslole.Write("An Error Occured");

}

#9

مشكور اخوي ويعطيك الف عافيه

بس ابغى اوضح لك شي

انا احاول اطبق كل شي قريت عنه ولاحظته يعني صح ان كودك بينفعني وممتاز جداً

بس انا ابغى استخدم الحلقة do لاني احس انها بعد فعاله جداً

يعني الفكرة اني امشي خطوه بخطوه step by step

ولا ودي اتجاوز شي قريت عنه بدون ماستخدمه

واذا ماعليك كلافه هذا ايميلي اضيفني

x11p@hotmail.com

وفي انتظار ردك واضافتك

(وقل ربي زدني علما)

#10

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

اخي ممكن تجرب الكود ده بيستخدم do علي البرنامج كله

وطبعا ممكن تغير النوع من int الي double

try
			{
				int x, y;
				string op, ch;
				do
				{
					Console.WriteLine("Please Enter First Number :");
					x = int.Parse(Console.ReadLine());
					Console.WriteLine("Please Enter Second Number");
					y = int.Parse(Console.ReadLine());
					Console.WriteLine("Please Select An Operation + , - , * , /");
					op = Console.ReadLine();
					switch (op)
					{
						case "+":
							Console.WriteLine("The Sum Is :{0}", x + y);
							break;
						case "-":
							Console.WriteLine("The Min Is :{0}", x - y);
							break;
						case "*":
							Console.WriteLine("The Mul Is :{0}", x * y);
							break;
						case "/":
							if (y > 0)
								Console.WriteLine("The Div Is{0}", x / y);
							else
								Console.WriteLine("You Can`t Divide On Zero ");
							break;
					}
					Console.WriteLine("Do You Want To Do Another Operation yes or no(y / n)");
					ch = Console.ReadLine();
					if (ch == "y" || ch == "Y")
						continue;
					else if (ch == "n" || ch == "N")
						break;
				}
				while (true);
			}
			catch
			{
			}

تم تعديل هذه المشاركة بواسطة khaled_tiger في 26 يونيو 2006 في 01:46

Khaled_Tiger

النجاح الوحيد في الحياة هو أن تستطيع أن تحيا حياتك بالطريقة التي تريدها

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

#11

ياخوان والله مدري كيف اشكركم

لكن المشكله ماهي فيكم المشكله فيني انا

انا ابغى امشي خطوه خطوه ابغى اجرب كل شي

انا للحين ماقريت عن معالجة الاخطاء بواسطة استخدام try و catch في السي شارب رغم اني استخدمتها قبل كذا في الفي بي دوت نت

بس انا ابغى امشي خطوه خطوه ولا ابغى اغير في الكود اللي انا رسمته لين انجز كل شي

وعشان اوضح لكم الفكرة كلها المقصود من عمل الاله الحاسبه هذي اني استخدم جميع ماقريت عنه حتى الان

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

ولا تزعلون مني بالله

وتحملوا ثقل دمي :unsure:

وفي انتظار ردودكم

(وقل ربي زدني علما)

#12

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

اخي انا معاك طبعا في كل اللي انت قولته لاني كنت برضه مبتدأ في اول الامر

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

تم تعديل هذه المشاركة بواسطة khaled_tiger في 27 يونيو 2006 في 13:00

Khaled_Tiger

النجاح الوحيد في الحياة هو أن تستطيع أن تحيا حياتك بالطريقة التي تريدها

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

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

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