Форум программистов, компьютерный форум CyberForum.ru

Ошибка при компилировании. Язык Си - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
29.12.2013, 19:09     Ошибка при компилировании. Язык Си #1
Всем здравствуйте. Пишу следующую программу: дан массив из 15 элементов. Найти 3 самых больших элемента массива, являющиеся простыми числами (самый оптимальный вариант). Получилось следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include "Win32Project4.h"
#include "stdio.h"
#include "conio.h"
#include "stdlib"
 
#ifdef _DEBUG
#define N 10
#endif
void main()
 
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int A[N];
    int    i, max1, max2, max3;
    for (i = 0; i<N; i++)
        scanf("%d", &A[i]);
    max1 = -1; max2 = -1; max3 = -1;
    for (i = 1; i<N; i++)
    {
        if (A[i] > max1)
        { // новый max1 
            max3 = max2;
            max2 = max1;
            max1 = A[i];
        }
        else
        if (A[i] > max2)
        { // новый max2 
            max3 = max2;
            max2 = A[i];
        }
        else
        if (A[i] > max3) // новый max3 
            max3 = A[i];
    }
 
    printf("%d  %d  %d", max1, max2, max3);
}
k = 0;
for (i = 0; i<N; i++)
if (n % i == 0)
k++;
{
    return 0;
    getch();
}
В итоге мне Visual Studio 2013 Ultimate пишет следующее: "fatal error C1083: Не удается открыть файл включение: afx.h: No such file or directory".
Что означает эта ошибка. Гуглил, но решения проблемы данной не нашёл. Может быть само решение неверно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
30.12.2013, 17:10     Ошибка при компилировании. Язык Си #21
kulikow88, посмотрите какой тип пределен. Лично у меня так в шаблоне:
C++
1
int _tmain(int argc, _TCHAR* argv[])
Или замените на wchar_t
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
Заблокирован
30.12.2013, 17:13     Ошибка при компилировании. Язык Си #22
kulikow88, поменяйте
C++
1
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
на
C++
1
int main()
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
30.12.2013, 17:31  [ТС]     Ошибка при компилировании. Язык Си #23
Цитата Сообщение от Timur_CF Посмотреть сообщение
Когда программу создаешь отключи precompiled header!
Убрал. Выдаёт на выходе: "1>c:\users\владимир\documents\visual studio 2013\projects\consoleapplication5\consoleapplication5\consoleapplication5.cpp(14): error 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 12.0\vc\include\stdio.h(283): см. объявление "scanf""

Добавлено через 1 минуту
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
kulikow88, поменяйте
C++
1
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
на
C++
1
int main()
error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
Ev_Hyper
Заблокирован
30.12.2013, 18:10     Ошибка при компилировании. Язык Си #24
Создайте проект заново, и уберите галочку перед:
"Проверки жизненного цикла разработки безопасного ПО (SDL) "
Кстати у вас коде вот тут какая-та неразбериха:
C++
1
2
3
4
5
6
7
8
9
}
k = 0;
for (i = 0; i<N; i++)
if (n % i == 0)
k++;
{
    return 0;
    getch();
}
Добавлено через 1 минуту
без концовки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "stdafx.h"
 
#include "stdio.h"
#include "conio.h"
#include <stdlib.h>
 
#ifdef _DEBUG
#define N 10
#endif
//void main()
 
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int A[N];
    int    i, max1, max2, max3;
    for (i = 0; i<N; i++)
        scanf("%d", &A[i]);
    max1 = -1; max2 = -1; max3 = -1;
    for (i = 1; i<N; i++)
    {
        if (A[i] > max1)
        { // новый max1 
            max3 = max2;
            max2 = max1;
            max1 = A[i];
        }
        else
        if (A[i] > max2)
        { // новый max2 
            max3 = max2;
            max2 = A[i];
        }
        else
        if (A[i] > max3) // новый max3 
            max3 = A[i];
    }
 
    printf("%d  %d  %d", max1, max2, max3);
    return 0;
}
Timur_CF
39 / 39 / 3
Регистрация: 12.12.2013
Сообщений: 227
Записей в блоге: 1
30.12.2013, 18:19     Ошибка при компилировании. Язык Си #25
И вообще, зачем пользуешь С функции вместо С++? Cout и Cin вместо printf, scanf
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
30.12.2013, 21:17     Ошибка при компилировании. Язык Си #26
Цитата Сообщение от Timur_CF Посмотреть сообщение
И вообще, зачем пользуешь С функции вместо С++? Cout и Cin вместо printf, scanf
а что, использовать printf нельзя?
gromo
30.12.2013, 23:12
  #27

Не по теме:

о боХ, что здесь происходит

Timur_CF
39 / 39 / 3
Регистрация: 12.12.2013
Сообщений: 227
Записей в блоге: 1
31.12.2013, 12:22     Ошибка при компилировании. Язык Си #28
Можно, но ты вроде в форуме С++, а не С. printf и scanf - это C.
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
04.01.2014, 14:53  [ТС]     Ошибка при компилировании. Язык Си #29
На данный момент вылетает следующая ошибка: "warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS"

