0

我被要求做先到先服务计划。我破解了代码,程序运行良好。但是,我在表格列中显示它时遇到问题。

我希望它像这样显示:

Pr  AT  ST  WT  TAT RR
--------------------------
A   0   3   0   3   1
B   2   6   1   7   1.16
C   4   4   5   9   2.25
D   6   5   7   12  2.4
E   8   2   10  12  6

Average Response Ratio is 2.56  

但我得到的是这样的: 输出

在我输入姓名、到达时间和服务时间后,等待时间、周转时间和响应率出现在下一行。我希望所有的东西都出现在同一行。

谁能告诉我哪里出错了?这是我的代码:

//First Come First Serve Scheduling
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
void main()
{
 int at[5],st[5],tt=0,wt=0,tr=0;
 char name[5];
 float res,tres;
 clrscr();
 cout<<"\n\tName \tAT \tST \tWT \tTAT \tRR";
 for(int i=0;i<5;i++)
 {
  cout<<"\n\t";
  cin>>name[i];
  cout<<"\t";
  cin>>at[i];
  cout<<"\t";
  cin>>st[i];
  wt = tr - at[i];
  cout<<"\t\t"<<wt;
  tt = wt + st[i];
  cout<<"\t"<<tt;
  tr+=st[i];
  res=(float)tt/st[i];
  tres+=(float)res;
  cout<<"\t"<<res;
  }
  cout<<"\nAverage response ratio is: "<<tres/5;
 getch();
}

任何帮助都会非常好。谢谢你们。

4

1 回答 1

1

换行符不是由 C++ 程序处理的,在 Windows 平台上,也许你可以尝试Windows 控制台 API或诅咒库(例如 ncurse)来改变光标的位置。或者您可以简单地编写自己的函数来处理输入。在这种情况下,您应该放弃 std:cin。

于 2013-01-27T07:54:53.493 回答