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

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

Войти
Регистрация
Восстановить пароль
 
Шерлок
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 16
#1

вывод на экран (выводит числа из файла округленными) - C++

12.12.2012, 11:34. Просмотров 518. Ответов 3
Метки нет (Все метки)

Программа выводит на экран числа из файла, так что числа стоящие на нечетных местах выводятся с одним знаком после запятой, а четных с двумя. Всё работает, но выводятся округлённые числа(соответственно с одним или двумя знаками). Объясните где в программе округление и как его убрать)) построчно вроде разобрал, округления так и не нашёл. спс заранее))


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::ifstream ifs("a.txt");//открытие файла
    if(ifs.is_open())//если файл открылся то
    {
        float n;
        for(int i = 0; ifs >> n; ++i)//берет число из файла, читает его и записывает в n
        {   
            if(i % 2)//проверка на четность
                printf("%3.2f ",n);//2 знака после запятой - четные места
            else
                printf("%3.1f ",n);//1 знак после запятой - нечетные места
        }
        ifs.close();//закрыть файл
    }
    else std::cerr << "Unable to open input file" << std::endl;//если файл не открылся
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 11:34     вывод на экран (выводит числа из файла округленными)
Посмотрите здесь:

Написать прогу, которая выводит на экран содержимое файла C++
Программа, которая считывает текст из файла и выводит на экран строки, содержащие двузначные числа C++
C++ Создать функцию которая выводит на экран, числа от 1 до указанного числа
программа которая выводит на экран словесную форму числа C++
Напишите программу на языке С++, которая сравнивает 2 числа и выводит на экран наибольшее из них, если числа равны C++
Программа которая выводит на экран целые числа C++
Создать программу, которая выводит на экран простые числа C++
C++ считывание текста из файла и выводит его на экран
C++ Написать программу, которая считывает текст из файла и выводит на экран строки, содержащие двоичные числа
C++ Код который выводит на экран в рандомной последовательности числа 1 и 0
Написать программу, которая выводит на экран предложения из файла C++
Программа не выводит на экран содержимое файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2914 / 1343 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.12.2012, 11:38     вывод на экран (выводит числа из файла округленными) #2
У вас же там прямо комментарии стоят на месте форматирования вывода.
"Округление" происходит внутри printf при форматирования вывода.
Шерлок
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 16
12.12.2012, 11:42  [ТС]     вывод на экран (выводит числа из файла округленными) #3
а спс терь понятно вроде) а избавиться от округления можно как то??
Байт
Эксперт C
 Аватар для Байт
15043 / 9445 / 1383
Регистрация: 24.12.2010
Сообщений: 17,477
12.12.2012, 12:47     вывод на экран (выводит числа из файла округленными) #4
C
1
2
 int t = 12; // требуемая точность
printf("%3.*f ", t, n);
Цитата Сообщение от Шерлок Посмотреть сообщение
а избавиться от округления можно как то??
Никак. Но можно задать требуемое кол-во знаков после точки. Если сказать
C
1
printf("%f", n);
будет выводиться 6 знаков
Yandex
Объявления
12.12.2012, 12:47     вывод на экран (выводит числа из файла округленными)
Ответ Создать тему
Опции темы

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