میشه این برنامه من رو باگ گیری کنید ؟! نمیدونم مشکل از کجاست ! برنامه ای که مشخصات تعدادی دانشجو میگیره و مرتب میکنه
این برنامه قراره مشخصات تعدادی دانشجو رو از ورودی بگیره و بعد براساس معدل مرتب کنه و کمتریم و بیشترین معدل رو هم با مشخصات کامل نشان بده .
من نوشتم ولی چندتا ارور میده که متوجه نمیشم
فردا امتحان دارم ممنون میشم بگید ایراد از کجا هست و درستش رو برام بنویسید . واقعا ممنون میشم
کد:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define SIZE 5
void sort();
void findmax();
void findmin();
class student {
char name[21];
long int stno;
long int ave;
public:
void enter();
void print(int &);
long int getAve() { return ave; }
};
//*************************
student st[SIZE];
//********************
void student::enter()
{
clrscr();
cout << "Name " << " Stno " << " Average" << endl;
cin >> name;
gotoxy(22, 2);
cin >> stno;
gotoxy(30, 2);
cin >> ave;
}
//*****************
void student::print(int& row)
{
gotoxy(1, row);
cout << name;
gotoxy(22, row);
cout << stno;
gotoxy(30, row);
cout << ave;
row ++;
}
int size;
int main()
{
clrscr();
for(int i=0;i<size;i++){
st[i].enter();
}
sort();
findmax;
findmin;
}
void sort()
{
int row = 2;
long int mAve = st[0].getAve();
clrscr();
cout << "Name " << " Stno "
<< " Average" << endl;
for(int i = 0; i < size-1; i++)
for(int j=0;j<size-1;j++)
if(st[j].getAve() > st[j+1].getAve()) {
mAve=st[j].getAve();
st[j].getAve() = st[j+1].getAve();
st[j+1].getAve()=mAve;
}
for(int i=0;i<size;i++)
st[j].print(row);
getch();
}
void findMax()
{
int i, p = 0, row = 2;
float mAve = st[0].getAve();
for(i = 1; i < size; i++)
if(st[i].getAve() > mAve) {
mAve = st[i].getAve();
p = i;
}
gotoxy(1, 1);
cout << "name " << " stno "
<< " average" << endl;
st[p].print(row);
getch();
}
void findMin()
{
int i, p = 0, row = 2;
float mAve = st[0].getAve();
for(i = 1; i < size; i++)
if(st[i].getAve() < mAve) {
mAve = st[i].getAve();
p = i;
}
gotoxy(1, 1);
cout << "name " << " stno "
<< " average" << endl;
st[p].print(row);
getch();
}