1

我目前正在使用 Eclipse 和 C/C++,直接从 Eclipse 网站安装。出于某种原因,我的项目(“DDSAssign2”)由于项目中的错误而无法运行,尽管我的一个源代码文件没有任何错误。它只是显示在 Project Explorer 中的项目图标上。今年夏天我偶尔会在使用 Eclipse Juno 和 Android 开发工具时遇到这个问题,但这似乎总是意味着 Manifest 文件中存在错误,我知道 C++ 不应该存在这个问题,尽管我认为这可能意味着存在可能是一些有错误的文件,但我只有源文件,MinGW 包括,以及可执行二进制文件和可执行文件进行调试。

这是代码。代码本身的编辑器没有给出任何错误,而且它运行得更早。红色错误图标仅显示在整个项目的项目资源管理器中。

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

struct stud
{
int id;
double gpa;
char className;
struct stud *next;
};

struct stud *add(struct stud *top);
void show(struct stud *top);

int main()
{
struct stud *top = NULL;
srand(time(NULL));

int x = 0;
while (x == 0)
{
    top = add(top);
    cout << "Press [0] to continue, any other integer to quit.";
    cin >> x;
}
show(top);
return 0;
}

struct stud *add(struct stud *top)
{
struct stud *dum;
dum = (struct stud *)malloc(sizeof(struct stud));
cout << "What is the student's ID?" << endl;
cin >> dum->id;
cout << "What is the their GPA?" << endl;
cin >> dum->gpa;
cout << "What is their class?" << endl;
cin >> dum->className;

if (top == NULL)
{
    top = dum;
}
else
{
    while (top != NULL)
    {
        if (top->next == NULL)
                        top->next = dum;
        if (dum->id < top->id)
        {
            struct stud *dum2 = top->next;
            if (dum->id < dum2->id)
            {
                dum->next = top->next;
                top->next = dum;
            }
        }
        top = top->next;
    }
}
return top;
}

void show(struct stud *top)
{
if (top == NULL)
{
    cout << "Stack is empty.";
}
while (top != NULL)
{
    cout << "ID: " << top->id << endl;
    cout << "GPA: " << top->gpa << endl;
    cout << "Class: " << top->className << endl;
    top = top->next;
}
}

我想知道的另一件事是是否是因为项目的名称。我已经重新制作了这个“DDSAssign2”项目几次,试图摆脱这个问题,最后一次我无法从 Eclipse 中删除工作区中的内容,所以我只需要手动完成。

4

0 回答 0