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