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

سلسلة - شغل مخك ( 19 )

مغلق
بدأه أبوفهد في 1 يونيو 2002 · 8 رد · 1,672 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لو كان لديك الدوال التالية

bool IsBold( char c ) ;
bool IsItalic( char c ) ;

هذه الدوال كما هو واضح من اسمها في الدالة IsBold تختبر حالة الحرف وترجع true إذا كان عريضا ، والدالة IsItalic تختبر حالة الحرف وترجع true إذا كان مائلاً .

لو فرضنا أن لدينا النص التالي :

Welcome In Arab Team Forums

نريد أن نضع رموز الـ Ubb Code في النص السابق ..

بحيث نضع في النص السابق الـ Tags الصالحة ..

بحث تكون كالتالي ..

[bold][italic]Welcome[/bold] In Arab Team Forums[/italic]

أخوكم : أبوفهد ;) ;)

#2

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

أخي ابو فهد :)

أعتقد ان هذا خلط ولا لا ؟ على حسب معرفتي الضحلة في الــ HTML ؟

ولا لا ؟

[bold][italic]Welcome[/bold] In Arab Team Forums[/italic]

المفروض يصير كذا :

  [bold][italic]Welcome[/italic][/bold][italic] In Arab Team Forums[/italic]

ولا لا أخوي ابو فهد ;) واعتذر عن عدم حله بسبب ان عندي اختبار

اسمبلي ;) و بعده إن شاء الله احلة لك و بالسي# بعد :D .

مع تحياتي ,,,

#3

لا أخي الفاضل ..

أولا :

أنا لم أكتب بلغة html ولا برموز ubb أنا استخدمت شيء عام ..

على العموم هي صحيحة لو بستخدمها في html مية بالمية بس غير الأقواس المربعة إلى <> وغير كلمة bold إلى b وكلمة italic إلى i

ثانيا أنا لا أشترط الترتيب في الـ Tags يعني الجملة التالية صحيحة..

[bold][italic]Hello World[/bold][/italic]

ثالثا :

بالتوفيق :) :)

#4

آهااااا طيب بس ممكن توضح أكثر ؟!؟

يعني اعطي الدالة حرف و يخبرني هل هو عريض او مائل ؟

و إذا كان هذا الحرف متكرر مرتين مره عريض و مرة عادي ماذا

سوف ترجع الدالة IsBold ?

أليس من المفترض ان ارسل String معاها ؟ و الجحرف المراد البحث

عنه ؟

ياللع عاد انا بأذاكر إلى ما يأذن الفجر و بأنام و بكرة ان شاء الله

افهم السؤال عدل و نجاوب عليه ان شاء الله :) .

مع تحياتي ,,,

#5

أخي طلال ..

المسألة افتراضية .. أنا ما بغيت أصعبها وأخليها في RichTextBox

فلذلك افرض ان هناك دالة اسمها IsBold هاذي الدالة تقوم باختبار حرف (أي حرف أنت تمرره للدالة) ثم هي ترجع true إذا كان عريض ..

يعني أنت تمشي في الـ String وتاخذ كل حرف وتمرره للدالة .. (يالله سهلنا الحل :D :D :D )

أرجو تكون وضحت ؟؟

#6
string newString( string oldString) 
{
string  newString ;
int s = w.length() , f = 0 ;
bool foundBold = false , foundItalic = false ;
while (f  < s )
{
 if (isBold(w[f]) )
 { if ( !foundBold)
   {
     newString = newString + "[BOLD]" ;
     foundBold = true ;
    }
  newString[f] = oldString[f]
 }
 else
   if (foundBold) 
      {
        newString = newString + [BOLD] ;
        foundBold = false ;
      }

 if (isItalic(w[f])
  {  if (!foundItalic)
     {
        newString = newString + "[ITALIC]"
        foundItalic = true ;
      }
    newString[f] = oldString[f]
   }
  else 
     if (foundItalic)
      {
        newString = newString + "[ITALIC]" ;
        foundItalic = false ;
       }
  f++ ;
 }    // End of While loop
  if ( isItalic(oldString[f]) ) 
    newString = newString + "[ITALIC]"
    else if ( isBold(oldString[f])
      newString = newString + "[Bold]"

  return newString
}
#7

هه كيف صحيح الكود حقي ولا لا ؟؟

:D

أنا ما أعرف الا C++

#8

للأسف أخي الكريم .

الكود لا يعطي النتيجة المطلوبة .. حاول متابعة الكود جيداً ..

على العموم أنت اقتربت من الحل كثيراً :) ..

لكن لاحظ ان نهاية الـ Tag تكون بوجود علامة "/" مثلا : "[/bold]" ..

:):)

#9

نعم أعرف

نسيت أن أضيف ال "/"

لكن ما المشكلة في الكود حقي :rolleyes:

راجعته و لم أجد أي خطأ فيه (طبعا ما عدا ال ; في نهاية بعض الاسطر )

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

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