"Not an allowed type" 在 Turbo C++ 中
"Not an allowed type" in Turbo C++
我正在尝试进行评分 system.So 我想做的是取 outputgrade
值的 1/3 并加上 [= 值的 2/3 13=],我尝试了 midterm1=(outputgrade()*1/3)+(outputgrade2*2/3)
但我收到一个错误
Not an allowed type
请有人帮助我做什么。
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
double AAO,Quizzes,Project,MajorExam,Midterm;
void inputprelim()
{
clrscr();
gotoxy(3,4);cout<<"Input Prelim Grade";
gotoxy(1,6);cout<<"Attendance/Ass./Oral: ";cin>>AAO;
gotoxy(1,7);cout<<"Project: ";cin>>Project;
gotoxy(1,8);cout<<"Quizzes: ";cin>>Quizzes;
gotoxy(1,9);cout<<"Major Exam: ";cin>>MajorExam;
gotoxy(1,11);cout<<"Prelim Grade: ";
}
int getgrade(double a, double b, double c, double d)
{
double result;
result=(a*0.10)+(b*0.20)+(c*0.30)+(d*0.40);
cout<<setprecision(1)<<result;
return result;
}
void outputgrade()
{
getgrade(AAO,Project,Quizzes,MajorExam);
getch();
}
void inputmidterm()
{
gotoxy(33,4);cout<<"Input Midterm Grade";
gotoxy(29,6);cout<<"Attendance/Ass./Oral: ";cin>>AAO;
gotoxy(29,7);cout<<"Project: ";cin>>Project;
gotoxy(29,8);cout<<"Quizzes: ";cin>>Quizzes;
gotoxy(29,9);cout<<"Major Exam: ";cin>>MajorExam;
gotoxy(29,11);cout<<"Temporary Midterm Grade: ";
gotoxy(29,12);cout<<"Final Midterm Grade: ";
}
void outputgrade2()
{
getgrade(AAO,Project,Quizzes,MajorExam);
getch();
}
void main()
{
inputprelim();
gotoxy(15,11);outputgrade();
inputmidterm();
gotoxy(54,11);outputgrade2();
gotoxy(55,11);
Midterm1=(outputgrade()*1/3)+(outputgrade2()*2/3);
}
outputgrade()
和outputgrade2()
需要return一个numeric
值用于计算。
现在他们return
什么都没有。
您的函数 outputgrade()
和 outputgrade2()
属于 return 类型 void
。
为了在 midterm1=(outputgrade()*1/3)+(outputgrade2*2/3)
中使用它们,您需要将它们的 return 类型更改为 int/double/float,等等
如果我正确理解了您的代码逻辑,请将这两个函数编辑为:
double outputgrade()
{
return getgrade(AAO,Project,Quizzes,MajorExam);
}
double outputgrade2()
{
return getgrade(AAO,Project,Quizzes,MajorExam);
}
我所做的是将 return 类型更改为 double
,同时这两个函数现在 returning 任意值 getgrade
returns.
我正在尝试进行评分 system.So 我想做的是取 outputgrade
值的 1/3 并加上 [= 值的 2/3 13=],我尝试了 midterm1=(outputgrade()*1/3)+(outputgrade2*2/3)
但我收到一个错误
Not an allowed type
请有人帮助我做什么。
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
double AAO,Quizzes,Project,MajorExam,Midterm;
void inputprelim()
{
clrscr();
gotoxy(3,4);cout<<"Input Prelim Grade";
gotoxy(1,6);cout<<"Attendance/Ass./Oral: ";cin>>AAO;
gotoxy(1,7);cout<<"Project: ";cin>>Project;
gotoxy(1,8);cout<<"Quizzes: ";cin>>Quizzes;
gotoxy(1,9);cout<<"Major Exam: ";cin>>MajorExam;
gotoxy(1,11);cout<<"Prelim Grade: ";
}
int getgrade(double a, double b, double c, double d)
{
double result;
result=(a*0.10)+(b*0.20)+(c*0.30)+(d*0.40);
cout<<setprecision(1)<<result;
return result;
}
void outputgrade()
{
getgrade(AAO,Project,Quizzes,MajorExam);
getch();
}
void inputmidterm()
{
gotoxy(33,4);cout<<"Input Midterm Grade";
gotoxy(29,6);cout<<"Attendance/Ass./Oral: ";cin>>AAO;
gotoxy(29,7);cout<<"Project: ";cin>>Project;
gotoxy(29,8);cout<<"Quizzes: ";cin>>Quizzes;
gotoxy(29,9);cout<<"Major Exam: ";cin>>MajorExam;
gotoxy(29,11);cout<<"Temporary Midterm Grade: ";
gotoxy(29,12);cout<<"Final Midterm Grade: ";
}
void outputgrade2()
{
getgrade(AAO,Project,Quizzes,MajorExam);
getch();
}
void main()
{
inputprelim();
gotoxy(15,11);outputgrade();
inputmidterm();
gotoxy(54,11);outputgrade2();
gotoxy(55,11);
Midterm1=(outputgrade()*1/3)+(outputgrade2()*2/3);
}
outputgrade()
和outputgrade2()
需要return一个numeric
值用于计算。
现在他们return
什么都没有。
您的函数 outputgrade()
和 outputgrade2()
属于 return 类型 void
。
为了在 midterm1=(outputgrade()*1/3)+(outputgrade2*2/3)
中使用它们,您需要将它们的 return 类型更改为 int/double/float,等等
如果我正确理解了您的代码逻辑,请将这两个函数编辑为:
double outputgrade()
{
return getgrade(AAO,Project,Quizzes,MajorExam);
}
double outputgrade2()
{
return getgrade(AAO,Project,Quizzes,MajorExam);
}
我所做的是将 return 类型更改为 double
,同时这两个函数现在 returning 任意值 getgrade
returns.