Форум программистов, компьютерный форум CyberForum.ru

Вывод информации в виде таблицы - C++

Восстановить пароль Регистрация
 
_Azazel_
 Аватар для _Azazel_
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 85
20.06.2010, 13:35     Вывод информации в виде таблицы #1
Вот программка
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
const int n = 3;  //Число элементов массива
struct Train { //Структура
 char pn [21];
 unsigned int num;
 char time [6];
};
 
void Copy (Train &pest, Train bust)  //Подпрограмма для сортировки
{
 strcpy (pest.pn, bust.pn);
 strcpy (pest.time, bust.time);
 pest.num = bust.num;
}
 
int main(void)
{clrscr();
int i = 0,pp,k,l1=0;
double f;
 Train a[n],buf;
puts("Задание 4 ");
puts("Программирование с использованием структур и файлов. ");
puts("Записи должны выводиться  на экран в виде отформатированной таблицы. про-");
puts("грамма должна содержать меню.");
puts("Описать структуру с именем TRAIN, содержащую следующие поля: ");
puts("-название пункта назначения; ");
puts("-номер поезда;");
puts("-время отправления.");
puts("Написать программу, выполняющую следующие действия:");
puts("-ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN;");
puts("-записи должны  упорядочиваться по номерам поездов;");
puts("-вывод на экран информации о поезде, номер которого введен с клавиатуры;");
puts("-если таких поездов нет, выдать на дисплей соответствующее сообщение.");
getch();
clrscr();
 do
 {
  cout<<"\nВыберите желаемое задание"<<"\n";
  cout<<"1-Задание 1"<<"\n";
  cout<<"2-Задание 2"<<"\n";
  cout<<"3-Задание 3"<<"\n";
  cout<<"0-Выход "<<"\n";
  cin>>l1;
  switch(l1)
  {
   case 1: for (i=0; i<n; i++) { //Ввод данных
  cout << "Введите пункт назначения: ";
  cin >> a[i].pn;
  cout << "Введите номер поезда: ";
  cin >> a[i].num;
  cout << "Введите время отправления: ";
  cin >> a[i].time;
 } break;
 
 //Сортировка пузырьком
 case 2: for (i=0; i<n-1; i++)
  for (k=0; k<n-1; k++)
   if (a[k].num>a[k+1].num) {
    Copy (buf, a[k]);
    Copy (a[k], a[k+1]);
    Copy (a[k+1], buf);
   }
 for (i=0;i<n;i++)
cout << "\n Поезд # " << a[i].num << ' ' << a[i].time << ' '<<a[i].pn;
break;
//Поиск поезда  по пункту назначения
case 3: cout << "\n Введите номер поезда: ";
 cin >> pp;
 for (i=0; i<n; i++)
  if (a[i].num==pp) { //Vivod
   cout << "\n Поезд # " << a[i].num << ' ' << a[i].time << ' '<<a[i].pn;
   f = 1;
  }
 if (!f) cout << "\n Нет таких поездов"; //Сообщение
 break;
 }}
 while(l1!=0);
 
 getch();
 
}
Подскажите пожалуйста,как сделать так, чтобы информация выводилась в виде таблицы и не съезжала
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mvji
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 17
20.06.2010, 13:40     Вывод информации в виде таблицы #2
Самый простой способ, вместо "пробела" между элементами использовать табуляцию("\t" или просто "нажатие клавиши tab") 8)
_Azazel_
 Аватар для _Azazel_
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 85
20.06.2010, 13:42  [ТС]     Вывод информации в виде таблицы #3
Пробел да, но нужна именно таблица с черточками или чем то таким
From_Tula
40 / 40 / 2
Регистрация: 22.05.2009
Сообщений: 469
20.06.2010, 14:16     Вывод информации в виде таблицы #4
А тебе это надо на экран или в файл выводить? Однозначно используй табуляцию, только перед выводом строки поставь '|' должно получится хоть так)
_Azazel_
 Аватар для _Azazel_
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 85
20.06.2010, 14:38  [ТС]     Вывод информации в виде таблицы #5
А кодом можно?((( Я в этих оформлениях совсем ничего не смыслю
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
20.06.2010, 14:57     Вывод информации в виде таблицы #6
Цитата Сообщение от _Azazel_ Посмотреть сообщение
for (i=0;i<n;i++)
cout << "\n Поезд # " << a[i].num << ' ' << a[i].time << ' '<<a[i].pn;
Я так понял, это вывод всех поездов, в виде таблицы это можно оформить так:
C++
1
2
3
4
5
6
7
8
cout << "+----------+-------+----------------------+" << endl;
cout << "|Поезд #   |Время  |Пункт назначения      |" << endl;
cout << "+----------+-------+----------------------+" << endl;
for (i=0;i<n;i++)
{
   cout << "|" << setw(10) << a[i].num << "|" << setw(7) << a[i].time << "|" << setw(22) << a[i].pn << endl;
   cout << "+----------+-------+----------------------+" << endl;
}
Добавлено через 4 минуты
Для setw нужно подключить iomanip.h
Yandex
Объявления
20.06.2010, 14:57     Вывод информации в виде таблицы
Ответ Создать тему

Метки
train, train c++, описать структуру, описать структуру c++, описать структуру train c++, описать структуру train, описать структуру с именем train, описать структуру с именем train c++, структура train, структура train c++, структуры данных, структуры данных c++
Опции темы

Текущее время: 01:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru