Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
#1

Значение введенное с клавиатуры присвоить в переменную - C++

04.01.2015, 14:02. Просмотров 1455. Ответов 16
Метки нет (Все метки)

Помогите пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include "stdio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    double z1, z2, a, b;
 
    scanf("%f",a); // указал , что собираюсь вводить целое число;
    printf("%f",a); // вывожу это целое число;
 
    getchar();
    return 0;
}
Ошибка 1 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. c:\users\Nick_60cm_dick\documents\visual studio 2013\projects\consoleapplication3\consoleapplication3\consoleapplication3.cpp 13 1 ConsoleApplication3

Добавлено через 2 минуты
Нету такого цензурного слова, чтобы описать мое впечатление о С++
на С# гораздо проще ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 14:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Значение введенное с клавиатуры присвоить в переменную (C++):

Присвоить переменной S определенное значение, если введенное число х лежит вне отрезков [2..5] и [-1..1]
. Не используя оператора if, присвоить переменной S значение 0, если введенное...

Изменить значение выражения введенное с клавиатуры
Здравствуйте, у меня имеется код char *p; p = (char *)malloc(100);...

Работа с Функциями (Создать переменную, присвоить случайное значение...)
Доброго всем времени суток =) У меня возникли некоторые вопросы при работе с...

Вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры
год поступления на работу. Написать программу, выполняющую следующие действия:...

Вычислить выражение, введенное с клавиатуры
Начали изучать класс string, получил задание, с клавиатуры вводиться...

Делится ли введенное с клавиатуры число на 5
Помогите решить третью задачу...Очень благодарна..Срочно Называйте темы...

16
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
04.01.2015, 14:08 #2
в самом начале программы надо добавить
#define _CRT_SECURE_NO_WARNINGS

Добавлено через 40 секунд
%f - это дробное число
0
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 14:11  [ТС] #3
Не помогло, все равно ошибка.
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
04.01.2015, 14:15 #4
Цитата Сообщение от Nelo_001 Посмотреть сообщение
ошибка.
оно не компилится?
и еще: к scanf надо давать адрес переменной

Добавлено через 1 минуту
так у меня работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include "stdio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    float z1, z2, a, b;
 
    scanf("%f",&a); // указал , что собираюсь вводить целое число;
    printf("%f",a); // вывожу это целое число;
 
    getchar();
    return 0;
}
0
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 14:20  [ТС] #5
Предупреждение 1 warning C4603: _CRT_SECURE_NO_WARNINGS: макрос не определен или определение изменилось после использования предкомпилированного заголовка c:\users\Nick_60cm_dick\documents\visual studio 2013\projects\consoleapplication3\consoleapplication3\consoleapplication3.cpp
и выбивает , что в этой строчке ошибки
C++
1
scanf("%f", &a); // указал , что собираюсь вводить целое число;
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
04.01.2015, 14:27 #6
Nelo_001, так оно запускается или нет?
0
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 14:31  [ТС] #7
нет он дает ошибку
Значение введенное с клавиатуры присвоить в переменную
Значение введенное с клавиатуры присвоить в переменную
0
ve1c0m
1 / 1 / 1
Регистрация: 30.10.2013
Сообщений: 17
04.01.2015, 14:33 #8
если пишешь в Visual Studio то попробуй вместо #include "stdio.h" --> #include <stdio.h> или #include <iostream>
и перед переменной "а" адрес "&"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <stdio.h> 
// или #include <iostream>
//#include <conio.h> для работы функции getch()
int _tmain(int argc, _TCHAR* argv[])
{
 
    double z1, z2, a, b;
 
    scanf("%f",&a); // указал , что собираюсь вводить целое число;
    printf("%f",a); // вывожу это целое число;
 
    getchar(); // getch(); в Visual Studio
    return 0;
}
и вместо double используй float, ато билиберду выводит
0
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 14:34  [ТС] #9
Когда я нажимаю на эту ошибку оно выбивает строчку с
C++
1
    scanf("%f", &a); // указал , что собираюсь вводить целое число;
