Пример из учебника не работает - C (СИ)
Формулировка задачи:
В общем записал код из учебника Стивен Прата - Язык программирования C. Лекции и упражнения (5-е издание) - 2013, чтоб посмотреть как он работает и т.д. а у меня выдаётся ошибка...
вот программа :
а вот ошибка, которую выдаёт компилятор :
Что тут не так? Из учебника же.. Помогите разобраться пожалуйста?
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
float weight;
float value;
system("chcp 1251>nul");
printf("Хотите узнать свой родивой эквивалент?\n");
printf("Дaвaйтe подсчитаем.\n");
printf("Пожалуйста, введите свой вес, выраженный в фунтах : ");
scanf("%f", &weight);
value= 770.0*weight*14.5833;
printf("Ваш родиевый эквивалент составляет $%.2f.\n", value);
printf("Ешьте больше для поддержания своей стоимости.\n");
return 0;
}1>------ Построение начато: проект: first2, Конфигурация: Debug Win32 ------ 1> first2.c 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. 1> c:\program files (x86)\vc\include\stdio.h(290): см. объявление "scanf" 1>d:\c-09.09.2014\first2\first2\first2.c(13): warning C4244: =: преобразование "double" в "float", возможна потеря данных ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
А разобрался вроде, оказывается нужно было использовать scanf_s, а не scanf, но почему же тогда в самом учебнике было именно так написано? непонятно.. Но только теперь на экране где нужно вводить цифры и потом нажимать соответственно Enter у меня в этот момент пропадает окошко (исчезает) если использовать в конце getchar() два раза, то нет, но в примере в данном же не используется getchar(), она там работает так. То есть нужно ввести какое-то число на экране нажать Enter и программа должна выдавать результат, а у меня окно пропадает..
Решение задачи: «Пример из учебника не работает»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(void) {
...