这个C++题目错在哪里?
#include<iostream>#include<string>usingnamespacestd;classstudent//声明学生基类{ [20];};//学籍类classstudent{ :xueji(){strcpy(name,"\0");age=0;}xueji(charnam[20],inta){strcpy(name,nam);age=a;}voidgetvalue(charnam[20],inta){strcpy(name,nam);age=a;}};//定义结点classNode{friendclassList; *lLink,*rLink;xueji*DLink; (Node*Left,Node*Right):lLink(Left),rLink(Right){}Node();voidsetLeftLink(Node*Left){lLink=Left;}voidsetRightLink(Node*Right){rLink=Right;}voidget_Data(xueji*Dlink1){DLink=Dlink1;}};//定义链表classList{ *first,*current; ();voidcreatNode(Node*);};classList::List()//建立空链表{Listempty;first=current=newList(empty);first->lLink=first->rLink=first;}classList::creatNode(Node*s)//建立新链表{s->lLink=first->lLink;first->rLink->lLink=s;s->lLink=first;first->lLink=s;};//将记录添加到链表voidtianjia(List&list){charname[20];intage;cout<<"请输入姓名(输入0结束):";cin>>getline(name,20);while(strcmp(name,"0")){cout<<"请输入年龄:";cin>>age;xueji*temp;temp=newxueji;temp->getvalue(name,age);Node*a;a=newNode;a->get_Data(temp);//节点赋值List.creatNode(a);cout"请输入姓名(输入0结束):";cin>>getline(name,20);}cout<<endl;}intmain(){Listb;tianjia(b);return0;}
总之,问题不少.很多都是语法问题. 挑几个主要的说 1 类的函数的定义,前面是不用关键字class的,而应该声明返回值的类型. 2 类的函数一旦在类内声明了,那就必须定义,即使样子和默认的构造函数一样.(比如你的程序中的Node类.) 3 cin是一个对象,而getline是它的函数,所以应该用 tline() 4 除了静态函数,类不能直接调了它的函数,应该用对象来调用.比如你的程序中的tianjia函数中就有这样的错误(好吧,那可能只是你手滑打错而已,这个我理解) 其它的一些小错误,请看附件(附件是我已经改好的,请参照你原来的程序,查看你程序中的错误) 至于楼上所说的改头文件,是没有必要的 楼上用的是C语言风格的.而楼主用的C++风格更加安全.
前两行应该改为.h #include #include
答:详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>