ferry_2020
دوشنبه 12 اسفند 1392, 22:34 عصر
با عرض سلام و احترام
من برای سوال زیر،برنامه را نوشتم،خطا هم نمیده ولی جواب درست رو هم نشون نمیده.هر تعداد که وارد کنم،آخرین مورد را بعنوان جواب نشون میده!
خیلی سعی کردم مشکلشو پیدا کنم ولی متوجه نشدم.
ممنون میشم راهنمائی بفرمائید
سوال : برنامه ای که نام و شماره دانشجویی و معدل تعدادی از دانشجویان را خوانده و مشخصات دانشجویی که دومین نمره را از نظر بزرگی دارد،به خروجی ببرد.
#include<iostream>
using namespace std ;
class student
{
public :
student(void);
void input( );
void output( );
float getAverage( );
private :
int stno;
string name;
float average;
} ;
#include<iostream>
#include<string>
using namespace std ;
student :: student(void)
{
average = 0;
}
void student :: input( )
{
cout<<"Enter name,stno,average : "<<endl;
cin>>name>>stno>>average;
}
float student :: getAverage ( )
{
return average;
}
void student :: output( )
{
cout<<"name is : "<<name<<endl<<"stno is : "<<stno
<<endl<<"Average is : "<<average<<endl;
}
student enter( )
{
student st;
st.input( );
return st;
}
void main ( )
{
int n , i ;
student st1 , st2 , st ;
cout<<"Enter number of student : ";
cin >> n ;
for (i=0;i<n;i++)
{
st = enter ( ) ;
if ( st.getAverage( ) > st1.getAverage( ) )
{
st2=st1 ;
st1=st ;
}
else if ( st.getAverage( ) > st2.getAverage( ) ) ;
st2=st ;
}
cout<<"Student with second rank : "<<endl;
st2 .output ( );
}
من برای سوال زیر،برنامه را نوشتم،خطا هم نمیده ولی جواب درست رو هم نشون نمیده.هر تعداد که وارد کنم،آخرین مورد را بعنوان جواب نشون میده!
خیلی سعی کردم مشکلشو پیدا کنم ولی متوجه نشدم.
ممنون میشم راهنمائی بفرمائید
سوال : برنامه ای که نام و شماره دانشجویی و معدل تعدادی از دانشجویان را خوانده و مشخصات دانشجویی که دومین نمره را از نظر بزرگی دارد،به خروجی ببرد.
#include<iostream>
using namespace std ;
class student
{
public :
student(void);
void input( );
void output( );
float getAverage( );
private :
int stno;
string name;
float average;
} ;
#include<iostream>
#include<string>
using namespace std ;
student :: student(void)
{
average = 0;
}
void student :: input( )
{
cout<<"Enter name,stno,average : "<<endl;
cin>>name>>stno>>average;
}
float student :: getAverage ( )
{
return average;
}
void student :: output( )
{
cout<<"name is : "<<name<<endl<<"stno is : "<<stno
<<endl<<"Average is : "<<average<<endl;
}
student enter( )
{
student st;
st.input( );
return st;
}
void main ( )
{
int n , i ;
student st1 , st2 , st ;
cout<<"Enter number of student : ";
cin >> n ;
for (i=0;i<n;i++)
{
st = enter ( ) ;
if ( st.getAverage( ) > st1.getAverage( ) )
{
st2=st1 ;
st1=st ;
}
else if ( st.getAverage( ) > st2.getAverage( ) ) ;
st2=st ;
}
cout<<"Student with second rank : "<<endl;
st2 .output ( );
}