|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
17.01.2013, 23:27 | #1 (permalink) |
Новичок
Регистрация: 17.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 67
|
Некорректная работа функции при вводе параметров с консоли
#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); она работает не со значениями переменных, а с их адресами, что делать? неужели я не умею сканфом пользоваться( |
17.01.2013, 23:27 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Проблема довольно частая, на нашем форуме нашлись совпадения Gigabyte P35-DS3L - не реагирует на подключение наушников в передней консоли c++ выделение слов в консоли Ноутбук из консоли. Осуждён за модификацию консоли Xbox Некорректная работа браузеров Ноутбук из консоли. |
18.01.2013, 00:13 | #2 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
Код:
#include<stdio.h> #include<math.h> #include<Windows.h> void Urovnenie (float a, float b, float c) { float 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("Квадратное уравнение имеет единственное решение: %g",x1); } else { x1=-b/(2*a)-(sqrt (d))/(2*a); x2=-b/(2*a)+(sqrt (d))/(2*a); printf("Квадратное уравнение имеет два разных корня\n"); printf("X1= %g\n",x1); printf("X2= %g\n",x2); } } } void main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int i=0; float a=0, b=0, c=0; printf("Введите первый коэфициент уровнения А: "); scanf("%g",&a); printf("Введите второй коэфициент уровнения B: "); scanf("%g",&b); printf("Введите третий коэфициент уровнения C: "); scanf("%g",&c); Urovnenie(a,b,c); printf("\n"); return 0; } |
18.01.2013, 18:52 | #3 (permalink) |
Новичок
Регистрация: 17.01.2013
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 67
|
спасибо, теперь все правильно работает
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|