Добавлено через 8 минут
Это после установки Visual Studio 2010 Ultimate. Решил попробовать новую среду
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 15:20     Ошибка при компилировании. Язык Си #30
warning - это не error. Заморочки MS с небезопасными, по её мнению, функциями. Можно игнорировать.
Цитата Сообщение от kulikow88 Посмотреть сообщение
Это после установки Visual Studio 2010 Ultimate.
Хорошо, что 10-я, в следующих - это уже error.
Ev_Hyper
Заблокирован
04.01.2014, 16:17     Ошибка при компилировании. Язык Си #31
Цитата Сообщение от alsav22 Посмотреть сообщение
Хорошо, что 10-я, в следующих - это уже error.
в VS12 тоже варнинг
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 16:32     Ошибка при компилировании. Язык Си #32
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
в VS12 тоже варнинг
Не всегда: Ошибка в SCANF
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
04.01.2014, 19:15  [ТС]     Ошибка при компилировании. Язык Си #33
Хорошо, а что насчёт ошибки тогда? А именно следующей: "LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден".
Как файл может быть недопустимым или повреждённым?
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 19:16     Ошибка при компилировании. Язык Си #34
Ошибка 1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
Сбой при преобразовании в COFF: файл недопустим или поврежден
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
04.01.2014, 19:31  [ТС]     Ошибка при компилировании. Язык Си #35
Спасибо. После исправления данной ошибки, мне теперь выдаёт следующее, хотя вроде бы всё в программе прописано: "1>one.cpp(18): error C2065: N: необъявленный идентификатор
1>one.cpp(20): error C2065: N: необъявленный идентификатор
1>one.cpp(23): error C2065: N: необъявленный идентификатор".
Подскажите, как его нужно объявить? Может быть я что-то упустил?
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.01.2014, 19:39     Ошибка при компилировании. Язык Си #36
Release, наверное, собираете?

Добавлено через 59 секунд
Вот это:
C++
1
2
3
#ifdef _DEBUG
#define N 10
#endif
замените на это:
C++
1
const int N = 10;
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
05.01.2014, 11:42  [ТС]     Ошибка при компилировании. Язык Си #37
C:\Users\Владимир\Documents\Visual Studio 2010\Projects\one\Release\one.exe : fatal error LNK1120: 1 неразрешенных внешних элементов.

Подскажите, пожалуйста, как исправить?
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.01.2014, 12:35     Ошибка при компилировании. Язык Си #38
Цитата Сообщение от kulikow88 Посмотреть сообщение
Подскажите, пожалуйста, как исправить?
Что исправить? Код покажите. Это сделали?
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот это:
C++
1
2
3
#ifdef _DEBUG
#define N 10
#endif
замените на это:
C++
1
const int N = 10;
kulikow88
0 / 0 / 0
Регистрация: 28.12.2013
Сообщений: 31
05.01.2014, 12:38  [ТС]     Ошибка при компилировании. Язык Си #39
Цитата Сообщение от alsav22 Посмотреть сообщение
Что исправить? Код покажите. Это сделали?
Да, сделал.

Исходный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "stdafx.h"
#include "one.h"
#include "stdio.h"
#include "conio.h"
#include <stdlib.h>
 
const int N = 10;
//void main()
 
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int A[N];
    int    i, max1, max2, max3;
    for (i = 0; i<N; i++)
        scanf("%d", &A[i]);
    max1 = -1; max2 = -1; max3 = -1;
    for (i = 1; i<N; i++)
    {
        if (A[i] > max1)
        { // новый max1 
            max3 = max2;
            max2 = max1;
            max1 = A[i];
        }
        else
        if (A[i] > max2)
        { // новый max2 
            max3 = max2;
            max2 = A[i];
        }
        else
        if (A[i] > max3) // новый max3 
            max3 = A[i];
    }
    printf("%d  %d  %d", max1, max2, max3);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2014, 12:48     Ошибка при компилировании. Язык Си
Еще ссылки по теме:

Ошибка при компилировании Declaration terminated incorrectly C++
Ошибки при компилировании C++
C++ При компилировании выдается ошибка 'float fraction::numerator' is private
Ошибка при компилировании C++
Ошибка при компилировании C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.01.2014, 12:48     Ошибка при компилировании. Язык Си #40
Цитата Сообщение от kulikow88 Посмотреть сообщение
C:\Users\Владимир\Documents\Visual Studio 2010\Projects\one\Release\one.exe : fatal error LNK1120: 1 неразрешенных внешних элементов.
Полный текст ошибки покажите.

Добавлено через 1 минуту
Цитата Сообщение от kulikow88 Посмотреть сообщение
#include "one.h"
Это откуда взялось и что в нём?

Добавлено через 1 минуту
Тип проекта какой?
Yandex
Объявления
05.01.2014, 12:48     Ошибка при компилировании. Язык Си
Ответ Создать тему
Опции темы

Текущее время: 00:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru