qq_27965507 2015-05-29 23:50 采纳率: 0%
浏览 1507

C(++)语言 碰到输出手法 不能搞定 求解答 (注 : 不用迭代 )

1.读取一个文件 链接起来 行,列;
2.利用这个链表,输出成员间的所有可能组合;
本人挤出的代码如下,供参考:

#include "stdafx.h"
#include
using namespace std;
class Teacher
{
public:
char name[20];
Teacher * tnext;
Teacher (char * name):tnext(tnext=NULL)
{
strcpy(this->name,name);
}
void Display()
{
cout<<name;
}
};
class Course
{
public:
char name[20];
Course * next;
Teacher * thead;

Course(char * name):thead(thead=NULL),next(next=NULL)
{
    strcpy(this->name,name);
}
void Display()
{
    cout<<name;
}

};

int _tmain(int argc, _TCHAR* argv[])
{
Course * head=NULL,*before;
Teacher * te=NULL,* pre;
FILE fp=fopen("文件test.txt","r");
do
{
char name[20];
fscanf(fp,"%s",name);
Course * temp= new Course (name);
do
{
fscanf(fp,"%s",name);
te=new Teacher (name);
if(strncmp(te->name,"end",3)==0)break;
else
{
if(NULL == temp->thead)
temp->thead=te;
else{pre->tnext=te;}
pre=te;
}
}
while (strncmp(te->name,"end",3)!=0);
if (NULL==head)
head= temp;
else
{
before->next=temp;
}
before=temp;
}
while(!feof(fp));
long int a=0;
Course * k=head,*u,*v,*w;
Teacher * p,
q,*r,*s;
for(p=k->thead;p!=NULL;p=p->tnext)
for(q=k->next->thead;q!=NULL;q=q->tnext)
for(r=k->next->next->thead;r!=NULL;r=r->tnext)
for(s=k->next->next->next->thead;s!=NULL;s=s->tnext)
{
a+=1;
printf ("%ld",a);
p->Display();q->Display();r->Display();s->Display();
printf("\n");
}

printf("=================================\n");

return 0;

}
输出没有扩展性
本人尝试过利用 类似进位的思想来解答,在行链表向下方访问并到达NULL时下个结点向一位,由此输出所有的可能组合;估计类的成员结构组成欠缺;
​如果文件格式如下
语文 李老师 黄老师 华老师 end
数学 黄老师 金老师 刘老师 end
国文 赵老师 钱老师 孙老师 end
算数 花老师 月老师 吴老师 end
则输出有81中组合:
如:李黄赵花;李黄赵月;李黄赵吴;李黄钱花;李黄钱月;李黄钱吴;李黄孙花;李黄孙月;李黄孙吴;。。。。。。。;
请给出通用性的手法 请不要使用数据库 数组 迭代等之类可能更便捷的方法 只能增加些类成员并输出出来

  • 写回答

4条回答 默认 最新

  • qq_27965507 2015-05-29 23:53
    关注

    原文件格式如下
    语文 李老师 黄老师 华老师 end
    数学 黄老师 金老师 刘老师 end
    国文 赵老师 钱老师 孙老师 end
    算数 花老师 月老师 吴老师 end

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题