0
ve1c0m
1 / 1 / 1
Регистрация: 30.10.2013
Сообщений: 17
04.01.2015, 15:02 #10
компилятор не видит функцию "scanf()", она не объявлена
ты просишь в scanf("%f", &a); ввести действидельное число, а переменные обозначил как действительные числа двойной точности "double", надо float.
попробуй этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h" 
#include <iostream> //или #include <stdio.h>
#include <conio.h>// для работы функции getch()
void main()
{
 
    float z1, z2, a, b;
 
    scanf("%f",&a); // указал , что собираюсь вводить целое число;
    printf("%f",a); // вывожу это целое число;
 
    getch();//задержка экрана
}
0
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 17:42  [ТС] #11
Думал проблема только у одного меня,запустил еще на 3 коммпах, все тоже самое ....
______________
Ошибка 1 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. c:\users\Nick_60cm_dick\documents\visual studio 2013\projects\consoleapplication4\consoleapplication4\consoleapplication4.cpp 9 1 ConsoleApplication4

Добавлено через 3 минуты
я в ахуе, в с++ вообще можно цифру с клавы присвоить в переменную ?
____________
я бляха вспомнил как на асемблере, паскале и С# вывести ! А тут , что за @!#ня ?!?!?
0
zss
Модератор
Эксперт С++
6950 / 6512 / 4133
Регистрация: 18.12.2011
Сообщений: 17,173
Завершенные тесты: 1
04.01.2015, 18:01 #12
Лучший ответ Сообщение было отмечено Nelo_001 как решение

Решение

Микрософтовский компилятор не любит функцию scanf и предлагает либо заменить ее на scanf_s:
C++
1
scanf_s("%f",&a);
Либо добавить в самое начало
C++
1
#define _CRT_SECURE_NO_WARNINGS
А вообще цитата из анекдота:
"Учите ребята Английский - ТАМ здорово бьют за незнание..."
1
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 18:58  [ТС] #13
Браво ! Спасибо !
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    float z1, z2, a, b;
 
 
    scanf_s("%f", &a);
    printf("%f", a);
 
    _getch();
    return 0;
}
Добавлено через 20 минут
Пока тему не закрыли помогите еще в одной мелочи, вот тут не понятная фишка , оно не считает с клавы 2 значение( тоесть введите а //ввел , затем оно не просит ввести б ), а если убрать 1 валуе и 2 валуе , то все норм считает, в чем прикол ?

C++
1
2
scanf_s("1 Value =%f", &a);
scanf_s("2 Value =%f", &b);
0
ve1c0m
1 / 1 / 1
Регистрация: 30.10.2013
Сообщений: 17
04.01.2015, 19:23 #14
Лучший ответ Сообщение было отмечено Nelo_001 как решение

Решение

вот ты мне скажи, как функция scanf_s может вывести текст на экран, если эта функция для этого не предназначена ? для этого есть фу-я printf
тут надо типа так:
C++
1
2
3
4
printf("1 Value = ");
scanf_s("%f",&a);
printf("2 Value = ");
scanf_s("%f",&b);
ну с кем не бывает...
1
Nelo_001
4 / 6 / 6
Регистрация: 31.10.2013
Сообщений: 177
04.01.2015, 19:47  [ТС] #15
Я с C# перехожу , дико не удобно и не привычно , тоже самое , что с BMW пересесть в Увазик
0
ve1c0m
1 / 1 / 1
Регистрация: 30.10.2013
Сообщений: 17
04.01.2015, 21:02 #16
А я сейчас буду переходить на C#, контрольную писать надо)
дико как и ты в С++ не представляю как и что там. Будем помогать друг другу
0
tnk500
114 / 118 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
Завершенные тесты: 3
04.01.2015, 21:36 #17
Nelo_001, знаю, что уже ответили, но на будущее. В С++ в функции scanf() при вводе числа типа double спецификатор должен быть %lf. То есть
C++
1
scanf("%lf", &a);
И амперсанд (&) обязателен.
А в printf() можно и f, и lf юзать.
0
04.01.2015, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 21:36
Привет! Вот еще темы с решениями:

Определить, является ли введенное значение года високосным, если введено корректное значение
Определить, является ли введенное значение года високосным, если введено...

Определить, находится ли в массиве введенное с клавиатуры число
Написать программу которая проверяет находится в массиве введенное с клавиатуры...

Проверить, является ли введенное с клавиатуры число простым
помогите составить программу в С++ с использованием цикла for Составить...

Найти предложения, содержащие введенное с клавиатуры слово
Помогите написать программу : написать программу, которая считывает текст с...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru