Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 07.07.2010
Сообщений: 32
1

Форматированный вывод данных о книгах

25.11.2010, 13:50. Показов 3903. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Столкнулся с проблемой, нужно красиво вывести данные, как это сделать не представляю. В общем картина такова:
Есть массив структур, один из элементов структуры это название книги, другой ее цена.
При выводе хочется получить следующий вид:
C
1
2
3
4
5
6
7
//-----------так я сейчас вывожу------------------
for(int i=0;i<size;i++)
    cout<<lib[i].name<<"....................."<<lib[i].price<<endl;
 
//-----------------желаемый результат---------------
Пир стервятников......................................80
Паутина противостояния...............................120
Фиксированная ширина поля. Имена выровняны по левому краю. Цифры по правому.
Пустые места заполнены точками.

Если именно так сделать нельзя то подскажите пожалуйста какие есть варианты.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2010, 13:50
Ответы с готовыми решениями:

Форматированный вывод данных
Нужно в питоне что-то подобное, недавно начал учить writeln(x:3:3, ' | ',f:3:3); Но не...

Форматированный ввод-вывод данных
Добрый вечер. Мне необходимо сделать презентацию на тему &quot;Форматированный ввод-вывод данных java&quot;....

Форматированный вывод данных из базы
Здраствуйте, я умею виводить данние из бази данних, но я неумею при давать ти форму спомощю css,...

Осуществить форматированный вывод данных
данна программа нужно что б в окно вывода выводилось не только матрица а вместе с ней имена...

8
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
25.11.2010, 14:04 2
Demien-DM, почитайте про функцию printf
0
1 / 1 / 0
Регистрация: 07.07.2010
Сообщений: 32
25.11.2010, 14:10  [ТС] 3
Цитата Сообщение от Lord_Voodoo Посмотреть сообщение
Demien-DM, почитайте про функцию printf
В первую очередь читал про нее, но для меня не понятно как составить управляющую строку имея
всего 2 элемента массива.

Хотя бы 1 пример плиз.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.11.2010, 14:21 4
для C++ манипуляторы, могут контролировать ширину поля и заполнитель
по твоей задаче, тебе нужно функцию сделать, которая отформатирует строку
возможно тут нужно вручную вычислять, где и сколько точек ставить
1
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
25.11.2010, 14:25 5
std::setw - устанавливает ширину поля вывода, std::setfill - заполнитель, std::left, std::right -выравнивает по левому/правому соответственно.
#include <iomanip> дабы использовать
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
25.11.2010, 14:29 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
using namespace std;
 
int main(void)
{
    string name = "abc", price = "80";
    string s;
    int maxlen = 80;
    
    s += name;
    for (int i = 0; i < maxlen - name.length() - price.length(); i++)
        s += ".";
    s += price;
    
    cout << s << endl;
    cout << s.length() << endl;
    
    return 0;
}
Код
[guest@localhost tests]$ ./t
abc...........................................................................80
80
[guest@localhost tests]$
1
1 / 1 / 0
Регистрация: 07.07.2010
Сообщений: 32
25.11.2010, 15:46  [ТС] 7
Большое вам спасибо, способ очень и очень интересный (для меня по крайней мере)
0
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
11.03.2011, 11:11 8
Год назад делал что-то такое, а сейчас не могу точно вспомнить, как:
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int array[6];
    for (int i =0; i < 5; i++)
        cout<<"array[',i,']"<<endl;
    return 0;
}
надо чтобы выводилось array[0] array[1] и т.д.
Можно конечно
cout<<"array["<<i<<"]"<<endl, но можно как-то сделать так, чтобы внутри строки переменная вевыдолась не как символ, а именно как значение переменной
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
11.03.2011, 11:31 9
чтобы склеить строку и число, нужен stringstream
0
11.03.2011, 11:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2011, 11:31
Помогаю со студенческими работами здесь

Форматированный вывод строк из базы данных
Можно ли как-нибудь выводить строки в свой заготовленный шаблон? Я понимаю как сделать одну такую...

Ввод, преобразование и форматированный вывод различных типов данных
Напишите программу, которая: 1. Вводит все числовые типы данных (допускается исключение decimal),...

Форматированный вывод данных типа float, передаваемых в QML через сигнал?
Приветствую. Имеется форма, написанная на QML, которая принимает некое значение 'X' и отсылает...

Форматированный вывод
Доброе время суток! Столкнулся с такой проблемой, при выводе чисел с плавающей точкой с помощью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru