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

مشكلة بكود البرنامج عند تغيير نوع البيانات

بدأه صمت الفراشات في 3 ديسمبر 2010 · 4 رد · 501 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

البرنامج باختصار ..

البرنامج بدخل قيم او بيانات على queue و و بخدم منه حسب الاولوية من القيم الأكبر

البرنامج ماشي طبيعي بحالة كون نوع البيانات int

لكن لما بحول ل char or string بصير مشكلة !!!!

شوفيلي حل بسرعة ؟؟

#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string>

//------------------------------------------------------------------------------
//******************************************************************************
//------------------------------------------------------------------------------


template<class T>
class queue
 {
  public:
        queue () ;    //The Constructor
        void queue_appende(T& item);
        void serve(T& max_item);
        T index_arr();
        void print();

  private:
         T info ;
         int count ;
         T queue_arr[1000];
         int maxqueue  ;
 };


template<class T>
queue<T>::queue()
 {
  count = 0 ;
  maxqueue = 100;
 }


template<class T>
void queue<T>::queue_appende(T& item)
  {
  textcolor(11);
   if(count>=maxqueue)
    cprintf("Error the queue is full\r\n");
   else
   {
   queue_arr[count]=item;
//   cprintf("you success in pushing\r\n");
   count++;
   }

 //  getch();
  }



  template<class T>
  void queue<T>::serve (T& max_item)
    {
      if (count==0)
        cout<<"queue is empty ";

      else
        {
          cout<<"you serve the item : " <<max_item ;
          for (int i=0;i<count-1;i++)
          {
              if (queue_arr==max_item)
                 {
                 for (int y=i;y<count;y++)
                 queue_arr[y] = queue_arr[y+1];

                 }

          }
            count--;
        }

   }

  template<class T>
 T queue<T>::index_arr()
  {
   T max=0 ;
   for (int i=1;i<count ;i++)
     {
       if (queue_arr>max)
          max = queue_arr ;
     }
     return max ;
   }

   template<class T>
   void queue<T>::print()
    {
    cout<<endl;
    if (count>0)
    cout<<"\tqueue is : ";
      for (int i=0;i<count;i++)
       cout<<queue_arr<<"  " ;

    cout<<endl<<endl;;
    }

  int main()
    {

     queue<int> q ;
     int item;
     int max_item;
     int choise;

     do
      {
       if (choise == 3)break;
        clrscr();
        q.print();
       cout<<"     1.   to append to queue         "<<endl;
       cout<<"     2.   to serve priority to queue "<<endl;
       cout<<"     3.   to end the program         "<<endl;
       cout<<"  enter your choise ";
       cin>>choise ;

       switch (choise)
         {
          case 1:
            {
              cout<<"enter your item ";
              cin>>item;
              q.queue_appende(item);
            break;
            }

          case 2:
             {
              max_item = q.index_arr();
              q.serve(max_item);
              getch();
              break;
             }

             case 3:
             break;

          }

        } while (choise !=3);

       cout<<"\npress anay key to exist ";
     getch();
     }
#2

و لا أي مساعدة ؟؟؟ :ohmy: :ohmy:

#3

حليته .. شكرا على لا شيء :wacko:

#4

اختي الله يعينك

بالبرنامج ب c++

وانا درست ال c فقط

تم تعديل هذه المشاركة بواسطة Mohammed Hijazi في 5 ديسمبر 2010 في 21:19

#5
Mohammed Hijazi كتب:

اختي الله يعينك

بالبرنامج ب c++

وانا درست ال c فقط

مافي مشكلة اخي الكريم ... حليت المشكلة

و شكرا لمرورك :)

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

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

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

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

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