Форум программистов, компьютерный форум CyberForum.ru

Затруднение со scanf - C++

Восстановить пароль Регистрация
 
EpicLove
 Аватар для EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
06.07.2011, 08:55     Затруднение со scanf #1
Вот моя переписанная программа, затрудняюсь со scanf (как переделать на С++ ?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <windows.h>
using namespace std;
 
int main() {
            SetConsoleCP(1251);  //Г’ГіГЇГЄГ*, øðèôò Г*ГҐ Г§Г*áóäü Lucida 
        SetConsoleOutputCP(1251); // ГЂГ© ГЂГ© òóïûå ГўГЁГ*äóçÿòГ*ГЁГЄГЁ
        
 double Xn, Xk, dX, t, y;
 cout << "Âåäèòå Xn, Xk, dX, t : ";  
 scanf( "%lf%lf%lf%lf" %Xn, %Xk, %dX, %t); 
 cout << " --------------------- " << endl;
 cout << " |    X    |    Y    | " << endl;  
 cout << " --------------------- " << endl; 
 double x = Xn;
 while ( x <= Xk )
    {
 if ( x < 0 ) y = t;
 if ( x >=0 && x <10 ) y=t*x;
 if ( x >=10 ) y = 2*y;
 if ( t > 100) cout << ("|%9.2lf   |%9d   |", x, (int)y);
 else  cout << ("|%9.2lf   |%9.2lf   |", x, y);
 x += dX;
 
    }
 cout << " --------------------- " << endl; 
 return 0;
}
Сам пример имеет такую структуру по книге

http://rghost.ru/13627221/image.png
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2011, 08:55     Затруднение со scanf
Посмотрите здесь:

C++ scanf в C
scanf ? C++
scanf() C++
C++ STL list<> помогите есть затруднение Совсем не пойму в чем дело!!!
C++ затруднение в цикле
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
06.07.2011, 08:58     Затруднение со scanf #2
cin...
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
06.07.2011, 08:59     Затруднение со scanf #3
C++
1
cin >> Xn >> Xk >> dX >> t;
EpicLove
 Аватар для EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
06.07.2011, 09:15  [ТС]     Затруднение со scanf #4
Ой еее.... такая ошибка , в шоке....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main() {
            SetConsoleCP(1251);  //Г’ГіГЇГЄГ*, øðèôò Г*ГҐ Г§Г*áóäü Lucida 
        SetConsoleOutputCP(1251); // ГЂГ© ГЂГ© òóïûå ГўГЁГ*äóçÿòГ*ГЁГЄГЁ
        
 double Xn, Xk, dX, t, y;
 cout << "Âåäèòå Xn, Xk, dX, t : ";  
 cin >> Xn >> Xk >> dX >> t;
 cout << " --------------------- " << endl;
 cout << " |    X    |    Y    | " << endl;  
 cout << " --------------------- " << endl; 
 double x = Xn;
 while ( x <= Xk )
    {
 if ( x < 0 ) y = t;
 if ( x >=0 && x <10 ) y=t*x;
 if ( x >=10 ) y = 2*t;
 if ( t > 100) cout << ( x, (int)y );
 else  cout << ( x, y );
 x += dX;
 
    }
 cout << " --------------------- " << endl; 
 system("pause");
 return 0;
}
Чутка подправил условие, по утру ошибочки... да и после бурной ночи xDD


Ведите Xn, Xk, dX, t : 15 16 17 22
---------------------
| X | Y |
---------------------
44 ---------------------
Вот такой ответ выходит, а как я понимаю, должен записывать каждый Шаг или что то путаю ?

Само условие :
http://rghost.ru/13627821/image.png

Вот с этим кусочком еще как быть ?
C++
1
2
 if ( t > 100) cout << ("|%9.2lf   |%9d   |", x, (int)y);
 else  cout << ("|%9.2lf   |%9.2lf   |", x, y);
Вывести так-же таблицу | X | y | ?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
06.07.2011, 09:34     Затруднение со scanf #5
Цитата Сообщение от EpicLove Посмотреть сообщение
cout << ("|%9.2lf |%9d |", x, (int)y);
Ага, щас!
setw
precision
fixed
etc...
EpicLove
 Аватар для EpicLove
46 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 48
06.07.2011, 09:52  [ТС]     Затруднение со scanf #6
cout << ("|%9.2lf |%9d |", x, (int)y);
Ага, щас!
setw
precision
fixed
etc...
Пошел почитаю xD

Добавлено через 13 минут
Усе =) исправился, даже сам накосячил по утру xDD

C++
1
2
3
4
5
6
7
Ведите Xn, Xk, dX, t : 4 4 4 1000
 ---------------------
 |    X    |    Y    |
 ---------------------
 |    4    |    4000 |
 ---------------------
Для продолжения нажмите любую клавишу . . .
Гараздо лучше =)

C++
1
2
3
4
 if ( t > 100) 
    {
        cout << setw(5) << " |    " << x << "    |    " << setw(3) << (int)y << " | " << endl;
    }
Yandex
Объявления
06.07.2011, 09:52     Затруднение со scanf
Ответ Создать тему
Опции темы

Текущее время: 17:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru