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

Тема в разделе "C/C++/C#", создана пользователем fructus-temporum, 22 сен 2013.

  1. fructus-temporum

    fructus-temporum New Member

    Регистрация:
    22 сен 2013
    Сообщения:
    1
    Симпатии:
    0
    есть программа

    #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 ==========


    помогите пожалуйста
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    это не ошибка, а предупреждение, можно игнорировать или загуглить (можно отключить этот вид предупреждений, а можно заменить scanf на какую-то функцию от микрософта {но код получится непереносимый})

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

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

Поделиться этой страницей