注册 登录
编程论坛 C++教室

要求是在链表中输入教室的信息,但是程序输出有错误,帮我看看,拜托啦

日出地平线 发布于 2013-02-26 16:52, 320 次点击
#include <iostream>
#include <string.h>
#include <stdlib.h>

using namespace std;

template <class C>
struct Node
{
    C  name;
    C number;
    Node<C> *next;

};
template <class C>
class croom
{
    public :
    croom();
    private :
     Node <C> *first;
     Node <C> *p,*s;
};
template <class C>
croom<C>::croom()
{
    int n;
    C name1,number1;
     cout<<"请输入总教室数";
     cin>>n;
     cin.ignore(cin.rdbuf()->in_avail());
     p=NULL;
     for(int i=1;i<=n;i++)
     {
         s=new Node<C>;
         cout<<"请输入教学楼名称";
         //fflush(stdin);
         cin>>name1;
         cin.ignore(cin.rdbuf()->in_avail());
         cout<<endl;
         s->name=name1;
         cout<<"请输入教室编号";
         //fflush(stdin);
         cin>>number1;
         cin.ignore(cin.rdbuf()->in_avail());
         cout<<endl;
         s->number=number1;
         s->next=NULL;
         //头节点直接插入。
         if(p){
                p->next=s;
                p=p->next;
         }
         else
         {
             first=s;
             p=s;
         }
     }
}
int main()
{
  croom<char>croom;
  return 0;
}
2 回复
#2
maoguoqing2013-02-27 11:25
croom<char>croom; 教室编号和名字用的char类型,那你只能保存一个字母
cin.ignore(cin.rdbuf()->in_avail());没明白在你代码中用途是什么,感觉没用

你这个程序基本可以实现你要的功能,没什么太大的错误
#3
日出地平线2013-02-27 16:21
谢谢,我已经改好了
1