![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
Мне нужно вычислить выражение в С++ 3.1
r=ch*3+(i+0.3)+(f+d)-12 где ch-char, i-int, f,d,r-float PHP код:
Но программа выдает: r = 615.299988 Null pointer assignment PS Я вот сомневаюсь что для f и d нужно было применять %d, но что если не оно %f ? Или где может быть ошибка. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]() Код:
Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
Поменял код формата на %f.
Код:
scanf : floating point formats not linked Abnormal program termination ______________________________ И не пойму зачем тогда вводить символьное значение в выражение. ![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]()
Я, вообще-то, хотел обратить ваше внимание не столько на то, что в качестве параметра можно передавать "%f", сколько на то, что неплохо бы в качестве второго параметра этой функции передавать адрес вашей переменной, а не саму переменную. Переменную типа int функция еще стерпела, но вот переменную типа float не смогла проглатить. В любом случае, если передавать не адрес, то последствия работы программы будут непредсказуемыми.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
Я не так давно начал изучать С++ и очень мало понял из того что вы написали, не могли бы вы указать где у меня ошибка и что нужно сделать.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
Сейчас заметил в своих лекциях что, в одном из примеров стояло ("%c",&ch)
Попробовал поставил везде & и вот что получил при вводе этих символов и цифр: t 6 7 8. r=357.299988 Только из за того что я ввожу первым символ, я не могу понять как программа высчитывает эту сумму. |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]() Цитата:
![]() Дело в том, что t - переменная типа char. Есть подозрения, что в арифметическом выражении участвует ее код. Программа работает правильно, я думаю. Cкорее всего код символа t есть 116. А вы уж сами посчитайте, правильно ли работает ваша программа. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
Как я понял если вводить a - английскую (97) но почему именно 97 ? И при изменении из a в b например, в ответе всегда меняется значение на 3.
Ну да ладно, это не столь важно, главное что вы помогли и на толкнули меня на ошибку, я уже аж сдался, но в ожидании ответа полистал конспект и на толкнулся. Спасибо, если тут как то можно поднять репутацию, то скажите как. |
![]() |
![]() |
![]() |
#9 | ||
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 23.05.2009
Сообщений: 21
|
![]()
И немного не по теме но все же, каким редактором можно открыть исходный код, чтобы видны были русские символы и можно было перенести в Майкрасофт ворд для распечатки.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
моульное выражение | )Игнат( | Общие вопросы Delphi | 1 | 25.08.2009 21:48 |
Логическое выражение | DaniyMilner | Общие вопросы C/C++ | 6 | 22.02.2009 19:14 |
регулярное выражение | XeN0N | Помощь студентам | 1 | 27.01.2009 15:14 |
Проверьте выражение | fosto | Помощь студентам | 2 | 15.12.2008 22:58 |
Строковое выражение | SeregaIRK | Общие вопросы C/C++ | 1 | 07.10.2008 19:20 |