先来先服务程序C ++表格格式

时间:2013-01-27 07:04:00

标签: c++ formatting

我被要求做先到先得的服务安排计划。我破解了代码,程序运行正常。但是我在表格列中显示它有问题。

我希望它显示如下:

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  

但我得到的是这样的: Output

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

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

//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();
}

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

1 个答案:

答案 0 :(得分:1)

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