使用其他程序在其他项目

问题描述:

部分

我工作的学期我最后的编程任务(我最后的计算机程序都给我猜看到,因为我改变了专业公顷),并那种碰到路障。该任务要求我们编写两个程序,一个程序从文件中读取一些信息并创建一个散列表,将其保存到输出文件中。第二个程序应该允许用户输入密钥,程序将搜索该密钥的输出文件,并返回它包含的信息(如果找到的话)。使用其他程序在其他项目

我仍然处于这个程序的规划阶段,我喜欢在我开始编写代码之前将它们全部写在纸上,因为某种原因,它有助于我弄清楚发生了什么更好,但是我认为我的创建哈希表,因为它应该工作程序是几乎相同的程序,我们不得不在几个星期前写的,简单地创建哈希表(手指交叉),但我有在搜索程序中的问题。我的搜索程序确实只有一种方法可以搜索文件中用户输入的密钥。如果我在我提到的仅用于创建哈希表的程序中使用了搜索功能的代码,则可能更容易解释我的具体问题。

void Hash::findItem(int key) { 
    int index = hash(key); 
    bool wasFound = false; 
    record* ptr = hashTable[index]; 
    while(ptr != NULL) { 
     if(ptr->key == key) { 
      wasFound = true; 
      key = ptr->key; 
     } 
     ptr = ptr->next; 
    } 
    if(wasFound == true) { 
     cout << key << " " << name << " " << code << " " << cost << " " << index << endl; 
    } 
    else { 
     cout << "The key " << key << " was not found in the table." << endl; 
    } 
} 

哈希是我在程序中使用的类创建表的名称,并记录是我用来保存每条记录的信息结构的名称。其他一切都应该是不言而喻的。

所以这里的地方我遇到麻烦了。在此代码几乎一切实际上是宣称,在我的第一个程序规定,但这种方法/功能(不知道在正确的术语,我要带3个编程班,3种不同的语言,所以我住在混乱的恒定状态)只会在我的搜索程序中使用。我不知道如何去连接这两个程序(如果这是有道理的)。就像,我怎样才能使我在我的第一个程序中创建的东西可用于我的搜索程序?

我的散漫道歉,我在很短没有更好的和甜比我的节目。希望这很清楚。如果我需要包含任何其他信息,请让我知道,我会很乐意。预先感谢任何帮助您的好人能够提供的帮助。

注意 我用“继承”作为这篇文章的标签之一,我真的不知道,这是与继承的问题,但我觉得它可能是。如果您觉得不然,请让我知道,我可以删除它,因为我想确保这不会在错误的地方结束并浪费任何人的时间。

+0

不,不需要继承。哈希值也不大,因为哈希似乎不是你的问题。 – user2079303 2014-12-01 23:45:06

+0

您可以在新项目中重复使用源文件的副本,并且应该能够像正常一样引用它们。你的开发环境是什么? (即Visual Studio?) – OfNothing 2014-12-01 23:48:55

+0

谢谢@ user2079303,我会看看我是否可以删除这些标签。 – HiTechRedneck3 2014-12-01 23:57:24

让说你有4个文件:

  • COMMON.H - 类型声明一般工作人员
  • common.cpp - 与所有普通员工函数体
  • main1.cpp - 第一可执行
  • main2.cpp - 第二可执行

所有cpp文件应包括common.h

现在你可以编译如下:您可以添加-g每一行,如果你想调试。

g++ -c common.cpp -o common.o 
g++ -c main1.cpp -o main1.o 
g++ -c main2.cpp -o main2.o 
g++ main1.o common.o -o main1 
g++ main2.o common.o -o main2 

前3行用于编译源文件到目标文件。

最后2个是将对象链接到可执行文件。

请注意,您只需要有4个文件...

+0

谢谢,但我不认为我可以做任何这些选项。我们的教授希望我们的所有程序都是以3种文件格式(头文件,cpp文件,主文件或驱动程序文件)编写的,因此该特定程序将包含6个文件。如果在我的搜索程序文件中添加诸如“#include”prog8.cpp“”这样的内容,它不会起作用吗? – HiTechRedneck3 2014-12-02 00:53:40

+0

查看新的答案 – SHR 2014-12-02 01:06:14

+0

好的我明白了。让我确定我明白了。现在我有6个文件,prog8.h,prog8.cpp,prog8main.cpp,prog8search.h,prog8.cpp和prog8searchMain.cpp。所以如果我正确地理解了你,我可以将2个头文件合并成一个文件,这2个文件包含函数的定义和所有东西到它们自己的单个文件中,然后再有2个文件,每个文件一个。它是否正确? – HiTechRedneck3 2014-12-02 02:10:42