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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2009, 07:34   #1
Дырдин
Пользователь
 
Аватар для Дырдин
 
Регистрация: 26.09.2009
Сообщений: 81
Вопрос

Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>
const int n=12;
const float s=7.3;
void raschet (float massiv[n]);
void vichislenie_summy (float massiv[n]);
void vichislenie_po_formulam (float massiv[n]);
void main()
{
	float a[n];
	printf ("Vvedite A1 : ");
	scanf("%f",&a[0]);
	raschet (a);
	vichislenie_summy (a);
	vichislenie_po_formulam (a);
}
void raschet (float massiv[n])
{
	for (int i=1;i<n;i++)
		massiv[i]=massiv[i-1]+s;
	for (int i=0;i<n;i++)
		printf ("\nA%d = %g",i+1,massiv[i]);
}
void vichislenie_summy (float massiv[n])
{
	float summa=0;
	for (int i=0;i<n;i++)
		summa=massiv[i-1]+massiv[i];
	printf ("\nsummma elementov = %lg",summa);
}
void vichislenie_po_formulam (float massiv[n])
{
	float y;
	for (int i=0;i<n;i++)
	{
		if (massiv[i]<0)
			y=3*(pow(massiv[i],2))+3*massiv[i]+8;
		else if(massiv[i]>0 && massiv[i]<20)
		{
			if ((massiv[i]-8)<>0)
				printf ("\ny%d = error",i+1);
			else
				y=-5/(massiv[i]-8);
		}
		else
			y=4*(massiv[i]+8);
		printf("\ny%d = %lg",i+1,y);
	}
	printf ("\n");
}
Пишет такую ошибку

z:\установки\visual studio 2008 (9.0)\vc\include\stdio.h(306) : see declaration of 'scanf'

Программа заполняет массив из 12 элементов (1ый вводит пользователь) с шагом "s", затем считает сумму всех элементов, затем ведет расет по 3 формулам(в зависимости от значения элемента) и выводит всё это на экран.

Что мне делать?

Последний раз редактировалось Stilet; 14.10.2009 в 08:54.
Дырдин вне форума Ответить с цитированием
Старый 14.10.2009, 08:31   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Вместо
Код:
if ((massiv[i]-8)<>0)
надо
Код:
if ((massiv[i]-8)!=0)
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 14.10.2009, 21:07   #3
Дырдин
Пользователь
 
Аватар для Дырдин
 
Регистрация: 26.09.2009
Сообщений: 81
По умолчанию

Не работает
Дырдин вне форума Ответить с цитированием
Старый 14.10.2009, 21:12   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
scanf("%f",a[0]);
попробуйте так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.10.2009, 21:20   #5
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

у меня эта ошибка в разделе warning - это позволяет компилировать файл, работаю в VS08, попробуй вместо scanf("%f",&a[0]) написать scanf_s("%f",&a[0]) - вроде помогает избавиться
capta1n вне форума Ответить с цитированием
Старый 14.10.2009, 21:20   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
scanf("%f",a[0]);
попробуйте так.
Как раз так не стоит )

2Дырдин
У меня компилируется, если заменить <> на !=
netrino вне форума Ответить с цитированием
Старый 14.10.2009, 21:21   #7
Дырдин
Пользователь
 
Аватар для Дырдин
 
Регистрация: 26.09.2009
Сообщений: 81
По умолчанию

Заработало)))))

А в чем ошибка-то была?
Дырдин вне форума Ответить с цитированием
Старый 14.10.2009, 21:30   #8
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

вытащил цитату с одного форума, читай:

"Этож не ошибка, а предупреждение - типа чтоб ты был в курсе... Просто Visual C++ 2005 считает scanf не безопастным в использовании (и это так - функция не проверяет размер буфера и запросто можно выйтии за его пределы) и предагает воспольтзоваться вместо него другой функцией - scanf_s. Или, если тебя достали эти предупреждения, предлагает обьявить (define) строку _CRT_бла-бла-бла и посылает в справку за подробностями. Ну или что-то типа того ;-)

В общем, можно
1) забить
2) заменить сканфы чем-нить другим, скажем предложенным scanf_s или вообще cin
3) забить и обьявить строку, чтоб не ругался...
4) сменить компилятор на другой (Borland, GCC, Watcom...) "
capta1n вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка. jojahti Общие вопросы C/C++ 4 05.09.2009 20:39
Непонятная ошибка. program123 Общие вопросы Delphi 12 12.04.2009 23:07
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28
Непонятная ошибка RealSHELS Общие вопросы Delphi 16 24.10.2008 20:49
Непонятная ошибка Slash Общие вопросы Delphi 6 19.06.2007 14:45