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

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

Войти
Регистрация
Восстановить пароль
 
MilosedOFF
3 / 3 / 0
Регистрация: 13.06.2012
Сообщений: 50
#1

Программа выводит целое число, а надо дробное - C++

13.06.2012, 19:36. Просмотров 477. Ответов 0
Метки нет (Все метки)

Программа должна выводить среднее арифметическое введенной строки. При вводе чисел, арифметич. которых - целое число, все работает правильно, но при вводе, например чисел 5 и 6, выводится целое число, при чем округленное неправильно. Пробовал менять типы переменных, но не помогло. Может быть ошибка кроется в строке sum+=str1[i]-'0'; (я так и не понял зачем здесь - '0', но без него не работает).
P.S. Не очень хорошо знаком с языком C++. Эта одна из первых 10 моих прог на нем.
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
25
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
 
int String()
{
    string str1;
    getline(cin,str1);
    float lengths=str1.length();
    float sum=0;
    int i=0;
    while (i<=lengths)
    {
        if (str1[i]!=NULL) sum+=str1[i]-'0';
        i++;
    }
    float y=sum / lengths;
    return y;
}
 
void main()
{
    cout<<String()<<endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2012, 19:36     Программа выводит целое число, а надо дробное
Посмотрите здесь:

C++ Определить, целое число хранится в переменной, или дробное
На входе дробное число, которое надо преобразовать во float C++
Почему при выводе имею целое число, а не дробное C++
C++ Как разделить переменую типа double на целое и дробное число ?
C++ Программа при делении выдает целое значение а не дробное
C++ Разработать программу, которая заданное целое число от 1 до 1999 выводит на экран римскими цифрами
6. Написать программу, которая предлагает пользователю ввести сумму в гривнах (дробное число) и выводит по отдельности количество гривен и количество C++
C++ 7. Написать программу, которая предлагает пользователю ввести массу в тоннах (дробное число) и выводит по отдельности количество тонн, килограммов и г
Написать программу, которая принимает целое положительное число и выводит на экран: C++
Проверить, целое число или дробное C++
C++ Программа выводит лишнее число
C++ Вывести N-е полупростое число (программа постоянно выводит число 4; не могу понять в чем ошибка)

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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