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

Вывод в файл с ограничением числа - C++

Восстановить пароль Регистрация
 
Nikoys
26 / 26 / 6
Регистрация: 29.12.2010
Сообщений: 90
24.09.2012, 02:53     Вывод в файл с ограничением числа #1
Доброй всем ночи! Возникла задача в автоматизированном тесте: должно считаться неизвестное количество строк с числами и над ними выполнится операция. В результате операции должно получится число, не большее за единицу и большее за нуль, записанное с шестью знаками после точки, вроде 1.000000, 0.972222 и т.д. Причем подразумевается округление имеющегося числа.
Меня интересует, как можно в файл вывести такое ограниченное число (если можно, то с названием функции хоть какой-то пример применения, а то искать их применение сложно, как например я гуглил snprintf сейчас). При чем не просто вывести, но и каждое новое число выводить в новую строку (совершать конец строки, т.е.).
Если же есть метод через cin считать имеющееся, я тоже буду не против, но у тестов ограничение в 1 секунду компиляции, после чего выдается ошибка исчерпывания лимита времени.

В общем, помогите, кто чем может по этому техническому моменту, был бы очень рад.

Добавлено через 3 минуты
Что новая строка как каретка работает и в printf, уже понял. Теперь интересует только округление.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2012, 02:53     Вывод в файл с ограничением числа
Посмотрите здесь:

ввод n-значного числа, вывод цифр, из которых оно состоит и вывод суммы его цифр. C++
Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать C++
Ввод двузначного числа и вывод обратного числа C++
C++ Файл содержит числа и слова. Сформулировать файл, содержащий только числа.
Файл: Создать файл и записать в него обратные натуральные числа 1,1/2,...1/n. C++
Дан целочисленный файл А. Записать в файл В все кратные трём числа из А C++
Шаблон с ограничением C++
Printf с ограничением на символы в cout C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
24.09.2012, 07:26     Вывод в файл с ограничением числа #2
Цитата Сообщение от Nikoys Посмотреть сообщение
Что новая строка как каретка работает и в printf, уже понял. Теперь интересует только округление.
Вместе со спецификатором укзывайте точность.
C
1
printf("Sum = %.6f\n", sum);
Для cout'а есть манипулятор setprecision
C++
1
cout << setprecision(6) << sum << endl;
Nikoys
26 / 26 / 6
Регистрация: 29.12.2010
Сообщений: 90
24.09.2012, 09:06  [ТС]     Вывод в файл с ограничением числа #3
kazak, я попробовал схему с потоковым выводом, outf.setf|outf.precision. Можно ли такое делать? Вот исходник:

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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    string namefile1 = "input.txt";
    string namefile2 = "output.txt";
    ifstream inf(namefile1.c_str());
    ofstream outf(namefile2.c_str());
    float a, n;
    outf.setf(ios::fixed, ios::floatfield);
    outf.precision(6);
    while (inf >> n)
    {
        a = 1 - (60-n)*(60-n)/3600;
        outf << a << endl;
 
    }
    inf.close();
    outf.close();
    return 0;
}
Заранее спасибо.

Добавлено через 25 минут
Реализовал следующим образом:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main()
{
    float a, n;
    cout.setf(ios::fixed,ios::floatfield);
    cout.precision(6);
    while ((cin >> n) != 0)
    {
        a = 1 - (60-n)*(60-n)/3600;
        cout << a << endl;  
    }
    return 0;
}
Всем спасибо, вопрос решен
Yandex
Объявления
24.09.2012, 09:06     Вывод в файл с ограничением числа
Ответ Создать тему
Опции темы

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