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

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

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

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

12.12.2012, 11:34. Просмотров 551. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 11:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вывод на экран (выводит числа из файла округленными) (C++):

Напишите программу, которая выводит на экран содержимое файла и выводит сумму чисел файла - C++
Напишите программу, которая выводит на экран содержимое файла D:\numbers.txt. и выводит сумму чисел файла. Вынужден снова просить...

Программа, которая считывает текст из файла и выводит на экран строки, содержащие двузначные числа - C++
В чтении/записи файлов я ничего не понимаю, поэтому обращаюсь сюда. разобрав задачу, я примерно понял алгоритм: 1. есть файл,...

Написать программу, которая считывает текст из файла и выводит на экран строки, содержащие двоичные числа - C++
Помогите пожалуйста написать программу в CodeBlocks: Написать программу, которая считывает текст из файла и выводит на экран...

Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа. - C++
Помогите пожалуйста, получил от преподавателя задание на дом (болею), нужно сделать. Сам с файлами и строками сталкиваюсь впервые, поэтому...

Написать функцию, которая принимает 2 числа (n, m) и выводит на экран все числа от n до m - C++
1. Написать функцию, которая принимает 2 числа (n, m) и выводит на экран все числа от n до m 2. Написать функцию, которая принимает 2...

Создать функцию которая выводит на экран, числа от 1 до указанного числа - C++
Создать функцию которая выводит на экран, числа от 1 до указанного числа Вот я это написал: #include &lt;iostream&gt; #include &lt;conio.h&gt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
12.12.2012, 11:38 #2
У вас же там прямо комментарии стоят на месте форматирования вывода.
"Округление" происходит внутри printf при форматирования вывода.
0
Шерлок
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 16
12.12.2012, 11:42  [ТС] #3
а спс терь понятно вроде) а избавиться от округления можно как то??
0
Байт
Эксперт C
16062 / 10331 / 1540
Регистрация: 24.12.2010
Сообщений: 19,470
12.12.2012, 12:47 #4
C
1
2
 int t = 12; // требуемая точность
printf("%3.*f ", t, n);
Цитата Сообщение от Шерлок Посмотреть сообщение
а избавиться от округления можно как то??
Никак. Но можно задать требуемое кол-во знаков после точки. Если сказать
C
1
printf("%f", n);
будет выводиться 6 знаков
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 12:47
Привет! Вот еще темы с ответами:

Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 - C++
Составил задачу которая только увеличивает на один ну тое сть выводит:1,2,3,4,...n Пытаюсь изменить чтоб выводило квадрат и тут...

Напишите программу на языке С++, которая сравнивает 2 числа и выводит на экран наибольшее из них, если числа равны - C++
которая сравнивает 2 числа и выводит на экран наибольшее из них, если числа равны, выдается соответствующее сообщение

Напишите программа, которая вводит два целых числа и выводит на экран остаток от деления первого числа на втор - C++
1.Напишите программа, которая вводит два целых числа и выводит на экран остаток от деления первого числа на второе. Ввод 10 4 11...

Программа не выводит на экран содержимое файла - C++
Разрабатываю программу, в которой нужно ввести строку для шифрования, затем зашифровать эту строку (результат шифрования поместить в файл),...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.12.2012, 12:47
Ответ Создать тему
Опции темы

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