سلام دوستان
این یه برنامه کلاس هست که معدل میگیره و نمره و ....
کسی از بچه ها می تونه حداکثر تا امروز یا فردا تو یک صفحه کامل توضحی بده این برنامه که با لیست پیوندی نوشته شده چطوری کار می کنه و برنامه رو تقریبا خط به خط توضیح بده و تریس کنه
بعد کسی میتونه به عنوان مرتب سازی بر اساس معدل این رو بهش اضافه کنه :
===============================================
#include <iostream>
using namespace std;
struct student
{
int std_no;
float avg;
char name[20];
};
void sort(student *arr,int lenght);
void print(student el);
int main ()
{
int size=20,key,i;
student me[size];
for (int i =0;i <size;i++)
{
cout << "please enter your student number:";
cin >> me[i].std_no;
cout << "please enter your gpa:";
cin >> me[i].avg;
cout << "please enter your name:";
cin >> me[i].name;
cout << "-------------------\n";
}
do{
cout << "Enter A Student Number To Display Information : ( -1 to Sort Averages or press 0 To exit from program

\n";
cin >> key;
if(key==-1){
sort(me,size);
}else{
for (i=0;i< size;i++){
if (me[i].std_no==key)
print(me[i]);
}
}
}while(key!=0);
return 0;
}
void sort(student *arr,int lenght){
int counter=0,i;
student tmp;
for(i=0;i<(lenght-1);i++){
for(counter=0;counter<(lenght-1);counter++){
if(arr[counter].avg<arr[counter+1].avg){
tmp=(arr[counter]);
arr[counter]=arr[counter+1];
arr[counter+1]=tmp;
}
}
}
}
void print(student el){
cout<<"##################\n";
cout<<"#: "<< el.std_no<<"\n";
cout<<"Name: "<< el.name<<"\n";
cout<<"Avg: "<< el.avg<<"\n";
cout<<"##################\n";