我目前正在使用 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 中删除工作区中的内容,所以我只需要手动完成。