Пример из учебника не работает - 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) {
...

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


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

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

8   голосов , оценка 3.75 из 5
Похожие ответы