C++,求帮看程序错误,一定加分到底

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:03:42
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

//节点
class Node
{
public:
int num;
double time1;
Node *next,*prev;
Node(int vct,double t):num(vct),time1(t),next(0),prev(0){};
};
//链
class Atomlist
{
int size;
Node* first;
public:
Atomlist():first(0),size(0){}
Node* add(int vct,double t);
bool isEmpty()const {return !size;}
~Atomlist();
};

//向链中增加节点 ,增加到开头
Node* Atomlist::add(int vct,double t)
{
Node* pN =new Node(int vct,double t);//syntax error before `,' token
if(first)
{
pN -> next = first;
first -> prev = pN;
}
first = pN,size++;
return first;
}

//析构链
Atomlist::~Atomlist()
{

Node* pN =new Node(int vct,double t)
改成
Node* pN =new Node(vct,t);

for(n=1;time1<1000*1.0&(nc||nt);time1 = n*dTime,n++;)
改成
for(n=1;time1<1000*1.0&&(nc||nt);time1=n*dTime,n++)

last = first + (int)time1 - 1;
这里time1没有定义,不过我不知道你想做什么,也许是
last = first + (int)first->time1 - 1;

析构函数不能执行的!系统自动的!
~Atomlist()删掉!

改好后:我只能保证语法没问题!

#include <iostream>
#include <cmath>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

//节点
class Node
{
public:
int num;
double time1;
Node *next,*prev;
Node(int vct,double t):num(vct),time1(t),next(0),prev(0)
{};
};
//链
class Atomlist
{
int size;
Node* first;
public:
Atomlist():first(0),size(0)
{}
Node* add(int vct,double t);
bool isEmpty()const
{
return !size;
}
~Atomli