首页 > 解决方案 > 我不理解“(”标记之前的错误预期构造函数、析构函数或类型转换

问题描述

我不明白我的代码有什么问题。请帮我。我是初学者。

错误,如“'int'之前的预期主表达式。'('令牌之前的预期构造函数,析构函数或转换类型。int之前的预期'}'。int之前的预期','或';'。

以及 'av' 没有命名类型。if 之前的预期 unqualified-id。

我不明白。

int main{
    int q=0, qu=0, qui=0, mid=0, fe=0;
    float av=0, fg=0;

    printf("\nEnter Quiz 1:");
    scanf("%d", &q);
    printf("\nEnter Quiz 2:");
    scanf("%d", &qu);
    printf("\nEnter Quiz 3:");
    scanf("%d", &qui);
    
    av = ((q+qu+qui)/3)*10;
    
    printf("\nEnter Midterm Score:");
    scanf("%d",&mid);
    printf("\nEnter Final Exam Score:");
    scanf("%d",&fe);
    
    fg = 0.5*fe + 0.25*mid +0.25*qav;
    
    scanf("%f",&fg);
    
    if ((fg>=90) && (fg<=100))          
        printf("A\n");
        
    else 
    if ((fg>=80) && (fg<90))
        printf("B\n");
    
    else 
    if ((fg>=70) && (fg<80))
        printf("C\n");
    
    else 
    if ((fg>=60) && (fg<70))
        printf("D\n");
        
    else
        printf("\nF");
}

标签: c

解决方案


int main{

应该

int main(){

函数定义(如main)需要括号,这是您放置参数列表的位置。在您的代码main中没有任何参数,但您仍然需要括号。

顺便说一句,此代码似乎错误

fg = 0.5*fe + 0.25*mid +0.25*qav;

scanf("%f",&fg);

首先你计算fg然后你要求用户输入一个值fg。这没有任何意义。我认为你应该删除scanf("%f",&fg);.


推荐阅读