嘿伙计们我正在制作一个程序,它做了许多简单的事情来向我的老师表明我已经学会了使用函数。我已多次阅读此论坛并检查了许多其他论坛,但似乎没有一个能解决我的问题。 因为下面的代码是链接(我认为),我在错误列表中得到这些消息:
错误LNK1120:1个未解析的外部因素
错误LNK2001:未解析的外部符号_mainCRTStartup
有人可以帮我解决这个问题!
这是我的代码
#include <iostream.h>
#include <math.h>
using namespace std;
int a;
int b;
float c;
int d;
float p_theorem (int side_a, int side_b){
return sqrtf((side_a * side_a)+(side_b * side_b));
}
float p_theorem_reverse (int side_c, int side_d){
return sqrtf((side_c * side_c)-(side_d * side_d));
}
void game(int x){
if (x < 5){
cout<<"Your number is too low"<<endl<<"Please guess again: ";
cin>>x;
}
else if (x > 5){
cout<<"Your number is too big"<<endl<<"Please guess again: ";
cin>>x
}
else (x == 5){
cout<<"Good job, You guessed the number!"<<endl;
system("PAUSE");
}
}
void stuff(){
cout<<"Developed by Ely Eastman"<<endl<<"Computer 35, T.H. Rogers Secondary School, Houston, TX"<<endl;
system("PAUSE");
}
int main(void)
{
cout<<"Welcome to the Multi-Function Program"<<endl
<<"Enter 1 for finding the hypotenuse of a right triangle"<<endl
<<"Enter 2 for finding the leg of a right triangle"<<endl
<<"Enter 3 for the Guessing Game Beta"<<endl
<<"Enter 4 for Developer Information"<<endl;
cin>>d
if (d == 1){
cout<<"Welcome to the Pythagorean Theorem Solver"<<endl
<<"Please enter the length of one leg of the triangle: ";
cin>>a;
cout<<"Please enter the length of the other leg of the triangle: ";
cin>>b;
c = p_theorem(a, b);
cout<<"The length of the hypotenuse is "<<c<<endl;
system("PAUSE");
}
else if (d == 2){
cout<<"Welcome to the Reverse Pythagorean Theorem"<<endl
<<"Please enter the length of the Hypotenuse: ";
cin>>a;
cout<<"Please enter the length of the known leg: ";
cin>>b;
c = p_theorem_reverse(a, b);
cout<<"The length of the leg is: "<<g<<endl;
system("PAUSE")
}
else if (d == 3){
cout<<"Welcome to the Guessing Game Beta"<<endl
<<"Please guess a number 1-10: ";
cin<<a
game(a);
}
else if (d == 4){
stuff();
}
return 0;
}
答案 0 :(得分:1)
你有几十个失踪的“;”并且缺少if语句。游戏“g”的长度也是不确定的。你的cin“&gt;&gt;”在某些情况下,运营商会逆转......
编辑:正如Neil在评论中指出的那样,您可能需要指定您正在创建控制台应用程序。
工作?代码(请注意我改变了什么而不仅仅是复制/粘贴它,一些错误是非常基本的知识):
#include <iostream>
#include <math.h>
using namespace std;
int a;
int b;
float c;
int d;
float p_theorem (int side_a, int side_b){
return sqrtf((side_a * side_a)+(side_b * side_b));
}
float p_theorem_reverse (int side_c, int side_d){
return sqrtf((side_c * side_c)-(side_d * side_d));
}
void game(int x)
{
if (x < 5)
{
cout<<"Your number is too low"<<endl<<"Please guess again: ";
cin>>x;
}
else if (x > 5){
cout<<"Your number is too big"<<endl<<"Please guess again: ";
cin>>x;
}
else if (x == 5)
{
cout<<"Good job, You guessed the number!"<<endl;
system("PAUSE");
}
}
void stuff(){
cout<<"Developed by Ely Eastman"<<endl<<"Computer 35, T.H. Rogers Secondary School, Houston, TX"<<endl;
system("PAUSE");
}
int main(void)
{
cout<<"Welcome to the Multi-Function Program"<<endl
<<"Enter 1 for finding the hypotenuse of a right triangle"<<endl
<<"Enter 2 for finding the leg of a right triangle"<<endl
<<"Enter 3 for the Guessing Game Beta"<<endl
<<"Enter 4 for Developer Information"<<endl;
cin>>d;
if (d == 1){
cout<<"Welcome to the Pythagorean Theorem Solver"<<endl
<<"Please enter the length of one leg of the triangle: ";
cin>>a;
cout<<"Please enter the length of the other leg of the triangle: ";
cin>>b;
c = p_theorem(a, b);
cout<<"The length of the hypotenuse is "<<c<<endl;
system("PAUSE");
}
else if (d == 2){
cout<<"Welcome to the Reverse Pythagorean Theorem"<<endl
<<"Please enter the length of the Hypotenuse: ";
cin>>a;
cout<<"Please enter the length of the known leg: ";
cin>>b;
c = p_theorem_reverse(a, b);
cout<<"The length of the leg is: "<<c<<endl; // <- What is g?!!! I think you had a typo
system("PAUSE");
}
else if (d == 3){
cout<<"Welcome to the Guessing Game Beta"<<endl
<<"Please guess a number 1-10: ";
cin>>a;
game(a);
}
else if (d == 4){
stuff();
}
return 0;
}
答案 1 :(得分:0)
假设您使用的是Visual Studio 2005,请转到项目的属性,在配置属性中打开链接器
子系统将是列表中的第一个项目。然后选择Windows (/SUBSYSTEM:WINDOWS)
答案 2 :(得分:0)
检查项目设置,看看是否设置了/NODEFAULTLIB
链接器选项。如果是,请取消设置。