Найдите Ошибку

22.09.2013
1
0
#1
есть программа

#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <locale.h>

int main()
{
setlocale(LC_ALL, "Russian");
float x, a, b, c, i, y;

printf("Введите значение x = ");
scanf("%f", &x);

printf("Введите значение a = ");
scanf("%f", &a);

printf("Введите значение b = ");
scanf("%f", &:);

printf("Введите значение c = ");
scanf("%f", &c);

printf("Введите значение i = ");
scanf("%f", &i);

if ((b == 3) && (x > 1.2) && (c == 1.3)) {
if (a == 2) {
y = (b*x + a*x*x) / (exp(x) + a*x);
} else if (a < 2) {
y = pow(a*x, 1.5) + pow(b*x, 1.5) + c;
} else if (a > 2) {
y = a*pow(x, 3) + c*x;
}
} else {
if (((x >= 0) && (x < 1)) && (a == 0.4)) {
y = cos(x) / sqrt(1 + a*a + sin(x)*sin(x));
} else if ((i < 10)
&& (a == 2.1)
&& (b == 0.3)
&& (x > 7)
&& (x < 12)) {
y = a*pow(i, 4) + b*i;
}
}
printf("При x = %1.1f, a = %1.1f, b = %1.1f, c = %1.1f, i = %1.1f y = %1.1f\n",
x, a, b, c, i, y);
getch();
return 0;
}



выдает ошибки

1>------ Перестроение всех файлов начато: проект: 6, Конфигурация: Debug Win32 ------
1>Удаление промежуточных и выходных файлов проекта "6", конфигурации "Debug|Win32"
1>Компиляция...
1>stdafx.cpp
1>Компиляция...
1>AssemblyInfo.cpp
1>6.cpp
1>.\6.cpp(15) : warning 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)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
1>.\6.cpp(18) : warning 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)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
1>.\6.cpp(21) : warning 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)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
1>.\6.cpp(24) : warning 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)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
1>.\6.cpp(27) : warning 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)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
1>.\6.cpp(33) : error C2666: pow: для 6 перегрузок есть подобные преобразования
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(575): может быть 'long double pow(long double,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(573): или 'long double pow(long double,long double)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(527): или 'float pow(float,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(525): или 'float pow(float,float)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(489): или 'double pow(double,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(123): или 'double pow(double,double)'
1> при попытке сопоставить список аргументов '(float, double)'
1>.\6.cpp(33) : error C2666: pow: для 6 перегрузок есть подобные преобразования
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(575): может быть 'long double pow(long double,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(573): или 'long double pow(long double,long double)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(527): или 'float pow(float,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(525): или 'float pow(float,float)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(489): или 'double pow(double,int)'
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\math.h(123): или 'double pow(double,double)'
1> при попытке сопоставить список аргументов '(float, double)'
1>Создание кода...
1>Журнал построения был сохранен в "file://c:\Users\Светлана\Documents\Visual Studio 2008\Projects\6\6\Debug\BuildLog.ht m"
1>6 - ошибок 2, предупреждений 5
========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========


помогите пожалуйста
 
R

rrrFer

#2
1> C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\stdio.h(306): см. объявление 'scanf'
это не ошибка, а предупреждение, можно игнорировать или загуглить (можно отключить этот вид предупреждений, а можно заменить scanf на какую-то функцию от микрософта {но код получится непереносимый})

ошибка тут:
>.\6.cpp(33) : error C2666: pow: для 6 перегрузок есть подобные преобразования
и тут:
1>.\6.cpp(33) : error C2666: pow: для 6 перегрузок есть подобные преобразования
написано что ошибка в 33 строке файла 6.cpp, что это за строка? - мне лень считать, напиши ее отдельно (а мог бы и сразу это сделать).

Но суть ошибки в том, что ты неправильно pow используешь (пихаешь в нее то, что нельзя).