Показать сообщение отдельно
Старый 17.01.2013, 23:27   #1 (permalink)
Spartak1994
Новичок
 
Регистрация: 17.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 67
Exclamation Некорректная работа функции при вводе параметров с консоли

#include<stdio.h>
#include<math.h>
#include<Windows.h>
void Urovnenie (double a, double b, double c)
{
double x1=0, x2=0, d=0;
d=b*b-4.0*a*c;


if(d<0)
{
printf("Уравнение не имеет решения так как его Дискриминант меньше нуля\n");
}
else
{
if(d==0)
{
x1=-b/(2*a);
printf("Квадратное уравнение имеет единственное решение: %d",x1);
}
else
{

x1=-b/(2*a)-(sqrt (d))/(2*a);
x2=-b/(2*a)+(sqrt (d))/(2*a);
printf("Квадратное уравнение имеет два разных корня\n");
printf("X1= %f\n",x1);
printf("X2= %f\n",x2);
}
}

}
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int i=0;
double a=0, b=0, c=0;

printf("Введите первый коэфициент уровнения А: ");
scanf("%d",&a);
printf("Введите второй коэфициент уровнения B: ");
scanf("%d",&b);
printf("Введите третий коэфициент уровнения C: ");
scanf("%d",&c);
Urovnenie(a,b,c);


printf("\n");
return 0;
}

эта программа должна по идее решать квадратные уравнения, но вот в этом месте Urovnenie(a,b,c); она работает не со значениями переменных, а с их адресами, что делать? неужели я не умею сканфом пользоваться(
Spartak1994 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070