C++ 数据结构 类定义问题【菜鸟级】

头文件seqlist.h:#ifndefSEQLIST_H#defineSEQLIST_H#include<iostream>#include<stdlib.h>usin... 头文件seqlist.h:
#ifndef SEQLIST_H
#define SEQLIST_H
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef int datatype;
const int maxlen=100;
class seqlist{
private:
datatype data[maxlen];
int len;
public:
seqlist(int size);
};

int x=0;
int size=0;
seqlist::seqlist(int size){
for(int i=1;i<size,i++;){
cout<<"请输入第"<<i<<"个元素:";
cin>>x;
data[i]=x;}
}

源文件

#include<iostream>
#include"seqlist.h"
using namespace std;
void main()
{
int n=0,i=0,j=0,c=0,size=0;
do{
cout<<"1、新建顺序表"<<endl;

cin>>c;
switch(c)
{
case 1:
cout<<"将输入的元素个数:";
cin>>size;
seqlist seqlist(size);
break;
}
}while(c!=0);
}

目的:在主函数中输入元素个数,然后将值返回给seqlist函数中的size

比如输入5,然后就输入5个元素 现在是无限输入...菜鸟求答案
展开
 我来答
百度网友多啦N梦
2012-12-02 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:75.1万
展开全部
for(int i=1;i<size,i++;)有误
实际上i++只执行了一次,而且i应该从0开始哦
正解:
for (int i = 0; i < size; i++)
更多追问追答
追问
谢谢啦,然后问一下哦
我在头文件里添加了这个函数
void seqlist::print(i) {{cout<<data[i]<<" ";}}
想在源文件里输出之前输入的5个元素 也就是case2
cout<<"顺序表:"<<endl;
for (i=1;i<=size;i++){void seqlist::print(i);}
请问哪里出错了吖? 源文件里该怎么调用吖?

public里已添加void print(int i);
追答
这里的i同样应该从0开始吧?
for (int i = 0; i < S.len; i++)
data数组的索引应该是从0 到 S.len - 1
难道说你的data数组的大小是S.len + 1?

源文件里直接调用这个函数,把你之前输入的5个元素的seqlist变量做参数传递进函数就好了
亥凝思3q
2012-12-02 · TA获得超过313个赞
知道小有建树答主
回答量:400
采纳率:14%
帮助的人:194万
展开全部
for(int i=1;i<size,i++;)
就这了,i++作为条件是恒成立的;所以一直输入
改成这样
for(int i=1;i<size;i++)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cezza
2012-12-02 · TA获得超过359个赞
知道答主
回答量:85
采纳率:0%
帮助的人:47.3万
展开全部
for(int i=1;i<size,i++;)语句错了,少了;号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式