Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: scanf неправельно считывает  (Прочитано 6506 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Arct
Участник

ru
Offline Offline
Пол: Мужской
Злое


« : 03-07-2006 16:22 » 

Простейшее приложение и ошибки...

Код:
double i;
do{
scanf("%f",&i);
if(i<0)
       printf("%f",i)
while(i<0);

Вводи 1 всё нормально, 2 получаем чтото вроде
1.2324+e12
На днях дал братику лабы пописать ...
С динамически выделением памяти. И вот теперь думаю, толи библитеки повреждены толи я идиот...
Вопрос :
Может ли некоректно работающая программа повредить библиотеку компилятора.
Компилятор BC++3.1
Записан

Пройди свой путь, ты не сумеешь назад всё вернуть...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #1 : 03-07-2006 16:35 » 

сначала такие вопросики:

1) как это вообще откомпилировалось?

2) что оно должно делать? Улыбаюсь
Записан

Arct
Участник

ru
Offline Offline
Пол: Мужской
Злое


« Ответ #2 : 03-07-2006 16:53 » 

Код:
//     -(x*x)  _
// y= e      -vx
//



#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
//#include <
#define ESC 27
#define ONE 49
#define TWO 50
#define ALTF4 107
int main()
{
int i , j ;
double y,x,xmin,xmax,ep;

clrscr();
printf("\n\n\n\t\tЛабораторная работа 1.\n");
printf("\"Решение трансцендентных уровнений численными методами\"\n\n");
printf(" 2\n");
printf("        -x     _ \n");
printf("Уронение : y= e    - vx\n");

printf("Введите интервал переменной Х \n");


do
{
printf("Нижний предел ->");
scanf("%f",&xmin);
if(xmin<0)
printf("Нижний предел изменения X не может быть отрицательным!%f\a",xmin);
}while(xmin<0);

do
{
printf("Верхний предел ->");
scanf("%f",&xmax);
if(xmax<xmin)
printf("Верхни предел изменения X не может быть меньше нижнего предела!\a");
}while(xmax<xmin);


printf("Выберите метод < 1|2 >:\n1.Метод Дихотомии\n2.Метод Ньютона\n->");
do
{
i=getch();

if((i==ESC)||(i==ALTF4))
exit(0);

if((i!=ONE)&&(i!=TWO))
printf("Введите <1> для выбора метода Дихотомии\n или <2> для метода Ньютона\n->\a");
}while((i!=ONE)&&(i!=TWO));






getch();
return 0;
}
Откомпилилось
« Последнее редактирование: 03-07-2006 17:27 от Arct » Записан

Пройди свой путь, ты не сумеешь назад всё вернуть...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #3 : 03-07-2006 17:09 » 

в правильности программы мне щас , если честно, лень разбираться, а

>> Может ли некоректно работающая программа повредить библиотеку компилятора.
>> Компилятор BC++3.1
 - точно нет. 
Записан

Arct
Участник

ru
Offline Offline
Пол: Мужской
Злое


« Ответ #4 : 03-07-2006 17:22 » 

Да какая тут правильность???
В трех соснах заблудиться?
Это нам на на второй лекции давали!
Щас скомпилил запустил
Любое введённое число превращается в -0.000000

Притом это не только в этой проге,
а вобще, где сканф применяю везде глюки...
« Последнее редактирование: 03-07-2006 17:30 от Arct » Записан

Пройди свой путь, ты не сумеешь назад всё вернуть...
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 03-07-2006 17:39 » 

Поиском полезно пользоваться:
https://forum.shelek.ru/index.php/topic,5398.0.html
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Arct
Участник

ru
Offline Offline
Пол: Мужской
Злое


« Ответ #6 : 03-07-2006 17:46 » 

Пардон бывает
Вот она невнимательность...
Записан

Пройди свой путь, ты не сумеешь назад всё вернуть...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines