-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLinkedList.h
71 lines (65 loc) · 2.14 KB
/
LinkedList.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef LINKED_LIST
#define LINKED_LIST
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct grades
{
short math;
short eng;
short arabic;
}Grades;
/*
****student info****
ID for regestration
Name of student
Birth date in format xxxx-xx-xx
Address of living
Phone number
Grades of his own
Level of study year
*/
typedef struct node
{
int ID;
char Name[30];
char BirthDate[20];
char Address[30];
unsigned int Phone;
Grades Scores;
short Level;
struct node* next;
struct node* prev;
}Student;
typedef struct linkedlist
{
Student* head;
int num_of_students;
}LinkedList;
void CreateList(LinkedList* ptr_List);
void AddNode(LinkedList** ptr_list, int id, char* name, char* birthDate, char* address, unsigned int phone, short level);
void DeleteNode(LinkedList** ptr_list, char* name);
void EditNodeName(LinkedList** ptr_list, int id,char* name);
void EditNodeAdd(LinkedList** ptr_list, int id,char* Add);
void EditNodeBirthDate(LinkedList** ptr_list, int id,char* BDate);
void EditNodePhone(LinkedList** ptr_list, int id,unsigned int Phone);
void EditNodeLevel(LinkedList** ptr_list, int id,short Level);
void ShowNode(LinkedList** ptr_list,char* name,char* Bdate,char* add,int* id,unsigned int* phone, short* level, short* mathgrade,short* arabicgrade,short* englishgrade,short* ok);
short IsEmpty(LinkedList** ptr_list);
void Print_List(LinkedList** ptr_list);
void Delete_List(LinkedList** ptr_list);
void AddListMScores(LinkedList** ptr_list);
void AddListAScores(LinkedList** ptr_list);
void AddListEScores(LinkedList** ptr_list);
void DisplayListEScores(LinkedList** ptr_list);
void DisplayListMScores(LinkedList** ptr_list);
void DisplayListAScores(LinkedList** ptr_list);
void RankMathScore(LinkedList** ptr_list);
void RankEngScore(LinkedList** ptr_list);
void RankArbScore(LinkedList** ptr_list);
void RankAllScore(LinkedList** ptr_list);
void EditEngScore(LinkedList** ptr_list,char* n,short s);
void EditMthScore(LinkedList** ptr_list,char* n,short s);
void EditArbScore(LinkedList** ptr_list,char* n,short s);
void ListAllScore(LinkedList** ptr_list);
#endif