在Visual Studio中编写独立程序的最佳方法是什么?

时间:2017-06-30 01:50:56

标签: c++ visual-studio visual-c++

我目前正处于CS的第一学期,我发现Visual Studio是一个比DevC ++或Code :: Blocks更优雅的C ++编程解决方案,我想我将来会更多地使用它。我编写的程序类型大多是相互独立的,因为我还没有学过面向对象。 问题是,Visual Studio对于独立程序来说要困难得多。我刚开始尝试通过它学习,但还没有找到一种方法来轻松创建独立的源文件。我尝试创建一个项目并将多个文件放在“源文件”文件夹中,但这会产生很多麻烦,文件似乎相互冲突并产生一些错误,比如这个

  

致命错误LNK1169:找到一个或多个多重定义的符号

     

错误LNK2005:_main已在whatever.obj中定义

此外,不将文件放在“源文件”中也会产生一些问题。这是我经常编写的代码类型的一个例子:

#include <iostream>
using namespace std;

int main()
{
int m, n;
cin >> m >> n;
int a[150][150];
int b;
cin >> b;
int x1, y1;

for (int i = 0; i < m; i++)
{
    for (int j = 0; j < n; j++)
    {
        a[i][j] = 0;
    }
}

for (int i = 0; i < b; i++)
{
    cin >> x1 >> y1;
    a[x1][y1] = -1;
}

for (int i = 1; i <= m; i++)
{
    for (int j = 1; j <= n; j++)
    {
        if (a[i][j] == -1)
        {
            if (a[i - 1][j - 1] != -1)  a[i - 1][j - 1]++;
            if (a[i - 1][j] != -1)  a[i - 1][j]++;
            if (a[i - 1][j + 1] != -1)  a[i - 1][j + 1]++;
            if (a[i][j - 1] != -1)  a[i][j - 1]++;
            if (a[i][j + 1] != -1)  a[i][j + 1]++;
            if (a[i + 1][j - 1] != -1)  a[i + 1][j - 1]++;
            if (a[i + 1][j] != -1)  a[i + 1][j]++;
            if (a[i + 1][j + 1] != -1)  a[i + 1][j + 1]++;
        }
    }
}

for (int i = 1; i <= m; i++)
{
    for (int j = 1; j <= n; j++)
    {
        if (a[i][j] == 0)
            cout << "-";
        else if (a[i][j] > 0)
            cout << a[i][j];
        else
            cout << "B";
    }
    cout << endl;
}

return 0;
}

感谢任何帮助,帮助我解决这个问题!

1 个答案:

答案 0 :(得分:2)

在Visual Studio中,有{&#39; Solutions&#39;的概念。和&#39; Projects&#39;。

  • &#39; Solutions&#39;包含零或更多&#39; Projects&#39;。
  • &#39; Projects&#39;包含零个或多个文件(例如* .cpp,* h)。

单个程序通常有自己的项目。

解决方案通常是一组程序或库,它们共同协作解决任务,但它们也可以完全不相关,以便您自行决定。

通常,要解决碰撞文件的问题,您只需创建一个新项目:

  • File -> New -> Project