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

دوال التحويل

بدأه ABCDEFG في 8 يوليو 2009 · 5 رد · 615 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف يمكنني تحويل الحرف الى قيمته

يعني بالفيجوال بيسك كان في دالة اسمها

val(char)

مثلا

val(h)=0

val(5)=5

ما هي هذه الدالة في الــ c++

و كيف يمكنني التعامل معها ؟؟

#2

السلام عليكم

هل تقصد مثلا عندما يكون الرقم 5 فى صوره حرفيه char كيف يتم تحويله الى صورته العدديه ؟

لو كان المقصود كذلك

يمكن عمل داله تشبه val التى ذكرتها

الموضحه فى الكود التالى

#include<iostream>
  using namespace std;
  int val(char c)
  {
	  if(isdigit(c)) return int(c)-48;
	  else return 0;
  }
  int main()
  {
	  cout<<val('5')<<endl;
	  cout<<val('h')<<endl;
	  return 0;
  }

أما لو كنت تقصد القيمه المقابله للحرف فى الأسكى كود يمكنك استخدام الداله int مباشرة

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

وهناك الداله atoi لتحويل المصفوفه الحرفيه الى رقم

#include<iostream>
  #include <cstdlib>
  using namespace std;
  int main()
  {
	  cout<<atoi("a")<<endl;
	  cout<<atoi("12")<<endl;
	  cout<<atoi("345sd")<<endl;
  cout<<atoi("er456")<<endl;
	  return 0;
  }

والداله atoi تعود بعدد صحيح , شوف فى المثال السابق فى السطر الأول عادت بصفر لأنه لا توجد اى ارقام

والثانى تعود بالعدد 12 والثالث تعود بالعدد 345 ( لاحظ السبب) وكذلك السطر الأخير

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

يمكن استخلاص تلك الأرقام وإسنادها الى متغيرات

شوف المثال الآتى

#include<iostream>
 #include <sstream>
 using namespace std;
 int main()
 {
	 stringstream s("12 23 11");
	 int number1,number2,number3;
	 s>>number1>>number2>>number3;
	 cout<<number1<<endl;
	 cout<<number2<<endl;
	 cout<<number3<<endl;
	 return 0;
 }

فى أمان الله

تم تعديل هذه المشاركة بواسطة amin_mu123 في 9 يوليو 2009 في 10:54

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#3

الدالة atoi هي نفس الدالة val التي تقصدها ...

تم تعديل هذه المشاركة بواسطة taw92 في 9 يوليو 2009 في 23:00

#4

السلام عليكم

اقتباس
التي حلت محل الدالة val

ليس تماما, فهذه الدالة تحول النص إلى عدد صحيح (فقط), فهي لا تتعامل مع الأعداد الحقيقية.

لكل نوع هناك دالة خاصة للتحويل, إقرأ هذا الموضوع في الـ MSDN يفصل بالموضوع

http://msdn.microsoft.com/en-us/library/0heszx3w.aspx

تحياتي

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

#5

شكراً لك أخي الكريم ....

#6

لو أحببت التعامل مع الأعداد الحقيقه

فيمكنك استخدام الداله atof بدلا من atoi

تحياتى

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

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