我为什么写不进去文件呢
我的程序是
#include "stdafx.h"
#include<string>
#include<cstdlib>
#include<ctime>
#include<fstream>
#include<iomanip>
#include<stdlib.h>
using std::cout;
using std::cin ;
using std::endl;
using std::string;
using std::ofstream ;
using std::setw;
struct TableNode
{
string rule;//规则段
int (*action)();//行为段 指向行为函数
TableNode *next;
};
typedef TableNode *Table;
int InitTable(Table &T);
int InsertAfter(Table P,string e,int(*a)());
int PrintTable(Table T);
float RandomNumber();
float RangRandom(float A,float B);
int a11();
int a12();
int a2();
int a3();
int a4();
int writecase(float,float,float);
int main()
{
int (*pfunction11)()=0;//函数指针a11
int (*pfunction12)()=0;//函数指针a12
int (*pfunction2)()=0;//函数指针a2
int (*pfunction3)()=0;//函数指针a3
int (*pfunction4)()=0;//函数指针a4
string zifu("1111");
pfunction11=&a11;
pfunction12=&a12;
pfunction2=&a2;
pfunction3=&a3;
pfunction4=&a4;
Table T1;
InitTable(T1);
srand((unsigned int)time(0));
InsertAfter(T1,zifu,pfunction11);//a11
InsertAfter(T1,zifu,pfunction12);//a12
InsertAfter(T1,zifu,pfunction2);//a2
InsertAfter(T1,zifu,pfunction3);//a3
InsertAfter(T1,zifu,pfunction4);//a3
PrintTable(T1);
system("pause");
return 0;
}
int InitTable(Table &T)
{
T=new TableNode;
T->next=NULL;
return 1;
}
int InsertAfter(Table P,string e,int(*a)())//向表中插入指定节点后面插入新节点
{
if (P==NULL) return 0;
TableNode *Q=new TableNode;
Q->rule=e;
Q->action =a;
Q->next =P->next ;
P->next=Q;
return 1;
}
int PrintTable(Table T)//遍历链表
{
//cout<<endl;
cout<<"结果为"<<endl;
T=T->next ;
while(T!=NULL)
{
// cout<<T->rule <<endl;
T->action();
T=T->next;
}
return 1;
}
float RandomNumber()//产生0-100随机数
{
float value;
value=static_cast<float>(100.0*static_cast<float>(rand()))/(RAND_MAX+1.0);
return value;
}
float RangRandom(float A,float B)//产生一定范围的随机数
{
float value;
value=static_cast<float>(A+((B-1)*static_cast<float>(rand()))/(RAND_MAX+1.0));
return value;
}
//以下为产生测试用例函数
int a11()//非三角形(第三边在0-(a-b))
{
float a,b,c,m;//定义三角形三条边
a=RandomNumber();
b=RandomNumber();
m=static_cast<float>(abs(a-b));
c=RangRandom(0.0,m);
cout<<a<<" "<<b<<" "<<c<<" "<<" 不是三角形"<<endl;
writecase(a,b,c);
return 1;
}
int a12()//非三角形(第三边在(a+b)-200.0)
{
float a,b,c,m;//定义三角形三条边
a=RandomNumber();
b=RandomNumber();
c=RangRandom(a+b,200);
cout<<a<<" "<<b<<" "<<c<<" "<<" 不是三角形"<<endl;
writecase(a,b,c);
return 1;
}
int a2()//三角形
{
float a,b,c,m;//定义三角形三条边
a=RandomNumber();
b=RandomNumber();
m=static_cast<float>(abs(a-b));
c=RangRandom(m,a+b);
cout<<a<<" "<<b<<" "<<c<<" "<<" 是三角形"<<endl;
writecase(a,b,c);
return 1;
}
int a3()//等腰三角形
{
float a,b,c;//定义三角形的三条边
a=b=RandomNumber();
c=RangRandom(0,a+b);
cout<<a<<" "<<b<<" "<<c<<" "<<" 等腰三角形"<<endl;
writecase(a,b,c);
return 1;
}
int a4()//等边三角形
{
float a,b,c;//定义三角形的三条边
a=b=c=RandomNumber();
cout<<a<<" "<<b<<" "<<c<<" "<<" 等边三角形"<<endl;
writecase(a,b,c);
return 1;
}
int writecase(float a, float b,float c)
{
ofstream outFile("D:\\my program\\case.txt");
outFile<<endl;
outFile<<a<<setw(10)<<b<<setw(10)<<c;
return 1;
}
可是case文件里只有函数a11产生的数