qq_35085435 2016-05-22 14:18 采纳率: 0%
浏览 2092

C++程序需要读取数据文件,但是总是读取不出啊

图片说明
图上的表格就是要读取的数据,程序如下,主要是我不太清楚数据文件格式是什么,程序应该没错
#include
#include

include"stdlib.h"

#include"stdio.h"
#include
#include
using namespace std;
#include"time.h"
#include"math.h"
float demand[101],tlead[101],qua,ord;
float maxt,CLOCK;
float teout,test,iest,est,arr,costo,costs;
void ss1();
void ss2();
void main()
{float tcosts,tcost,ax,tcosto;
srand(time(NULL));
cout<<"输入!\n";
cout<<"初始库存是:";cin>>iest;
cout<<"单位保管费是:";cin>>costs;
cout<<"缺料损失费是:";
cin>>costo;
LOOP:cout<<"订货量是:";cin>>qua;
if(qua>0){cout<<"临界库存量是:";cin>>ord;
cout<<"最大仿真时间是:";cin>>maxt;est=iest;
arr=999999;
teout=0.00;
test=0.00;
cout<<"订货量是:"< cout cout cout cout cout getchar();
cout cout for(CLOCK=1;CLOCK {ss2();}
tcosto=costo*teout;tcosts=costs*test;tcost=tcosto+tcosts;
cout cout cout ax=tcost/maxt;
cout goto LOOP;}}
void ss1()
{ FILE*fp;
int i,is,ie,id;
fp=fopen("demand.txt","r");
while(!feof(fp))
{fscanf(fp,"%d%d%d",&is,&ie,&id);
cout getchar();
for(i=is;i {demand[i]=id;}}
fclose(fp);
fp=fopen("days.txt","r");
while(!feof(fp))
{fscanf(fp,"%d%d%d",&is,&ie,&id);
cout getchar();
for(i=is;i {tlead[i]=id;}}
fclose(fp);
return;}
void ss2()
{int nr;
float bst,bdem,eout,xi;
if(CLOCK>=arr)
{bst=est+qua;
arr=999999;}
else
bst=est;
nr=rand()%100;
nr=nr+1;
bdem=demand[nr];
if(bst>bdem)
{eout=0.00;
est=bst-bdem;}
else
{eout=bdem-bst;
est=0.00;}
teout=teout+eout;
test=test+est;
float p;
p=0.00;
if(est<=ord)
{if(arr>=999999)
{nr=rand()%100;
nr=nr+1;
p=tlead[nr];
arr=p+CLOCK;}}
if(CLOCK<=20)
{xi=costo*eout+costs*est;
cout<<setw(8)<<CLOCK
<<setw(8)<<bst<<setw(8)<<bdem;
cout<<setw(8)<<est<<setw(8)<<eout<<setw(8)<<p<<setw(10)<<arr<<setw(10)<<xi<<endl;}return;}

  • 写回答

1条回答 默认 最新

  • 小灸舞 2016-05-23 08:09
    关注

    楼主fopen打开文件失败?(检查文件名,当前目录一般是工程目录,而不是EXE所在目录,写上完整路径试试)
    还是说能打开的,只是代码有问题(建议单步调试)
    单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
    帮楼主整理了下格式:

     #include<iostream>
    #include<cmath>
    # include"stdlib.h"
    #include"stdio.h"
    #include<iostream>
    #include<iomanip>
    using namespace std;
    #include"time.h"
    #include"math.h"
    float demand[101],tlead[101],qua,ord;
    float maxt,CLOCK;
    float teout,test,iest,est,arr,costo,costs;
    void ss1();
    void ss2();
    void main()
    {
        float tcosts,tcost,ax,tcosto;
        srand(time(NULL));
        cout<<"输入!\n";
        cout<<"初始库存是:";cin>>iest;
        cout<<"单位保管费是:";cin>>costs;
        cout<<"缺料损失费是:";
        cin>>costo;
    LOOP:cout<<"订货量是:";
        cin>>qua;
        if(qua>0){
            cout<<"临界库存量是:";
            cin>>ord;
            cout<<"最大仿真时间是:";cin>>maxt;est=iest;
            arr=999999;
            teout=0.00;
            test=0.00;
            cout<<"订货量是:"<<qua<<endl;
            cout<<"临界库存量是:"<<ord<<endl;
            cout<<"最大仿真时间是:"<<maxt<<endl;
            cout<<"初始库存是:"<<est<<endl;
            cout<<"缺料损失费是:"<<costo<<endl;
            cout<<"单位保管费是:"<<costs<<endl;
            getchar();
            cout<<"      时钟   可供数  需求库存";
            cout<<"  缺料数       到货天数   到货日期   每日费用"<<endl;
            for(CLOCK=1;CLOCK<=maxt;CLOCK++)
            {
                ss2();
            }
            tcosto=costo*teout;tcosts=costs*test;tcost=tcosto+tcosts;
            cout<<"总缺货费是:"<<endl;
            cout<<"总保管费是:"<<endl;
            cout<<"总费用是:"<<tcost<<endl;
            ax=tcost/maxt;
            cout<<"日平均费用是:"<<ax<<endl;
            goto LOOP;}}
    void ss1()
    {  
        FILE*fp;
        int i,is,ie,id;
        fp=fopen("demand.txt","r");
        while(!feof(fp))
        {
            fscanf(fp,"%d%d%d",&is,&ie,&id);
            cout<<is<<""<<ie<<""<<id<<endl;
            getchar();
            for(i=is;i<=ie;i++)
            {
                demand[i]=id;}}
        fclose(fp);
        fp=fopen("days.txt","r");
        while(!feof(fp))
        {
            fscanf(fp,"%d%d%d",&is,&ie,&id);
            cout<<is<<""<<ie<<""<<id<<endl;
            getchar();
            for(i=is;i<=ie;i++)
            {
                tlead[i]=id;}}
        fclose(fp);
        return;
    }
    void ss2()
    {
        int nr;
        float bst,bdem,eout,xi;
        if(CLOCK>=arr)
        {
            bst=est+qua;
            arr=999999;}
        else
            bst=est;
        nr=rand()%100;
        nr=nr+1;
        bdem=demand[nr];
        if(bst>bdem)
        {
            eout=0.00;
            est=bst-bdem;}
        else
        {
            eout=bdem-bst;
            est=0.00;}
        teout=teout+eout;
        test=test+est;
        float p;
        p=0.00;
        if(est<=ord)
        {if(arr>=999999)
        {nr=rand()%100;
        nr=nr+1;
        p=tlead[nr];
        arr=p+CLOCK;}}
        if(CLOCK<=20)
        {
            xi=costo*eout+costs*est;
            cout<<setw(8)<<CLOCK
                <<setw(8)<<bst<<setw(8)<<bdem;
            cout<<setw(8)<<est<<setw(8)<<eout<<setw(8)<<p<<setw(10)<<arr<<setw(10)<<xi<<endl;
        }
        return;
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示