【问题标题】:"Not an allowed type" in Turbo C++Turbo C++ 中的“不允许的类型”
【发布时间】:2016-03-12 19:33:37
【问题描述】:

我正在尝试制作一个评分系统。所以我想做的是取 outputgrade 值的 1/3 并加上 outputgrade2 值的 2/3,我试过 @987654323 @ 但我收到一个错误,即

不允许的类型

请有人帮我做什么。

#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);
    }

【问题讨论】:

    标签: turbo-c++ turbo-c


    【解决方案1】:

    您的函数outputgrade()outputgrade2() 的返回类型为void。 为了在midterm1=(outputgrade()*1/3)+(outputgrade2*2/3) 中使用它们,您需要将它们的返回类型更改为 int/double/float 等。

    如果我正确理解了您的代码逻辑,则将这两个函数编辑为:

    double outputgrade()
        {
            return getgrade(AAO,Project,Quizzes,MajorExam);
        }
    
    double outputgrade2()
    {
        return getgrade(AAO,Project,Quizzes,MajorExam);
    }
    

    我所做的是将返回类型更改为double,同时这两个函数现在返回getgrade 返回的任何值。

    【讨论】:

      【解决方案2】:

      outputgrade()outputgrade2() 需要返回一个numeric 值以用于计算。

      现在他们什么都不return

      【讨论】:

      • 我不明白所以我应该把return 0吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 2011-05-13
      相关资源
      最近更新 更多