C++ 这个代码有问题吗

C++ 这个代码有问题吗,c++,C++,我在编译这段特殊的代码时遇到了一些麻烦 #include<iostream> #include<conio.h> #pragma hdrstop using namespace std; #include <tchar.h> void mark(int) //--------------------------------------------------------------------------- #pragma argsused int_tmain

我在编译这段特殊的代码时遇到了一些麻烦

#include<iostream>
#include<conio.h>
#pragma hdrstop
using namespace std;
#include <tchar.h>
void mark(int)
//---------------------------------------------------------------------------
#pragma argsused
int_tmain(int argc, _TCHAR* argv[])
{
    cout << " Enter a Students Mark: ";
    cin  >> mark;

    if (mark >= 80 )
    cout << "A" ;
    else
        if (mark >= 65)
            cout << " B" ;
                else
                    if (mark >= 50 )
                        cout << "c";
                        else
                            {
                            numberFailed += 1;
                            if (mark >= 40 )
                                cout << "D"
                                    else
                                        cout << "E";

                            }
    getch();
    return 0;
}
//---------------------------------------------------------------------------
#包括
#包括
#布拉格语hdrstop
使用名称空间std;
#包括
无效标记(整数)
//---------------------------------------------------------------------------
#布拉格语
int_tmain(int argc,_TCHAR*argv[]
{
cout>标记;
如果(标记>=80)
cout=65)
cout=50)
cout=40)

您所问的问题是:

void mark(int)
//---------------------------------------------------------------------------
#pragma argsused
int_tmain(int argc, _TCHAR* argv[]) // This line here 
第一行是函数声明,需要用分号终止。因为后面的行是注释和预处理器指令,编译器在点击
main
定义之前不知道任何错误

简单的解决方案是添加分号(并修复
main
定义,该定义也被破坏):

但是,看看代码的其余部分,很明显,
mark
根本不是一个函数。它是一个整数。因此,您应该完全删除该行,并在
main
函数中声明
mark

int main(int argc, _TCHAR* argv[])
{
    int mark = 0;
    int numberFailed = 0;

    cout << " Enter a Students Mark: ";
    cin  >> mark;

    if (mark >= 80 )
        cout << "A" ;
    else if (mark >= 65)
        cout << " B" ;
    else if (mark >= 50 )
        cout << "C";
    else
    {
        numberFailed++;   ///< You don't actually use this value
        if (mark >= 40 )
            cout << "D"
        else
            cout << "E";
    }

    getch();
    return 0;
}
int main(int argc,_TCHAR*argv[]
{
整数分=0;
int numberFailed=0;
cout>标记;
如果(标记>=80)
cout=65)
cout=50)

我想你想要这样的东西(只是一个想法):

intmain()
{
整数标记;整数编号失败;
chary;
做
{
cout>标记;
如果(标记>=80)

{我不欢迎你成为一名程序员。在这种情况下,你很幸运有人很快发现了你代码中的语法错误。但是,一般来说,我们希望看到实际的编译器错误。信不信由你,你的编译器实际上会告诉你这个问题。如果你不理解错误消息并想寻求帮助,这很重要我想将错误消息作为问题的一部分提供。有关如何在StackOverflow上发布一个好问题的进一步建议,请阅读以下内容:您面临的问题,请提供一些有关您遇到的问题或错误的信息。您的意思是
如果(标记>=50)cout@MohitJain看起来应该是这样的。我不知道你为什么删除了你的答案。还有一个问题,在第一个条件中加了一个右括号:
mark>=80
为快速响应干杯:)[bcc32错误]学生分数。cpp(18):E2141声明语法错误是我收到的错误消息我正在使用Embarcadero RAD studio Xe8感谢各位快速而有用的响应:)程序现在可以正常运行了
int main(int argc, _TCHAR* argv[])
{
    int mark = 0;
    int numberFailed = 0;

    cout << " Enter a Students Mark: ";
    cin  >> mark;

    if (mark >= 80 )
        cout << "A" ;
    else if (mark >= 65)
        cout << " B" ;
    else if (mark >= 50 )
        cout << "C";
    else
    {
        numberFailed++;   ///< You don't actually use this value
        if (mark >= 40 )
            cout << "D"
        else
            cout << "E";
    }

    getch();
    return 0;
}
int main()
{
int mark;int numberFailed;
char y;
do
{
 cout << "Enter Student's Mark: ";
 cin >> mark;
 if (mark >= 80 )
 {cout <<"A";}
 else if (mark >= 65)
 {cout <<"B";}
 else if (mark >= 50 )
 {cout <<"c";}
 else
 {
    numberFailed += 1;  // i don't know what to do with this ?
    if (mark >= 40 )
    cout <<"D";
    else
    cout <<"E";
 }
 cout<<"\nDo you want to enter more numbers ? (y/n) : ";
 cin>>y;
} while(y=='y');   // loop for entering more numbers
return 0;
}