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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 16:54   #1
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию Ошибка компиляции

Стоит задача ввести массив из 10 целых чисел из файла input.dat, умножить каждый элемент на 2 и вывести в столбик в файл output.dat

Вот код
Код:
#include <stdio.h>
#include <conio.h>
const int N = 10;
main()

{
	int i, A[N];
FILE *fp;
fp = fopen( "input.dat", "r" );
if (fp==NULL)
{ printf("Net file");
return 1;
}
for (i=0; i<N; i++)
	if (0==fscanf(fp, "%d", &A[i]) ) { printf("ne xvataet");
break;
}
fclose ( fp );
for (i=0; i<N; i++)
	A[i]=A[i]*2;
fp = fopen (" output.dat ", "w");
for (i=0; i<N; i++)
	fprintf (fp, "%d\n", A[i]);
fclose ( fp );
getch();
}

Но выдает ошибку: "отсутствует спецификатор типа - предполагается int." не могу понять, как исправить
sidestep вне форума Ответить с цитированием
Старый 16.02.2012, 17:56   #2
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

если поставить void main(void), то тогда он ругается на :
1>------ Построение начато: проект: massiv 2, Конфигурация: Debug Win32 ------
1> massiv 2.cpp
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\massiv 2\massiv 2\massiv 2.cpp(20): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(234): см. объявление "fopen"
1>c:\documents and settings\admin\мои документы\visual studio 2010\projects\massiv 2\massiv 2\massiv 2.cpp(23): error C2562: main: функция типа "void", возвращающая значение
1> c:\documents and settings\admin\мои документы\visual studio 2010\projects\massiv 2\massiv 2\massiv 2.cpp(15): см. объявление "main"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 =========




Или это возможно дело в компиляторе(MV C++ 2010)
sidestep вне форума Ответить с цитированием
Старый 16.02.2012, 18:19   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дело в вашем не знании языка.

и в том что не умеете читать и понимать ошибки.

Код:
#include <stdio.h>
#include <conio.h>
const int N = 10;

int main()
{
	int i, A[N];
FILE *fp;
fp = fopen( "input.dat", "r" );
if (fp==NULL)
{ printf("Net file");
return 1;
}
for (i=0; i<N; i++)
	if (0==fscanf(fp, "%d", &A[i]) ) { printf("ne xvataet");
break;
}
fclose ( fp );
for (i=0; i<N; i++)
	A[i]=A[i]*2;
fp = fopen (" output.dat ", "w");
for (i=0; i<N; i++)
	fprintf (fp, "%d\n", A[i]);
fclose ( fp );
getch();
}
дал тип результата функции main как положено.
а если поставить void до дело в return 1 было, так как функция не возвращающая ничего не может чтото возвращать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.02.2012, 18:19   #4
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

подправил
Цитата:
#include <stdio.h>
#include <conio.h>
const int N = 10;
int main()

{
int i, A[N];
FILE *fp;
fp = fopen( "input.dat", "r" );
if (fp==NULL)
{ printf("Net file");
getch();
return 1;
}
for (i=0; i<N; i++)
if (0==fscanf(fp, "%d", &A[i]) ) { printf("ne xvataet");
break;
}
fclose ( fp );
for (i=0; i<N; i++)
A[i]=A[i]*2;
fp = fopen (" output.dat ", "w");
for (i=0; i<N; i++)
fprintf (fp, "%d\n", A[i]);
fclose ( fp );
getch();
}
1. поставил int main() - почему это верно?
2. поставил getch() после
Цитата:
{ printf("Net file");
- верно или нет?
Этот кусок программы
Цитата:
fp = fopen( "input.dat", "r" );
if (fp==NULL)
{ printf("Net file");
getch();
return 1;
}
Смотрит есть ли файл данных, и если нет, то выходит по ошибки 1

вопрос: Где должен находиться мой файл, я его создал на рабочий стол первоначально и никуда не перемещал.


P.S. Изучать только начал, так что сильно просьба сильно не критиковать
sidestep вне форума Ответить с цитированием
Старый 16.02.2012, 18:28   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
1. поставил int main() - почему это верно?
любая функция должна иметь тип результата(или void как пустой тип)
естественно return должен возвращать значение согласно этому типу.
для текущего стандарта C++ правильно ставить int(в main)
Цитата:
.- верно или нет?
дело ваше, я лично не ставлю.
так как в режиме без отладки студия не закрывает консоль.
а в отладке можно бряк поставить в конце.
Цитата:
вопрос: Где должен находиться мой файл, я его создал на рабочий стол первоначально и никуда не перемещал.
в текущей директории.
по умолчанию это папка рядом с exe(правда не уверен что студия так же запускает, но уж думаю так)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.02.2012, 18:37   #6
sidestep
Пользователь
 
Регистрация: 14.09.2011
Сообщений: 93
По умолчанию

все получилось
спасибо за помощь!

Последний раз редактировалось sidestep; 16.02.2012 в 18:47.
sidestep вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка компиляции (С++) Virgilij Помощь студентам 0 26.01.2012 21:02
Ошибка компиляции Пaвeл Общие вопросы C/C++ 2 25.06.2010 19:22
C++ ошибка компиляции Seil_29 Помощь студентам 9 20.12.2009 22:23
Ошибка компиляции ImmortalAlexSan C++ Builder 3 20.12.2009 21:19
Ошибка компиляции С++ jeka101 Общие вопросы C/C++ 3 27.03.2009 19:16