• 0
صمت الفراشات

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

سؤال

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

البرنامج بدخل قيم او بيانات على 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[i]==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[i]>max)
max = queue_arr[i] ;
}
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[i]<<" " ;

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();
}

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

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

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

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

تم تعديل بواسطه Mohammed Hijazi
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .