Пример из учебника не работает - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В общем записал код из учебника Стивен Прата - Язык программирования C. Лекции и упражнения (5-е издание) - 2013, чтоб посмотреть как он работает и т.д. а у меня выдаётся ошибка... вот программа :
Листинг программы
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main(void)
  4. {
  5. float weight;
  6. float value;
  7. system("chcp 1251>nul");
  8. printf("Хотите узнать свой родивой эквивалент?\n");
  9. printf("Дaвaйтe подсчитаем.\n");
  10. printf("Пожалуйста, введите свой вес, выраженный в фунтах : ");
  11. scanf("%f", &weight);
  12. value= 770.0*weight*14.5833;
  13. printf("Ваш родиевый эквивалент составляет $%.2f.\n", value);
  14. printf("Ешьте больше для поддержания своей стоимости.\n");
  15. return 0;
  16. }
а вот ошибка, которую выдаёт компилятор :
Листинг программы
  1. 1>------ Построение начато: проект: first2, Конфигурация: Debug Win32 ------
  2. 1> first2.c
  3. 1>d:\c-09.09.2014\first2\first2\first2.c(12): error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
  4. 1> c:\program files (x86)\vc\include\stdio.h(290): см. объявление "scanf"
  5. 1>d:\c-09.09.2014\first2\first2\first2.c(13): warning C4244: =: преобразование "double" в "float", возможна потеря данных
  6. ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Что тут не так? Из учебника же.. Помогите разобраться пожалуйста?
А разобрался вроде, оказывается нужно было использовать scanf_s, а не scanf, но почему же тогда в самом учебнике было именно так написано? непонятно.. Но только теперь на экране где нужно вводить цифры и потом нажимать соответственно Enter у меня в этот момент пропадает окошко (исчезает) если использовать в конце getchar() два раза, то нет, но в примере в данном же не используется getchar(), она там работает так. То есть нужно ввести какое-то число на экране нажать Enter и программа должна выдавать результат, а у меня окно пропадает..

Решение задачи: «Пример из учебника не работает»

textual
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. int main(void) {
  5. ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы