Форум программистов, компьютерный форум, киберфорум С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
1 / 1 / 0
Регистрация: 28.04.2019
Сообщений: 32
1

Проблемы с atof

03.07.2019, 23:44. Показов 3347. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Значит, если я ввожу значения в переменные с дробной частью, то после конвертирования из char в double сохраняется только целая часть. Не подскажите, в чем может быть проблемы?
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
26
27
28
29
30
31
32
33
34
35
36
37
38
#define _CRT_SECURE_NO_WARNINGS
#include "pch.h"
#include <iostream>
#include <iomanip>
 
 
using namespace std;
 
 
double Function1(double x); //функция получения значения 1ой функции, данной в условии
double Function2(double x); //функция получения значения 2ой функции, данной в условии
double Function3(double x); //функция получения значения 3ой функции, данной в условии
int convTo(long v);
 
double a, b, c; //глобальные переменные a,b,c 
 
int main()
{
    char number[20]; //символьный массив для проверки правильности ввода чисел
    setlocale(LC_ALL, "Russian"); //получаем возможность использовать русские буквы в консоли
    cout << "Введите a:" << endl; //ввод переменных а,b,c
    cin >> number;
    if (strstr(number, ",") != NULL) { cout << "Ошибка: неверно введенное значение действительного числа - необходимо вводить число используя точку"; exit(0); };
    a = atof(number); //Проверяем переменные a,b,c на наличие , в записи. Если это происходит, то выводим сообщение об ошибке и прекращаем выполнение программы
    cout << "Введите b:" << endl;
    cin >> number;
    if (strstr(number, ",") != NULL) { cout << "Ошибка: неверно введенное значение действительного числа - необходимо вводить число используя точку"; exit(0); };
    b = atof(number);
    cout << "Введите c:" << endl;
    cin >> number;
    if (strstr(number, ",") != NULL) { cout << "Ошибка: неверно введенное значение действительного числа - необходимо вводить число используя точку"; exit(0); };
    c = atof(number);
 
    double xmin, xmax, dx; //переменные обозначающие мин. значение x, макс. значение x и шаг x соответсвенно
    cout << "Введите xmin:" << endl; //ввод xmin, xmax, dx
    cin >> number;
    if (strstr(number, ",") != NULL) { cout << "Ошибка: неверно введенное значение действительного числа - необходимо вводить число используя точку"; exit(0); };
    xmin = atof(number);//Проверяем переменные a,b,c на наличие , в записи. Если это происходит, то выводим сообщение об ошибке и прекращаем выполнение программы
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2019, 23:44
Ответы с готовыми решениями:

atof и atoi
Помогите пожалуйста, разобратся что такое atof, atoi, как работает, что делает?

Atof и массив
Как мне преобразовать числа string в double и при этом занести их в массив?

Atoi, atof.
Подскажите пожалуйста, как с помощью функций atoi, atof, проверить, является ли данное число действительным? Добавлено через 21 минуту...

5
Диссидент
Эксперт C
 Аватар для Байт
27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
03.07.2019, 23:58 2
eclerchig, Может быть ты отделяешь дробную часть запятой? Надо бы точкой.
1
1 / 1 / 0
Регистрация: 28.04.2019
Сообщений: 32
03.07.2019, 23:59  [ТС] 3
В том то и дело, что точкой ввожу ><
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12860 / 6725 / 1807
Регистрация: 18.10.2014
Сообщений: 17,025
04.07.2019, 00:02 4
Лучший ответ Сообщение было отмечено eclerchig как решение

Решение

Цитата Сообщение от eclerchig Посмотреть сообщение
Не подскажите, в чем может быть проблемы?
В том, что в выбранной вами локали для отделения целой части от дробной используется не тот символ, который использовали вы. Либо точка вместо запятой, либо запятая вместо точки.
1
1 / 1 / 0
Регистрация: 28.04.2019
Сообщений: 32
04.07.2019, 06:13  [ТС] 5
Как такое могло произойти?
0
Злостный нарушитель
 Аватар для Verevkin
9789 / 5332 / 1211
Регистрация: 12.03.2015
Сообщений: 25,021
04.07.2019, 08:24 6
Лучший ответ Сообщение было отмечено eclerchig как решение

Решение

Цитата Сообщение от eclerchig Посмотреть сообщение
Как такое могло произойти?
По умолчанию.

Проблемы с atof
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.07.2019, 08:24
Помогаю со студенческими работами здесь

atof округляет число
Здравствуйте, мне необходимо считать коэффициенты из текстового файла и обработать их, проблема возникла при преобразовании символов в...

Функции atoi и atof
Здравствуйте, пишу парсер для файла определенного формата (фактически лексический и синтаксический анализаторы), так вот среди данных...

Atof() и символ разделения
пишу в вижле есть char buff; из файла считываю и приравниваю к значению fin &gt;&gt; buff; далее надо перевести чаровскую строку...

использование функции atof
требуется в качестве параметра на atof подавать не char* а string переменную(из библиотеки &lt;string&gt;) как это делается скажите...

X=atof(s.c_str()); - ошибка в Builder10
Здравствуйте ! Помогите, пожалуйста, чайнику. Проблема такая: Создаю учебный проект простого калькулятора. Обработчик щелчка по...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер