这个运行出来但是结果不正确的呀,怎样改啊。求高手?
#include<iostream.h>
struct student
{
float score1;
float score2;
float score3;
float score4;
double sum;
char name[20];
}stu;
void fum(student &score)
{
cout<<"输入student的名字:";
cin>>stu.name;
cout<<"输入第一次平时成绩:";
cin>>stu.score1;
cout<<"输入第二次平时成绩:";
cin>>stu.score2;
cout<<"输入期中成绩:";
cin>>stu.score3;
cout<<"输入期末成绩:";
cin>>stu.score4;
}
void main()
{
student Score;
fum(Score);
double A,B,C;
A=(Score.score1+Score.score2)*0.25;
B=Score.score3*0.25;
C=Score.score4*0.5;
Score.sum=A+B+C;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(3);
Score.sum=-Score.sum;
cout<<"mingziwei:"<<stu.name<<"\t"<<"得到的成绩为:"<<Score.sum<<endl;
if(Score.sum>=90)
cout<<"A"<<endl;
else if((Score.sum>=80)&&(Score.sum<90))
cout<<"B"<<endl;
else if((Score.sum>=70)&&(Score.sum<80))
cout<<"C"<<endl;
else if(Score.sum<60)
cout<<"D"<<endl;
else
cout<<"F"<<endl;
}
[解决办法]
#include<iostream>using namespace std;struct student{ float score1; float score2; float score3; float score4; double sum; char name[20];}stu;void fum(student &score){ //no stu!!!! cout<<"输入student的名字:"; cin>>score.name; cout<<"输入第一次平时成绩:"; cin>>score.score1; cout<<"输入第二次平时成绩:"; cin>>score.score2; cout<<"输入期中成绩:"; cin>>score.score3; cout<<"输入期末成绩:"; cin>>score.score4;}int main(){ student Score; fum(Score); double A,B,C; A=(Score.score1+Score.score2)*0.25; B=Score.score3*0.25; C=Score.score4*0.5; Score.sum=A+B+C; cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(3); //Score.sum=-Score.sum; cout<<"mingziwei:"<<stu.name<<"\t"<<"得到的成绩为:"<<Score.sum<<endl; if(Score.sum>=90) cout<<"A"<<endl; else if((Score.sum>=80)&&(Score.sum<90)) cout<<"B"<<endl; else if((Score.sum>=70)&&(Score.sum<80)) cout<<"C"<<endl; else if(Score.sum<60) cout<<"D"<<endl; else cout<<"F"<<endl; system("pause"); return 0;}/*#include <iostream>#include <string>#include <fstream>using namespace std;int main(int argc, char **argv){const char alp = '*';string filePath = "a.txt";system("pause");return 0;}*/