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

كيفية تحديد مجال للأرقام أو الأحرف

بدأه فتى دمشق في 24 أكتوبر 2012 · 5 رد · 560 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف أستطيع أن أحدد مجالاً للأرقم المطلوبة : على سبيل المثال أريد الأرقام من واحد إلى 100 أو الأحرف من أ إلى ل كيف سأكتب ذلك ككود في c++ ؟

جزاكم الله تعالى خيراً ...

#2

إنظر لهذا المثال :

#include <iostream>
using namespace std;

template <class T>
void print_range(T from, T upto);

template <class T>
bool isin_range(T value, T from, T upto);

int main(int argc, char **argv)
{
    print_range<char>('A', 'C');

    if(isin_range<char>('b', 'a', 'z'))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;

    cout << "+-----------------------+" << endl;

    print_range<int>(1, 4);

    if(isin_range<int>(3, 10, 20))
        cout << "Yes" << endl;
    else
        cout << "No" << endl;

    return 0;
}

template <class T>
void print_range(T from, T upto)
{
    for( ; from <= upto ; from++)
        cout << from << endl;
}

template <class T>
bool isin_range(T value, T from, T upto)
{
    return ((value >= from) && (value <= upto));
}

فيه دالتين :

  1. print_range: وتطبع الأرقام أو الحروف في المدى الذي تحدده, إستخدمنا القالب كي لاتكتب دالة خاصة بكل نوع.
  2. isin_range: وتتحقق لك من أنّ الرقم الذي تحدده موجود في ذلك المدى.

A
B
C
Yes
+-----------------------+
1
2
3
4
No
1
#3

جزاك الله خيراً و لكنه صعب جداً و أنا لا أريد طباعة المجال إنما فقط التحقق من رقم أنه موجود فيه أم لا ...

تم تعديل هذه المشاركة بواسطة فتى دمشق في 24 أكتوبر 2012 في 16:19

#4

في لغة باسكال التحقق يتم بستخدام كلمة واحدة (in)

هناك قالب Set في c++ لكن لا ادري ان كان يتحقق من وجود احد عناصره

#5
فتى دمشق كتب:

كيف أستطيع أن أحدد مجالاً للأرقم المطلوبة : على سبيل المثال أريد الأرقام من واحد إلى 100 أو الأحرف من أ إلى ل كيف سأكتب ذلك ككود في c++ ؟

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

الله يوفقك

post-15367-027053900%201340345097.gifpost-15367-087183200%201340344597.gif
post-247365-0-10080400-1379403554_thumb.

#6
فتى دمشق كتب:

كيف أستطيع أن أحدد مجالاً للأرقم المطلوبة : على سبيل المثال أريد الأرقام من واحد إلى 100 أو الأحرف من أ إلى ل كيف سأكتب ذلك ككود في c++ ؟

جزاكم الله تعالى خيراً ...

بطريقة مبسطة أكثر .


#include <windows.h>
BOOL IsRangenNumber(int RangeFrom,int RangeTo,int Number);
int IsRangeCharacter(WCHAR* RangeCharacters,WCHAR Character);
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{

if (IsRangenNumber(0,100,50))
{
MessageBoxW(0,L"Yes",L"IsRangenNumber",0);
} else {
MessageBoxW(0,L"No",L"IsRangenNumber",0);
}

WCHAR iRangeCharacters[] = L"ABCDEF";
WCHAR iCharacter = L'D';

if (IsRangeCharacter(iRangeCharacters,iCharacter))
{
MessageBoxW(0,L"Yes",L"IsRangeCharacter",0);
} else {
MessageBoxW(0,L"No",L"IsRangeCharacter",0);
}

return 0;
}

BOOL IsRangenNumber(int RangeFrom,int RangeTo,int Number)
{
return ((Number >= RangeFrom) && (Number <= RangeTo));
}

int IsRangeCharacter(WCHAR* RangeCharacters,WCHAR Character)
{
int Len = 0;
if (RangeCharacters != NULL) Len = wcslen(RangeCharacters);
for (int j = 0 ; j < Len; j++)
{
if (RangeCharacters[j] == Character) return (j + 1);
}
return NULL;
}

Wolf_Oman

صرح السماء

wolf9228

ناقوس الخطر

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