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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Nicholas
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 5
#1

Решение задач C++ Р. Лафоре - C++

21.08.2012, 00:21. Просмотров 2733. Ответов 6
Метки нет (Все метки)

Всем привет. нужна помощь в в решении 11 задачи 2 главы книги.
Уже все перепробовал, не могу найти друго решения как поставить подчеркивания после первой строки. В аттаче задание и мой солюшен, немного глупый, но другого я не придумал. все попытки сделать это более красиво ни к чему не привели. Пожалуйста, помогите в решении данной задачи, заранее благодарен.
0
Миниатюры
Решение задач C++ Р. Лафоре   Решение задач C++ Р. Лафоре  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 00:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решение задач C++ Р. Лафоре (C++):

Решение задач Р. Лафоре, структуры - C++
Никак не могу понять в чем проблема. Условие задачи: используя структуру time с полями типа int (часы, минуты, секунды) написать...

Решение задачи Р.Лафоре, объекты и классы - C++
Замахался уже... Выдает ошибку проблема с static int count; вот этой локальгой статической переменной.(далее в коде:) Какгбэ все...

Правильное ли решение задачи? Лафоре. 3 глава 9 задача - C++
Представьте, что вы собираетесь пригласить к себе шестерых гостей, но за вашим столом могут разместиться всего лишь 4 человека Сколькими...

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++" - C++
Мне надо решение упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++". Хотя бы какая-то часть

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++" - C++
Хотя я и начинающий с++-шник. Хочу помочь другим людям. Здесь я буду выкладывать всё что мне удалось решить. В моих решениях будет много...

Решение задач - C++
Это снова я, сейчас мне дали задание вот такого типа, опять же согласился ибо выбора не оставалось. Вводится последовательность из N...

6
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
21.08.2012, 00:24 #2
Очень занятный вопрос. Изложи суть вопроса.
1
Nicholas
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 5
21.08.2012, 00:33  [ТС] #3
Привет, изложил, сорри что не сразу, эксплорил форум))

Добавлено через 4 минуты
Как я не пытался сделать нижнее подчеркивание, постоянно все сваливается. Решил вывести просто как строковую костанту. Но более чем уверен что это решение не верно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//assign.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
 
