Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2020, 16:38   #1
Korol12
Пользователь
 
Регистрация: 07.05.2020
Сообщений: 16
По умолчанию Как установить ширину поля 10 символов ,точность 6 цифр и вместо пропусков установить символ подчеркивания?

Доброго времени суток!
Есть вот код программы которая записывает данные в файл о температуре в Градусах Цельсия, выводит их на экран, после этого переводит их на Градусы Фаренгейта и тоже выводит их на экран (но не записывает их у файл).
Нужно сделать ещё так: установить ширину поля 10 символов, точность 6
цифр, вместо пропусков установить символ подчеркивания с помощью функций и
манипуляторов.
Помогите кто нибудь.
Сразу огромное спасибо за то что уделите внимание и огромное спасибо вдвойне тому кто напишет.
Ps: и по возможности сделайте что бы Градусы Фаренгейта тоже были записаны у файл.

Код:
#include <iostream>
#include <string>
#include <fstream>

using namespace std;

class Temperature
{
public:

    Temperature(){}

    Temperature(double January, double February, double March, double April, double May, double June, double July, double August, double September, double October, double November, double December)
    {
        this->January = January;
        this->February = February;
        this->March = March;
        this->April = April;
        this->May = May;
        this->June = June;
        this->July = July;
        this->August = August;
        this->September = September;
        this->October = October;
        this->November = November;
        this->December = December;
    }
private:
    double January;
    double February;
    double March;
    double April;
    double May;
    double June;
    double July;
    double August;
    double September;
    double October;
    double November;
    double December;

    friend ostream& operator<<(ostream& os, const Temperature& temperature);
    friend istream& operator>>(istream& is, Temperature& temperature);
};


ostream& operator<<(ostream& os, const Temperature& temperature)
{

    os << temperature.January << endl;
    os << temperature.February << endl;
    os << temperature.March << endl;
    os << temperature.April << endl;
    os << temperature.May << endl;
    os << temperature.June << endl;
    os << temperature.July << endl;
    os << temperature.August << endl;
    os << temperature.September << endl;
    os << temperature.October << endl;
    os << temperature.November << endl;
    os << temperature.December << endl;
    return os;
}

istream& operator>>(istream& is, Temperature& temperature)
{

    is >> temperature.January;
    is >> temperature.February;
    is >> temperature.March;
    is >> temperature.April ;
    is >> temperature.May;
    is >> temperature.June;
    is >> temperature.July;
    is >> temperature.August;
    is >> temperature.September;
    is >> temperature.October;
    is >> temperature.November;
    is >> temperature.December;
    return is;
}


int main() {
    setlocale(LC_ALL, "ru");
    string path = "myFile.txt";
    Temperature temperature(-4.5, +0.6, +3.4, +8.8, +14.2, +19.3, +21.6, +22.2, +16.1, +10.7, +5.2, +1.3);
    fstream fs;
    fs.open(path, fstream::in | fstream::out | fstream::app);
    if (!fs.is_open())
    {
        cout << "Ошибка открытия файла!" << endl;
    }
    else
    {
        cout << "Файл открылся!" << endl;
        fs << temperature << endl;
        fs.close();
        fs.open(path, fstream::in | fstream::out | fstream::app);
        Temperature t;
        fs >> t;
        cout << "Файл зчитано!" << endl;
        cout << "Температура в течение года по шкале Цельсия: " << endl;
        cout << t;
        fs.close();
        cout << endl;
        fs.open(path, fstream::in | fstream::out | fstream::app);
        double a;
        cout << "Температура в течение года по шкале Фаренгейта: " << endl;
        while (!fs.eof())
        {
            fs >> a;
            a = (a * 9 / 5) + 32;
            cout << a << endl;
        }
    }
    fs.close();
    return 0;
}
Korol12 вне форума Ответить с цитированием
Старый 15.05.2020, 18:13   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Вам нужны setfill, setprecision, setw из заголовочного файла iomanip.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установить, является ли последовательность цифр упорядоченной по не убыванию // C++ Loqwer78rus Помощь студентам 0 16.05.2014 21:50
как установить 64-разрядную точность для типа Extended Rin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.01.2011 17:48
как установить winXp вместо Linpus Linux lik-idler Операционные системы общие вопросы 1 04.12.2009 06:55
Установить WMP 9 вместо 11. Alex Cones Софт 17 28.11.2009 13:06
Установить ширину столбца. Elden Microsoft Office Excel 4 10.11.2009 15:07