PDA

View Full Version : سوال: کمک در مورد ارسال مقادیر به تابع از نوع خاص



ali_darinoos
شنبه 11 دی 1389, 01:18 صبح
سلام من برنامه زیر نوشته بعد می خوام این برنامه sort رو به صورت تابع در آورم ولی نمیدونم به چه صورت مقادیر struct را به تابع ارسال کنم.میخوام که معدل را سورت کنم

#include <iostream.h>
#include <conio.h>


struct entry {
void input();
void output();

char fname[20];
int stno;
int avg;
};
struct entry list[4];

void entry::input(){
for (int i = 0; i < 4; i++) {
cout << "\nEnter first name: ";
cin >> list[i].fname;
cout << "Enter student number: ";
cin >> list[i].stno;
cout << "Enter avg:";
cin >> list[i].avg;
}
}
void entry::output(){
cout << "\n\n";
for (int i = 0; i < 4; i++){
cout << "student number:" << list[i].stno <<"name:"<< list[i].fname;
cout << "\t\tavg: " << list[i].avg;
}
}


int main(){


entry s1;

s1.input();
s1.output();


int i, j, minIndex, tmp;
for (i = 0; i < 3; i++)
{
minIndex = i;
for (j = i + 1; j < 4; j++)
if (list[j].avg < list[minIndex].avg)
minIndex = j;
if (minIndex != i)
{
tmp = list[i].avg;
list[i].avg = list[minIndex].avg;
list[minIndex].avg = tmp;

}

}


for (int i = 0; i < 4; i++)
cout << list[i].avg;

return 0;
}

V0RTEX
شنبه 11 دی 1389, 18:27 عصر
از typedef برای تبدیل struct به نوع داده استفاده کن
این هم از راهنماش:http://en.wikipedia.org/wiki/Typedef
بعد نوع تابعت رو از اوون نوع تعریف کن.

اگه مشکل دیگه ای هم هست بگو:چشمک:

ali_darinoos
شنبه 11 دی 1389, 22:39 عصر
دستتون درد نکنه اگه میشه طبق این مثال توضیح دهید من متوجه نشدم

r00tkit
شنبه 11 دی 1389, 23:15 عصر
سلام





typedef struct _MyType{
int x
}MyType

void f(MyType a)
{
cout<<a.x;
}



بهتره به header ها و توابع API یه نگاه بندازی

ali_darinoos
شنبه 11 دی 1389, 23:50 عصر
خیلی خیلی دستتون درد نکنه خیلی کمکم کردین