{
    setlocale (0, "Rus");
 
    cout<<setiosflags(ios::left) <<setw(15) << "Фамилия" << setw(15) << "Имя" << setw(15) << "Адрес" << setw(15) << "Город"<< endl;
    cout<<"..............................................................."<<endl;
    cout <<setiosflags (ios::left) <<setw(15) << "Петров" <<setw(15) << "Василий" << setw(15) <<"Кленовая 16" << setw(15) << "Санкт-Петербург"<<endl
    <<setw(15)<< "Иванов" <<setw(15) << "Сергей" << setw(15) <<"Осиновая 3" << setw(15) << "Находка"<<endl
    <<setw(15)<< "Сидоров" <<setw(15) << "Иван" << setw(15) <<"Березовая 21" << setw(15) << "Калининград"<<endl;
    
    return 0;
}
0
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
21.08.2012, 00:42 #4
У тебя вполне хороший вариант, просто ты используешь точки. Если как в книге надо ,то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    setlocale(0,"rus");
    char line[]="_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ";
    char line2[]="- - - - - - - - - - - - - - - - - - - - - - -";
    cout<<setiosflags(ios::left) <<setw(15) << "Фамилия" << setw(15) << "Имя" << setw(15) << "Адрес" << setw(15) << "Город"<< endl;
    //cout<<"..............................................................."<<endl;
    cout<<line<<endl<<endl;// нижнее подчеркивание
    cout<<line2<<endl;// через дефисы
    cout <<setiosflags (ios::left) <<setw(15) << "Петров" <<setw(15) << "Василий" << setw(15) <<"Кленовая 16" << setw(15) << "Санкт-Петербург"<<endl
    <<setw(15)<< "Иванов" <<setw(15) << "Сергей" << setw(15) <<"Осиновая 3" << setw(15) << "Находка"<<endl
    <<setw(15)<< "Сидоров" <<setw(15) << "Иван" << setw(15) <<"Березовая 21" << setw(15) << "Калининград"<<endl;
    
    getch();
    return 0;
}
1
Nicholas
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 5
21.08.2012, 00:48  [ТС] #5
Цитата Сообщение от Andrey.K Посмотреть сообщение
У тебя вполне хороший вариант, просто ты используешь точки. Если как в книге надо ,то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    setlocale(0,"rus");
    char line[]="_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ";
    char line2[]="- - - - - - - - - - - - - - - - - - - - - - -";
    cout<<setiosflags(ios::left) <<setw(15) << "Фамилия" << setw(15) << "Имя" << setw(15) << "Адрес" << setw(15) << "Город"<< endl;
    //cout<<"..............................................................."<<endl;
    cout<<line<<endl<<endl;// нижнее подчеркивание
    cout<<line2<<endl;// через дефисы
    cout <<setiosflags (ios::left) <<setw(15) << "Петров" <<setw(15) << "Василий" << setw(15) <<"Кленовая 16" << setw(15) << "Санкт-Петербург"<<endl
    <<setw(15)<< "Иванов" <<setw(15) << "Сергей" << setw(15) <<"Осиновая 3" << setw(15) << "Находка"<<endl
    <<setw(15)<< "Сидоров" <<setw(15) << "Иван" << setw(15) <<"Березовая 21" << setw(15) << "Калининград"<<endl;
    
    getch();
    return 0;
}
Нет, я не правильно выразился. Общим можно поставить эти подчеркивания с помощью манипулятора setfill(). Этот манипулятор принимает в качестве аргумента один символ, допустим в моем случае setfill('.'), который замещает пробелы на незаполненых позициях поля. Мне нужно сделать так чтобы он прирывался сразу после окончания второй строки. Как я не старался его прервать не получаеться, а символ заполняет все пустые пробелы.
0
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
21.08.2012, 01:28 #6
Setfill прервать никак нельзя, он стоит по умолчанию, и ты просто можешь менять символ заполнения. Поэтому такой вариант как тебе надо я думаю выглядит так:
C++
1
2
3
4
5
6
    for(char i=1;i<50;i++)
    {
        if(i%2==0) cout<<setfill('_')<<setw(2)<<' ';
    }
    cout<<endl<<endl;
    cout<<setfill(' ');
Добавлено через 43 секунды
Просто чтобы прекратить как бы заполнение , его нужно вернуть в начальное состояние, а это символ заполнения "пробел".
1
Nicholas
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 5
21.08.2012, 02:57  [ТС] #7
Цитата Сообщение от Andrey.K Посмотреть сообщение
Setfill прервать никак нельзя, он стоит по умолчанию, и ты просто можешь менять символ заполнения. Поэтому такой вариант как тебе надо я думаю выглядит так:
C++
1
2
3
4
5
6
    for(char i=1;i<50;i++)
    {
        if(i%2==0) cout<<setfill('_')<<setw(2)<<' ';
    }
    cout<<endl<<endl;
    cout<<setfill(' ');
Добавлено через 43 секунды
Просто чтобы прекратить как бы заполнение , его нужно вернуть в начальное состояние, а это символ заполнения "пробел".
Спасибо большое))) Общим еще учиться и учиться мне. Ну думаю потихоньку все станет на свои места в голове.
0
21.08.2012, 02:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2012, 02:57
Привет! Вот еще темы с ответами:

Решение задач - C++
Всем салам! Нам задали 30 задач на c++ кто сможет написать их ? подам 200 рублей на нашем 1000 тенге может и 1500-2000 тенге задачи лёгкие

Решение задач С++ - C++
Заданы три точки на плоскости: М с координатами (х1, у1), L с координатами (х2, у2) и Н с координатами (х3, у3). Определить лежат ли они на...

Решение задач с Си++ - C++
Код доступа к банковскому счету представляет собой набор из 9 десятичных цифр. При проведении банковских операций онлайн клиента, в целях...

Решение задач - C++
Доброго времени дня! помогите пожалуйста составить программы по с++ так как я не понимаю программирование совсем! Вот условия задач: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru