14.03.2010, 22:19. Просмотров 2342. Ответов 4
Я уже поняла, что вместе cout и printf не использовать.Но таблицу вывести нужно.При чем у-double, т.е. нужно использовать форматированный вывод. Перечитав несколько справочников поняла, что для double таковой имеется только в printf , в то же время нужно что бы выравнивание х и а было по центру| x | a |.
Как отформатировать кол-во точек после запятой в double в cout или что сделать, что бы printf("|%5u|\n",a); не начиналось с новой строки?
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #include "string.h"
#include "stdlib.h"
#include "iomanip.h"
#include "iostream.h"
#include "stdio.h"
#include "math.h"
int main()
{ unsigned short a=0;
double y=0,x=rand()%2;
cout<<x;
cout<<"Enter a :";
cin>>a;
cout<<setw(14)<<setfill('-')<<endl;
cout<<"|"<<setw(3)<<setfill(' ')<<"x"<<setw(3)<<setfill(' ')<<"|"<<setw(3)<<setfill(' ')<<"a"<<setw(3)<<setfill(' ')<<"|"<<endl;
cout<<setw(14)<<setfill('-')<<endl;
cout<<"|"<<setw(3)<<setfill(' ')<<x<<setfill(' ')<<setw(3)<<endl; // <---
printf("|%5u|\n",a); // <---
cout<<setw(14)<<setfill('-')<<endl;
[SIZE="2"]y=cos(x)+a;[/SIZE]
printf("|y=%-9.3f|",y);
cout<<endl;
cout<<setw(14)<<setfill('-')<<endl;
return 0;
} |
|
получается к примеру х=0,а=0: | 0
| 0|
а нужно | 0 | 0|