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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
05.06.2012, 22:54     Вывод данных ввиде таблицы #1
подскажите как вывести данные в виде таблицы?
допустим пользователь вводит число х , программа вычисляет значения: t=pow(x,2); s=x*1000; y=t+s+x;
как это вывести в виде таблицы:
x t s y
x t s y
.........

пробовал setw выходит не очень если вводить большие числа.
как можно по другому и что бы ровно выводилось ?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 09:41     Вывод данных ввиде таблицы #2
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main() {
    float x, t, s;
    scanf("%lf", &x);
    t = x * x;
    s = x * 1000.;
    /*Задаем отступы вручную*/
    printf("%f.3%5.3f%5.3f\n", x, t, s, t + s + x);
    /*Используем табуляцию по умолчанию*/
    printf("%f\t%f\t%f", x, t, s, t + s + x);
}
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 10:49  [ТС]     Вывод данных ввиде таблицы #3
Я немного изменил вашу программу добавил сonio.h и изменил тип переменных
но главное вывод вывод все равно не ровно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <conio.h>
int main() {
    int x, t, s;
    clrscr();
    printf("\n vvedite x:\n");
    scanf("%%d", &x);
    t = x * x;
    s = x * 1000;
    /*Задаем отступы вручную*/
    printf("%d.3%5.3d%5.3d\n", x, t, s, t + s + x);
    /*Используем табуляцию по умолчанию*/
    printf("%d\t%d\t%d", x, t, s, t + s + x);
getch();
}
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 11:16     Вывод данных ввиде таблицы #4
C
1
printf("%d%5d%5d", x, t, s, t + s + x);
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 11:26  [ТС]     Вывод данных ввиде таблицы #5
вот что выдает программа
Миниатюры
Вывод данных ввиде таблицы  
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 11:27  [ТС]     Вывод данных ввиде таблицы #6
выложил что выдает программа (
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 11:50     Вывод данных ввиде таблицы #7
При вводе числа 1234 первая строка склеивается, потому что пяти пробелов недостаточно.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    int x, t, s;
    system("cls");/*Зачем? Экран ведь и так чист.*/
    puts("\n Enter x:");
    scanf("%d", &x);
    t = x * x;
    s = x * 1000;
    printf("%d%5d%5d\n", x, t, s, t + s + x);
    printf("%d\t%d\t%d\n", x, t, s, t + s + x);
    system("pause");
}
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 12:06  [ТС]     Вывод данных ввиде таблицы #8
экран вывода
Миниатюры
Вывод данных ввиде таблицы  
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 12:09     Вывод данных ввиде таблицы #9
C
1
2
3
4
5
#include <stdio.h>
 
int main() {
    printf("%d", sizeof(int));
}
Скажите, пожалуйста, что он у Вас выводит?
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 12:11  [ТС]     Вывод данных ввиде таблицы #10
Проблема в том что пользователь может ввести хоть сколько цифр на свое усмотрение а мне надо их вывести в виде таблицы.

Пробовал cout.width и right тоже не выходит.

Clrscr() писал что бы стереть предыдущие результаты

Добавлено через 1 минуту
2

выводит.
это насчет байтов?
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 12:28     Вывод данных ввиде таблицы #11
Цитата Сообщение от BF_KARATEL Посмотреть сообщение
2
Мой Вам совет - переходите на нормальный компилятор.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    long x, t, s;
    system("cls");
    puts("\n Enter x:");
    scanf("%d", &x);
    t = x * x;
    s = x * 1000;
    printf("%d%10d%10d\n", x, t, s, t + s + x);
    printf("%d\t%d\t%d\n", x, t, s, t + s + x);
    system("pause");
}
Вот так должно сработать.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 12:30     Вывод данных ввиде таблицы #12
В каком плане сколько угодно цифр? Встроенные типы не резиновые.
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 12:31  [ТС]     Вывод данных ввиде таблицы #13
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
Мой Вам совет - переходите на нормальный компилятор.
В смысле ?

Добавлено через 1 минуту
ну int позволяет от -32768 до 32767 вот из этого диапазона я имею в виду
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 12:32     Вывод данных ввиде таблицы #14
Цитата Сообщение от BF_KARATEL Посмотреть сообщение
ну int позволяет от -32768 до 32767 вот из этого диапазона я имею в виду
А должен от -2 147 483 648 до 2 147 483 647.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 12:35     Вывод данных ввиде таблицы #15
Ну получается максимум 6 знаков. И того для каждого числа резервируем 6 знаков + по 1-му пробелу между значениями. В итоге можно просто резервировать для каждого числа 7 знаков.

Добавлено через 2 минуты
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
А должен от -2 147 483 648 до 2 147 483 647.
Это где такое сказано? Ничего он не должен. В стандарте не оговорен точный размер встроенных типов. В borland`е 4 байтовый идет только long int, а int == short int == 2 байта. В современных компиляторах просто в привычку вошло делать short int 2 байта, а int и long int 4 байта.
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 12:36  [ТС]     Вывод данных ввиде таблицы #16
да ну а если получится так что значения чисел будут разной длины где 4 знака где 6 она будет кривой ?
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 12:38     Вывод данных ввиде таблицы #17
С чего это кривой? Выравнивание по умолчанию идет по правому краю.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 12:43     Вывод данных ввиде таблицы #18
C
1
printf( "%7d%7d%7d%7d\n", x, y, z, x + y + z );
Миниатюры
Вывод данных ввиде таблицы  
BF_KARATEL
 Аватар для BF_KARATEL
11 / 11 / 0
Регистрация: 01.06.2012
Сообщений: 114
06.06.2012, 12:44  [ТС]     Вывод данных ввиде таблицы #19
Вывод результата работы программы ввиде таблицы

допустим здесь подпрограмма вывода самая последняя выводит не ровно если ввести название игрушки длинным
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2012, 12:48     Вывод данных ввиде таблицы
Еще ссылки по теме:

C++ Составить программу для вычисления значений функции F(x) на отрезке [A,B] с шагом Н.Результат представить ввиде таблицы, первый столбец которой—з
Исправить задачу (Вычислить и вывести на экран ввиде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX) C++
Вывести на экран числа ввиде следующей таблицы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.06.2012, 12:48     Вывод данных ввиде таблицы #20
Вы понимаете, что при построении таблицы должна учитываться максимальная необходимая длина числа/строки? А пользователь в принципе может ввести все что угодно. Для этого делают проверки на корректность входных данных.
Yandex
Объявления
06.06.2012, 12:48     Вывод данных ввиде таблицы
Ответ Создать тему
Опции темы

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