Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2011, 17:14   #1
Cristll
Новичок
Джуниор
 
Регистрация: 19.01.2011
Сообщений: 5
По умолчанию Элементарная прога. Не компилиться. Где напортачил?

Здрасьте, господа в джинсах и потёртых свитрах
В общем задали в универе написать программу для решения уравнения. В C++ я не силён, можно сказать знаю на уровне юзера.
в общем, прошу шарящих господ проверить и наставить на путь истинный

Код:
#include <iostream>
#include <iomanip>
#include <math>
#include <stdio>

using namespace std;

void main()
{
float x,y,z;
 for(int i=0; i<3; i++)
  { cout<<"Vvedite x=";
    cin>>x;
    cout<<"Vvedite y=";
    cin>>y;
    z=(pow(fabs(x*x/2-pow(sin(x*x*x),2)),1.0/3)*log(fabs(x))/log(2.5)-pow(10,cos(y)))/(pow(2,x-y)*sqrt(fabs(x+2.5*fabs(tan(y)))));
    cout<<"Pri x="<<x<<"y="<<y<<endl;
    cout.setf(ios::scientific,ios::floatfield);
    cout<<"Resultat z="<<setprecision(4)<<z<<endl<<endl;
    cout.setf(0,ios::floatfield);
  }
 cout<<"Konec programmi. Nazmi Enter"<<endl;
 getchar();
}

Последний раз редактировалось Cristll; 19.01.2011 в 18:16.
Cristll вне форума Ответить с цитированием
Старый 19.01.2011, 17:23   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

cin, cout, pow и проч. находятся в пространстве имён std. Так как программа учебная, можно просто добавить using namespace std перед телом главной функции.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 19.01.2011, 17:35   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

и забейте вы уже на stdio с его getchar
используйте cin.get()
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.01.2011, 18:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
просто добавить using namespace std перед телом главной функции.
Дык вроде есть в коде...
Цитата:
и забейте вы уже на stdio с его getchar
А почему? Неплохая функция.

По поводу темы: Я уточнил компилятору
Код:
z=(pow((double)
И добавил
Код:
getchar();getchar();
ато cin не очищал из буфера ввода введенный энтер...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.01.2011, 18:07   #5
Cristll
Новичок
Джуниор
 
Регистрация: 19.01.2011
Сообщений: 5
По умолчанию

поправил. все равно не компилиться
пишет ошибки в 16, 17, 9, 15, 19 строке
Cristll вне форума Ответить с цитированием
Старый 19.01.2011, 18:12   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и забейте вы уже на stdio с его getchar
используйте cin.get()
забейте вы уже на cin.get(), getchar() и любой другой костыль, чтобы "затормозить" работу программы. не запускайте в режиме отладки, вот и все
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 19.01.2011, 18:47   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
забейте вы уже на cin.get(), getchar() и любой другой костыль, чтобы "затормозить" работу программы. не запускайте в режиме отладки, вот и все
ну это да
я именно про getchar говорил.
сам не ставлю в конце паузы, благо консоль предпологает что программа ждет ввода именно тогда когда он ей нужен(искл Pause).
писал пару раз консольные проги
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.01.2011, 18:51   #8
Cristll
Новичок
Джуниор
 
Регистрация: 19.01.2011
Сообщений: 5
По умолчанию

эй, парни, я все еще тут и все еще у меня беда
Cristll вне форума Ответить с цитированием
Старый 19.01.2011, 19:16   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

эй, парень, если не компилится компилятор говорит что за ошибки и где она! где вывод?
p51x вне форума Ответить с цитированием
Старый 19.01.2011, 19:44   #10
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
По поводу темы: Я уточнил компилятору
Код:
z=(pow((double)
Не надо использовать приведение типов C в коде на C++, это плохой тон. Используйте static_cast.
http://google-styleguide.googlecode....de.xml#Casting
http://stackoverflow.com/questions/3...-syntax-styles (1й ответ)

Не поленился распарсить код... итак...
Код:
#include <math>
Не существует math, есть cmath. Это библиотека из C. Портированная на C++ версия носит название cmath.
http://ru.wikipedia.org/wiki/Math.h

Код:
void main()
По стандартам должно быть int main(). Это касается и C, кстати сказать.
http://www2.research.att.com/~bs/bs_faq2.html#void-main

Последняя ошибка выглядит как
Код:
./main.cpp:19:37: error: invalid conversion from 'int' to 'std::ios_base::fmtflags'
./main.cpp:19:37: error:   initializing argument 1 of 'std::ios_base::fmtflags std::ios_base::setf(std::ios_base::fmtflags, std::ios_base::fmtflags)'
и касается строки
Код:
cout.setf(0, ios::floatfield);
Видимо, он не может преобразовать из нолика во флаг.

Да и что ты там с форматом вывода колуешь вообще? Зачем?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Stilet; 20.01.2011 в 08:37.
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что то напортачил GoRdoN 17 Общие вопросы C/C++ 6 16.12.2010 23:57
Не компилиться CodeNOT Общие вопросы C/C++ 5 14.11.2010 17:52
Не напортачил ли я? docbrain Компьютерное железо 6 13.05.2010 07:14
Не могу найти ошибку в коде!!! Прога элементарная!Помощ нужна! Fresh_MaN Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 11.04.2010 11:13