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または curse ライブラリ (ncurse など) を試して、カーソルの位置を変更できます。または、入力を処理する独自の関数を単純に作成することもできます。その場合、std:cin を放棄する必要があります。

于 2013-01-27T07:54:53.493 に答える