請大家幫我看看這個c++的代碼,問題是for回圈不能用,只能輸一條資訊,之后就“press any key to continue”了,下面的switch陳述句更不用說,連顯示一下都不能,寫這個用了繼承,0 error,0 waring,希望大家能幫我找找問題
uj5u.com熱心網友回復:
<< >> >> <<uj5u.com熱心網友回復:
可是符號沒反呀
uj5u.com熱心網友回復:
不要貼截圖,貼代碼。uj5u.com熱心網友回復:
這是主函式#define N 5
void main()
{int i,j,num,sel,age;
CStudent s[N],temp;
char name[20],major[20];
int s1,s2,s3;
cout<<"請依次輸入學生資訊:姓名-年齡-學號-專業-成績1-成績2-成績3"<<endl;
for(i=0;i<N;i++)
{cin>>name>>age>>num>>major>>s1>>s2>>s3;
s[i].setName(name);
s[i].setnum(num);
s[i].sets1(s1);
s[i].sets2(s2);
s[i].sets3(s3);
s[i].setmajor(major);
s[i].gettotal();
}
cout<<"請選擇排序方式:"<<endl<<"1-按學號排序"<<endl<<"2-按總成績排序"<<endl;
cin>>sel;
switch(sel)
{
case 1:
for(i=0;i<N;i++)
{for(j=0;j<N-i-1;j++)
if(s[j].getnum()>s[j+1].getnum())
{
temp=s[j],s[j]=s[j+1],s[j+1]=temp;
}
cout<<"姓名"<<" "<<"學號"<<" "<<"成績1"<<" "<<"成績2"<<" "<<"成績3"<<" "<<"總成績"<<endl;
for(i=0;i<N;i++)
s[i].display();
}break;
case 2:
for(i=0;i<N;i++)
{for(j=0;j<N-i-1;j++)
if(s[j].gettotal()>s[j+1].gettotal())
{
temp=s[j],s[j]=s[j+1],s[j+1]=temp;
}
cout<<"姓名"<<" "<<"學號"<<" "<<"成績1"<<" "<<"成績2"<<" "<<"成績3"<<" "<<"總成績"<<endl;
for(i=0;i<N;i++)
s[i].display();
}break;
default:cout<<"請重新選擇"<<endl;
}
}
uj5u.com熱心網友回復:
我在評論區里貼了我的主函式,請幫忙看看,謝謝
uj5u.com熱心網友回復:
把相關代碼都貼上來,點帶提交回復框上邊工具條中帶淺藍色<>的那個圖示,在下拉串列中選C/C++會自動出現
【code=c】|【/code】
【code=c】代碼粘貼到這里【/code】
uj5u.com熱心網友回復:
供參考:void main()
{
int i,j,num,sel,age;
CStudent s[N],temp;
char name[20],major[20];
int s1,s2,s3;
cout<<"請依次輸入學生資訊:姓名-年齡-學號-專業-成績1-成績2-成績3"<<endl;
for(i=0;i<N;i++)
{
cin>>name>>age>>num>>major>>s1>>s2>>s3;
s[i].setName(name);
s[i].setage(age);
s[i].setnum(num);
s[i].sets1(s1);
s[i].sets2(s2);
s[i].sets3(s3);
s[i].setmajor(major);
s[i].settotal();
}
do{
cout<<"請選擇排序方式:"<<endl<<"1-按學號排序"<<endl<<"2-按總成績排序"<<endl;
cin>>sel;
switch(sel)
{
case 1:
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
if(s[j].getnum()>s[j+1].getnum())
{
temp=s[j],s[j]=s[j+1],s[j+1]=temp;
}
}
cout<<"姓名"<<" "<<"學號"<<" "<<"成績1"<<" "<<"成績2"
<<" "<<"成績3"<<" "<<"總成績"<<endl;
for(i=0;i<N;i++)
s[i].display();
break;
case 2:
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
if(s[j].gettotal()>s[j+1].gettotal())
{
temp=s[j],s[j]=s[j+1],s[j+1]=temp;
}
}
cout<<"姓名"<<" "<<"學號"<<" "<<"成績1"<<" "<<"成績2"
<<" "<<"成績3"<<" "<<"總成績"<<endl;
for(i=0;i<N;i++)
s[i].display();
break;
default:break;//cout<<"請重新選擇"<<endl;
}
}while(sel!=0); //輸入0時,退出排序
system("pause");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281463.html
標籤:C++ 語言
下一篇:關于c語言中布爾形式
