круговой связанный список
пожалуйста, помогите мне
Напишите структуру NodeType с тремя переменными-членами
Напишите программу для использования кругового связанного списка для класса TotalLinkedList с четырьмя переменными-членами
Типа
Имя : строка
Класс : int
Связать : Типа *
Затем ваш код вставит имя студента и его оценку:
Если оценка >= 50, вставьте узел в первый проход указателя
Если класс < 50, вставьте узел в первый из указателей Fail
Если оценка недействительна, то не делайте вставку.
TotalLinkedList
-Передайте: Типа *
-Не Получится: Типа *
-CountPass : int
-CountFail: int
+ insert(string, int ) : void
+ deleteNode (int) : void
+ имя поиска (строка) : int
+ FindMax( ): строка
+PrintAverage(): двойной
+ print ( ) : void
+ TotalLinkedList( )
+ ~TotalLinkedList( )
+ TotalLinkedList (TotalLinkedList & )
DeleteNode(int): принимает оценку и удаляет все узлы с этой оценкой
SearchName( string): принимает имя студента и возвращает его оценку, если найдено, иначе возвращает -1
Выведите имя студента и его оценки
В основной функции
TotalLinkedList Obj1; Obj1.insert("Ali" , 90); Obj1.insert("Ahmed", 44); Obj1.insert("Ruba", 103); Obj1.insert("Majd", 77); Obj1.insert("Huda" , 85); Obj1.insert("Kamel", 39); Obj1.insert("Ola", -5); Obj1.insert("Eman", 90); Now Obj1.deleteNode(90);
Сейчас...
Obj1. print( ); // print the students names and their grades cout<<Obj1.searchName("Ahmad"); // prints the grades of Ahmad (-1 if does not exist) //prints 44 cout<<printAverage( ) <<endl; //print the avergae of the students //61.25 cout<<findMax() <<endl; //prints the student name with hieghest grade //Huda
Вам нужно попросить пользователя вставить имена или прочитать из файлов (я предпочитаю второй вариант)...
Вам нужно попросить пользователя удалить оценку...
[Edit]добавлен блок кода[/Edit]
Edit: enhzflep - добавлен код из комментария к Paul.
#include <iostraem> #include <string> using namespace std; struct NodeType { string Name ; int Grade ; NodeType* Link ; } class TotalLinkedList { private: NodeType* Pass; NodeType* Fail ; int CountPass ; int CountFail ; public : void insert(string , int ); void deletNode(int); int searchName(string) ; int FindMax (string); double PrintAverage (); void Print (); TotalLinkedList(); ~TotalLinkedList(); TotalLinkedList(TotalLinkedList&); } TotalLinkedList::insert (string name ,int grade ) { cin >> grade ; cin >> name ; if ( grade >=50 ) { Pass->Name =name ; Pass->Grade =grade } else { Fail->Name=name; Fail->Grade=grade; } else { cout << " can not insert " << endl; } // closing brace missing from source provided by op } // closing brace missing from source provided by op int main () { return 0 ; }