ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

17.04.2010, 02:03
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
unt main()
{
setlocale( 0, "Rus" );
int num1, num2;
cout << "Введите первое число\n";
cin >> num1;
cout << "Введите второе число\n";
cin >> num2;
cout << "Проведем простейший анализ файла\n";
if (num1 == num2)
cout << num1 << " Равно " << num2 << endl;
if (num1 != num2)
cout << num1 << " не равно " << num2 << endl;
if (num1 < num2)
cout << num1 << " меньше " << num2 << endl;
if (num1 > num2)
cout << num1 << " больше " << num2 << endl;
cout << "Сумма этих чисел равна :\n" << num1 + num2 << endl;
return 0;
}
if test.cpp(8) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "main"
1>if test.cpp(8) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>if test.cpp(9) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
И где можно прочитать про разницу старых книг и нового (измененого) синтаксиса языка?
|
|
|

17.04.2010, 02:05
|
|
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме: 188597
Репутация:
15
|
|
Сообщение от gold-goblin
Есть такой код
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
int integer1, integer2, sum;
cout << "введите первое число \n";
cin >> integer1;
cout << "Введите второе число \n";
cin >> integer2;
sum = integer1 + integer2;
cout <<"Сумма равна" << sum <<endl;
return 0;
}
Если integer1 приравнять (ввести) аски символ то вы полняются все строки кода кроме cin >> integer2;/
Sum в таком случае приравнивается к отрицательному числу.
В данном случае cin >> будет безошибочно считывать только цифровые символы, т.к. значение переменной, куда будет записан результат имеет тип int. Если же ввести например 123a, то integer1 будет равен 123, символ 'a' не учтется. При этом также будет установлен бит ошибки (failbit) и следовательно выражение cin >> integer2; не выполнится, так как установлен один из битов состояния потока (cin). Отрицательное или некорректное значение в sum при неправильном вводе получается из-за того, что локальные переменные при создании не обнуляются.
|
|
|

17.04.2010, 02:06
|
|
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
Провел на форуме: 2066562
Репутация:
86
|
|
|
|
|

17.04.2010, 02:07
|
|
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме: 188597
Репутация:
15
|
|
Сообщение от gold-goblin
Код:
#include "stdafx.h"
#include <iostream>
using namespace std;
unt main()
{
setlocale( 0, "Rus" );
int num1, num2;
cout << "Введите первое число\n";
cin >> num1;
cout << "Введите второе число\n";
cin >> num2;
cout << "Проведем простейший анализ файла\n";
if (num1 == num2)
cout << num1 << " Равно " << num2 << endl;
if (num1 != num2)
cout << num1 << " не равно " << num2 << endl;
if (num1 < num2)
cout << num1 << " меньше " << num2 << endl;
if (num1 > num2)
cout << num1 << " больше " << num2 << endl;
cout << "Сумма этих чисел равна :\n" << num1 + num2 << endl;
return 0;
}
И где можно прочитать про разницу старых книг и нового (измененого) синтаксиса языка?
int main()
|
|
|

17.04.2010, 02:09
|
|
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме: 5265510
Репутация:
455
|
|
тфу спасибо, я описался =)
и спасибо за разяснение!
|
|
|

17.04.2010, 12:12
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
всем привет.народ,подскажите плиз,как на С++ возводить отрицательное число в степень.прост я знаю как это сделать только через ln, а с отрицательными эт не прокатывает
|
|
|

17.04.2010, 13:05
|
|
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме: 188597
Репутация:
15
|
|
Сообщение от qwert135
всем привет.народ,подскажите плиз,как на С++ возводить отрицательное число в степень.прост я знаю как это сделать только через ln, а с отрицательными эт не прокатывает
В math.h (cmath) есть функции pow и powl.
Или же нижеследующая функция (не учитывает переполнение):
Код:
int pow(int nNumber, unsigned int unP)
{
int nRes = 1;
if (nNumber != 0)
{
while (unP--)
nRes *= nNumber;
}
else
nRes = 0;
return nRes;
}
|
|
|

18.04.2010, 00:10
|
|
Познающий
Регистрация: 22.11.2009
Сообщений: 53
Провел на форуме: 33126
Репутация:
0
|
|
fluffylion, спасиб, но уже сам разобрался.Вопрос конечно не в тему, но может у кого учебник есть или сайт какой знаете, где описано нахождение экстремума функции методом двух касательных,насколько я понял это же метод Ньютона
|
|
|

19.04.2010, 15:43
|
|
Новичок
Регистрация: 14.05.2009
Сообщений: 12
Провел на форуме: 64945
Репутация:
0
|
|
У меня вопрос по Windows Form. В общем надо, что бы когда в одном текстбоксе пользователь вводил текст, и нажимал кнопку ОК, в другом текстбоксе появлялся этот самый текст. Подскажите пожалуйста.
|
|
|

19.04.2010, 16:55
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
во первых - это C++\CLR, в форум по дотнету.
во вторых - уверен, что это описано в любой книжке по дотнету, и в мсдне так же имеются примеры.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|