Интересно почему сразу заканчивается выполнение программы при попытке ввода дробных чисел с точкой, а не с запятой, хотя в самом коде используются точки? Не оставляю кода потому что считаю это бессмысленно? Кто-то может мне разъяснить этот вопрос?
Отслеживать
33.6k 24 24 золотых знака 129 129 серебряных знаков 217 217 бронзовых знаков
задан 11 апр 2013 в 0:27
Stee1House Stee1House
557 4 4 золотых знака 13 13 серебряных знаков 30 30 бронзовых знаков
Не могу воспроизвести, давайте код.
11 апр 2013 в 7:34
11 апр 2013 в 8:19
Он при этом ругается? как? скорее всего перед затрытием он пишет в консоль ошибку, но Вы ее не видите, так как консоль сразу закрывается. Попробуйте запустить через командную строку.
11 апр 2013 в 8:25
Просто для изучения программирования в Linux, нужно знать Linux, у меня пока времени на изучения OS нету.
11 апр 2013 в 10:53
>Просто для изучения программирования в Linux, нужно знать Linux Совершенно не обязательно. Просто программирование в Linux вынуждает быть внимательней к мелочам и стандартам.
Десятичные знаки в Excel. Автоматическая установка запятой
11 апр 2013 в 11:05
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
На самом деле многие библиотечные функции используют текущую локаль. В частности, от текущей локали зависит, какой разделитель целой и дробной части ожидают увидеть функции. При запуске программа наследует системную локаль, похоже в вашем случае это русская локаль. В качестве демонстрации приведу программу:
#include #include #include #include void test(const char* str) < printf(«%s =>», str); char* endptr; double num = strtod(str, // Checking if whole string parsed if (endptr != str + strlen(str)) < printf(«ERROR»); >else < printf(«%lf», num); >printf(«n»); > void locale_info() < printf(«Current locale: %sn», setlocale(LC_NUMERIC, NULL)); printf(«Current delimiter: ‘%s’n», localeconv()->decimal_point); > int main()
У меня программа выводит:
Current locale: en_US.utf8 Current delimiter: ‘.’ 10.5 => 10.500000 10,5 => ERROR Current locale: ru_RU.utf8 Current delimiter: ‘,’ 10.5 => ERROR 10,5 => 10,500000
Видно, что в зависимости от локали, программа по разному интерпретирует одни и те же данные. Чтобы избежать таких неожиданностей, можно при запуске программы устанавливать стандартную локаль для числовых данных:
setlocale(LC_NUMERIC, «C»);
Источник: ru.stackoverflow.com
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
Замена точек запятыми (системно)
для х, изменяющегося с шагом 0,2 на интервале [-2;2]. Построить график функции.
2. Составить таблицу значений функции:
для х, изменяющегося с шагом 0,1 на интервале [-3;3]. Построить график функции.
3. Составить таблицу расчета оплаты за аренду помещения в зависимости от площади помещения; если арендуется меньше 100 м 2 площади, то арендная плата составляет 200 руб. за 1 м 2 ; если арендуемая площадь больше чем 100 м 2 , но не превышает 200 м 2 , то арендная плата составляет 180 руб. за 1 м 2 .
4. Составить таблицу зависимости значения координаты и скорости движения тела, брошенного вертикально вверх с начальной скоростью, от величины начальной скорости для интервала скоростей от 1 м/с до 30 м/с. Шаг изменения начальной скорости 2 м/с.
5. Составить таблицу расчета стоимости продуктовой потребительской корзины. Состав продуктов, входящих в корзину, и их стоимость определить самостоятельно. Построить диаграмму, отражающую долю стоимости каждого продукта в общей сумме расходов.
6. Составить таблицу — шаблон счета оплаты за электроэнергию с учетом льгот для некоторых категорий потребителей (например, 50% от величины тарифа оплачивают потребители в сельской местности).
7. Составить таблицу — список кандидатов в депутаты муниципального органа управления с результатами опроса избирателей о поддержке кандидатов. Построить гистограмму рейтинга популярности кандидатов. Отсортировать список по убыванию рейтинга.
8. Составить таблицу — список группы учащихся с результатами экзамена по информатике. Определить средний балл успеваемости группы по информатике. Используя фильтр, вывести список учащихся, получивших на экзамене «4» и «5».
9. Создать макрокоманду, которая вставляет новый лист, создает на нем таблицу из 20 первых членов арифметической прогрессии:2, 5, 8, 11, 14. и вычисляет среднее арифметическое значение этих членов прогрессии.
10. Изменить параметры настройки Excel, выключив отображение строки формул, горизонтальной полосы прокрутки, задав список ранее открывавшихся файлов не более 3 элементов, состав новой книги 2 листа, включив пересчет формул вручную перед сохранением таблицы.
Контрольные вопросы
1. Для решения каких задач предназначены табличные процессоры? Какие преимущества может дать обработка информации с помощью электронных таблиц по сравнению с обработкой вручную?
2. Опишите возможности современных табличных процессоров. В каких областях деятельности человека они могут использоваться?
3. Назовите наиболее распространенные табличные процессоры. Чем различаются они между собой?
4. Чем отличается производная информация от первичной, или исходной?
5. Что такое ячейка и как определяется ее положение в таблице? Какая ячейка называется активной и как она выделяется?
6. Что называется рабочей книгой в Excel? Каково отличие рабочей книги от листа?
7. Опишите способы запуска и способы завершения работы Microsoft Excel.
8. Перечислите все элементы окна документа Excel, совмещенного с окном приложения, и опишите их назначение.
9. Каково назначение строки формул, поля имени текущей ячейки?
10. Где расположена пустая кнопка для выделения всей таблицы?
11. Сравните и опишите общие и отличительные черты менюMicrosoft Word и Microsoft Excel.
12. Сравните и опишите общие и отличительные черты панелей инструментов Microsoft Word и Microsoft Excel.
13. Опишите назначение команд Вид — Строка формул и Вид -Строка состояния. Как иначе можно выполнить функции этих команд?
14. Какую информацию выдает Excel в строке состояния?
15. Как включить и выключить изображение сетки в окне документа Excel?
16. Опишите процесс перемещения по рабочим листам файла.XLS. Как активизировать конкретный рабочий лист? Исследуйте и опишите два способа разбиения окна рабочего листа на подокна.
17. Как вывести на экран панель инструментов Рисование?
18. Перечислите все способы ссылки на ячейку и на диапазон ячеек.
19. Что такое относительный адрес ячейки? Можно ли изменить формат относительного адреса ячейки? Если да, то как это можно сделать?
20. Как указать абсолютный адрес ячейки? В каких случаях необходимо использовать абсолютный адрес?
21. Для чего используются имена ячеек (диапазонов)? Какие символы могут входить в имя ячейки?
22. Опишите способы изменения высоты строки и ширины столбца таблицы.
23. Назовите основные виды информации, используемые в электронных таблицах. По каким признакам Excel отличает число от текста, текст от функции?
24. Как будет воспринято программой число, в котором разделителем дробной части вместо точки поставлена запятая: как ошибка, как алфавитная информация или как формула?
25. Как ввести данные в ячейку таблицы? Какими способами фиксируется их значение в ячейке? Как отредактировать данные в ячейке?
26. Проведите сравнительный анализ возможностей форматирования текста в Word и Excel.
27. Что такое функция? Что такое Мастер функций и какие способы его запуска вы знаете?
28. В какой последовательности выполняются операции в арифметическом выражении?
29. Как следует записывать аргумент тригонометрической функции, если он записан в градусах?
30. В каких случаях применяются логические функции? Чем отличается функция ЕСЛИ от остальных функций?
31. Составьте примеры случаев, в которых необходимо использовать функцию ЕСЛИ и логические функции И, ИЛИ. Чем отличаются функции И и ИЛИ от функции ЕСЛИ? В каком формате записываются функции И, ИЛИ, ЕСЛИ?
32. При делении на нуль программа выдает сообщение об ошибке. Какой функцией можно воспользоваться, чтобы исключить появление такого сообщения? Запишите пример формулы.
33. Как с помощью мыши упростить ручной набор формулы? Как увидеть формулу, записанную в ячейку? Как сделать так, чтобы в ячейке отображался не результат вычислений по формуле, а сама формула?
34. Как установить (изменить) точность отображения числа и результата вычислений?
35. Зачем копируются формулы? Опишите способы копирования формул.
36. Каково назначение диаграмм? Опишите отличительные черты диаграмм различного типа.
37. Как выполнить обмен данными между Excel и другими приложениями Microsoft (например, Word)?
38. Что такое списки? Приведите примеры данных, организованных в списки. Какие операции обработки списков имеются в Excel?
39. Зачем применяется фильтр при обработке списков? Как задать фильтр? Как вернуться к исходному полному списку данных?
40. Опишите назначение и порядок выполнения сортировки списков.
41. С какой целью выполняются изменения конфигурации Excel? Каковы возможности изменения конфигурации Excel?
42. Что такое шаблон? Опишите порядок создания и использования шаблонов в Excel.
43. Что такое макрокоманда? Какими способами можно создать макрос?
44. Зачем в Excel включен язык программирования Visual Basic for Applications?
Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр.
Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений.
Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета.
Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где.
Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов.
Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века.
Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании.
БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани.
Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности.
ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных — рыб и амфибий.
Источник: studopedia.info
Как Excel воспринимает данные?
ТЕКСТ И ФОРМУЛЫ
Любой произвольный набор символов, если он не представляет собой число или дату, будет воспринят как текст: « привет », « 12 штук ».
Если данных в ячейке начинаются со знака =, -, + — Excel попытается вычислить выражение, следующее за знаком, т.к. посчитает это формулой.
ЧИСЛА, ПРОЦЕНТЫ, ДАТА, ВРЕМЯ
- ЧИСЛА
Для представления чисел в Excel используется 15 цифр. Если введено число длиной более 15 цифр (как до, так и после десятичной запятой), Excel сохранит его с точностью до 15 цифр, заменив оставшиеся разряды нулями. Например, если в ячейку с общим или числовым форматом ввести число: 123456789123456 789 , то последние три цифры(789) будут заменены на нули: 123456789123456 000 .
Очень большие числа автоматически представляются в экспоненциальном формате: 1,2Е+19 = 1,2*1019 или 1,2Е-19 = 1,2*10-19 . Наибольшее положительное число 9,9Е+307 ; наименьшее положительное число 1 Е-307 (числа, большие 9,9Е+307 становятся текстом, меньшие 1Е-307 – нулем)
Для определения целой и дробной частей чисел используется разделитель: в российском языковом стандарте это запятая; в английском – точка
Возможность Excel работать только с числами не более 15-ти знаков и такого числа разрядов после запятой порождает некоторые недопонимания в расчетах со стороны пользователей: Excel неправильно считает. Почему? - ПРОЦЕНТЫ
Главное здесь помнить, что 100% это по сути 1. Отсюда вывод — проценты это те же числа, только при вводе в ячейку значения со знаком процента(%) Excel сам автоматом делит введенное число на 100 и присваивает формат «Процентный», который визуально уже обратно умножает на 100. Но это только виртуальное умножение, на самом деле в ячейке хранится уже поделенное число. Т.е. если мы введем в ячейку значение 20%, то Excel запомнит его как значение 0,2 и применит процентный формат. И дальнейшие расчеты будут вестись именно со значением 0,2. - ДАТА
Дата для Excel это тоже число, только представленное иным форматом.
В Excel отсчет даты и времени начинается с 01.01.1900 . Для компьютеров под управлением Macintosh в Excel отсчет начинается с 02.01.1904 . Для корректной совместимости с такими компьютерами в Excel предусмотрена возможность включения исчисления дат 1904: Файл→ Параметры→ Дополнительно→ Использовать систему дат 1904 (File→ Options→ Advanced→ Use 1904 date system) .
Если в ячейку ввести число 43587 и присвоить этой ячейке формат Даты — «ДД.ММ.ГГГГ» (правая кнопка мыши по ячейке→ Формат ячеек→ вкладка Число→ Дата (Format Cells→ вкладка Number→ Date) ), то в ячейке будет отображено 02.05.2019 . Т.е. 43587 в переводе на дату равно 02.05.2019 .
43587 — это количество дней, прошедших с даты 01.01.1900 . Следовательно 1 — это одни целые сутки. - ВРЕМЯ
Т.к. целые числа для Excel это даты, то логично предположить, что дробная часть чисел будет восприниматься как время. Например, 0,5 = 12:00 , а 0,124 — 2:58:34 .
Следовательно, если записать в ячейку 43587,124 и назначить формат «ДД.ММ.ГГГГ чч:мм:сс» , то в перевод на дату/время это будет — 02.05.2019 2:58:34 . По умолчанию, если количество часов больше 23, введенное время преобразуется в формат «дата время». Например, 24:12:15 автоматом будет отражено как 01.01.1900 0:12:15
Чтобы увидеть сумму часов, а не дата+время, необходимо для ячейки установить формат «[ч]:мм:сс» (ч в квадратных скобках [ч] говорит Excel, что необходимо отображать суммарно часы, а не превращать их в дни) Именно такое хранение Excel-ем дат и времени дает нам возможность производить с датами и временем математические операции. Например, можно узнать, какая дата будет через 7 дней:
= A1 +7
где в A1 записана текущая дата =СЕГОДНЯ()
Или объединить ячейки с датой и временем так, чтобы получилась одна ячейка в формате даты-времени. Например, в столбце А у нас записаны даты, а в столбце B — время. И необходимо в столбце С получить дату и время вместе. Использовать для этого текстовые функции(вроде СЦЕПИТЬ (CONCATENATE) или амперсанда(Отчет по магазину за «числа»( 2.1 , 5.10 и т.п.). Они уже в момент открытия в большинстве случаев будут преобразованы в даты и менять формат ячеек уже поздно. Но можно попробовать схитрить и установить на время открытия таких файлов разделитель целой и дробной части — точка. Сделать это можно через Параметры:- Excel 2003: меню Сервис -Параметры. -вкладка Международные
- Excel 2007: Кнопка Офис -Параметры (Excel Options) -Дополнительно (Advanced)
- Excel 2010 и выше: Файл (File) -Параметры (Options) -Дополнительно (Advanced)
Снять галку с «Использовать системные разделители (Use system separators) » и установить в полях ниже свои. Как правило помогает установка в качестве разделителя целой и дробной части (decimal separator) точки вместо запятой.
Статья помогла? Сделай твит, поделись ссылкой с друзьями!
Супер! Спасибо большое. Все оказывается так просто.
Спасибо!!Очень полезная штука!!
А как быть, если данные вставляются в таблицу методом Copy-Paste, да к тому же из другого приложения?
Мне ничего не помогает. Так данные 2.5 Excel 2007 воспринимает только как дату, изменяя формат ячейки и записывая 02.май, а при повторном изменении формата на текстовый изменяет значение на 41031Михаил, внимательно прочитайте пару последних абзацев статьи — там описывается этот случай. Сначала измените формат ячеек на Текстовый, а затем вставляйте данные через Специальную вставку и формат не будет изменяться автоматом.
При использовании ссылки на ячейку с датой в формуле СЦЕПИТЬ — результат выдает в числовом формате даты. Ведь мне необходимо чтобы в итоге получалась текстовая строка с датой а не числом.
Вопрос мало отношения имеет к теме. СЦЕПИТЬ всегда возвращает результатом текст. Следовательно у Вас в ячейке получается текст, хоть и выглядит как число. А вообще Ваш вопрос малоинформативен.
Источник: www.excel-vba.ru