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

Компьютер при исчислениях ненадолго виснет и иногда выбивает число nan - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись файла в string http://www.cyberforum.ru/cpp-beginners/thread1177471.html
Здравствуйте. Помогите пожалуйста с решением вопроса. Мне нужно чтобы все содержимое файла (пробелы, табуляция, символы) записались в переменную класса string. Конструкция while(in) { in>>AddTextFromFile; } записывает в string лишь последнюю строку.
C++ Создать скрипт В линуксе нужно сделать следующие задание, кто шарит хелп!!! Разработать скрипт, отыскивающий в текущем каталоге файл с заданным именем. Имя искомого файла вводится в командной строке. http://www.cyberforum.ru/cpp-beginners/thread1177461.html
C++ Разработать имитацию функции parse
Функция parse(s,t) - разделение строки s на две части, до символа t и после него. Прошу помощи в написании такой программы. Нужно сделать именно имитацию работы этой функции, без использования самой функции parse. Вот пока все что получилось, вроде должно копировать в строку s1 символы из s до t, но что-то не очень получилось. #include "string.h" #include "stdafx.h" #include "iostream"...
C++ Проверка текстового файла
Мне нужны 2 условия: если файл пустой и (кто бы мог подумать?) НЕ пустой. Как проверить файл на его содержимое с помощью fstream?
C++ С++ чтение в структуру http://www.cyberforum.ru/cpp-beginners/thread1177427.html
#include <iostream> #include <conio.h> #include <fstream> using namespace std; struct list { string name; string formula; double t1; double t2; double t3;
SFML SFML создание кнопки Подскажите, как создать кнопку с помощью SFML, т.е. загрузить картинку, которая будет реагировать на нажатие на нее левой кнопкой мыши. если не затруднит набросайте пример кода, т.к. сам процесс создания в теории понимаю, с реализацией беда подробнее

Показать сообщение отдельно
Donville
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 112
16.05.2014, 00:15  [ТС]     Компьютер при исчислениях ненадолго виснет и иногда выбивает число nan
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <iostream>
#include <cstdlib> //include library with system("cls") function
#include <conio.h> //include library with getch() function
#include <iomanip> //include library with setw() function
#include <tgmath.h> //include library with sin() & cos() functions
#include <math.h> //include M_PI
 
using namespace std;
 
double mySin(double xrad)
{
    double msin, del, x1, eps;
    int n;
    msin = xrad; //inital appropriation (початкове присвоєння)
    del = msin;
    n = 1;
    while (fabs(del)>=eps)
    {
        del = del*(-1*(xrad*xrad))/((n+1)*(n+2));
        msin = msin + del;
        n = n + 2;
    }
    return msin;
}
 
double myCos(double xrad)
{
    double mcos, del, x1, eps;
    int n;
    mcos = xrad; //inital appropriation (початкове присвоєння)
    del = mcos;
    n = 1;
    while (fabs(del)>=eps)
    {
        del = del*(-1*(xrad*xrad))/(2*n*(2*n-1));
        mcos = mcos + del;
        n = n + 2;
    }
    return mcos;
}
 
int main()
{
    char que;
    int m = 0; //variable responsible for user input
    bool menu = true; //variable continuation of the menu
    double x, x1, x2, eps, dx, xrad, del, msin, mcos, dif;
 
    do
        {
            cin.clear(); // resets all bits of stream
            cin.sync(); //remove data from the buffer
            system("cls");
 
            cout << "\nWelcome to Taylor v1.0\n\n"; //greeting
 
            cout << "\nEnter lower limit of the range from -1000 to 1000: ";
            while(!(cin>>x1) || (x1<-1000) || (x1>1000) || cin.get() != '\n' ) //incorrect input protection
                {
                    cout<<"Input incorrect. Please, try again.\n";
                    cin.clear(); // resets all bits of stream
                    cin.sync(); //remove data from the buffer
                    cout << "\nEnter lower limit of the range from -1000 to 1000: ";
                }
 
            cout << "\nEnter upper limit of the range from -1000 to 1000 (more than " << x1 <<"): ";
            while(!(cin>>x2) || (x2<-1000) || (x2>1000) || (x2<=x1) || cin.get() != '\n' ) //incorrect input protection
                {
                    cout<<"Input incorrect. Please, try again.\n";
                    cin.clear(); // resets all bits of stream
                    cin.sync(); //remove data from the buffer
                    cout << "\nEnter upper limit of the range from -1000 to 1000 (more than " << x1 <<"): ";
                }
 
            cout << "\nEnter step change of the argument (less than " << (x2-x1) << "): ";
            while(!(cin>>dx) || (dx>=(x2-x1)) || cin.get() != '\n' ) //incorrect input protection
                {
                    cout<<"Input incorrect. Please, try again.\n";
                    cin.clear(); // resets all bits of stream
                    cin.sync(); //remove data from the buffer
                    cout << "\nEnter step change of the argument (less than " << (x2-x1) << "): ";
                }
 
            cout << "\nEnter precision from 1e-15 to 1: ";
            while(!(cin>>eps) || (eps<(1e-15)) || (eps>=1) || cin.get() != '\n' ) //incorrect input protection
                {
                    cout<<"Input incorrect. Please, try again.\n";
                    cin.clear(); // resets all bits of stream
                    cin.sync(); //remove data from the buffer
                    cout << "\nEnter precision from 1e-15 to 1): ";
                }
 
            eps = fabs(eps);
            dx = fabs(dx);
 
            while(menu)
            {
                cout << "\n\nEnter number of desirable operation: ";
                cout << "\n1-Calculate sin(x)\n2-Calculate cos(x)\n0-Finish operations\n"; //output MAIN MENU
 
                if(!(cin>>m) || (m<0) || (m>2) || cin.get() != '\n' ) //incorrect input protection
                {
                    cout<<"Input incorrect. Try again\n";
                    cin.clear(); // resets all bits of stream
                    cin.sync(); //remove data from the buffer
                    cout << "\n\nEnter number of desirable operation: ";
                    cout << "\n\n1-Calculate sin(x)\n2-Calculate cos(x)\n0-Finish operations\n"; //output MAIN
                }
 
                else
                {
                    switch(m) //functions for each key pressed
                    {
                        case 1:
                        {
                            cout << "\nx\t" << "sin(x) Taylor    sin(x)    Difference\n\n";
 
                            x=x1;
                            while (x<=x2)
                            {
                                xrad = (x*M_PI)/180.; //180. ~ 180.0 number is real not integer
                                dif = fabs(sin(xrad)-mySin(xrad));
                                cout << x << setw(15) << mySin(xrad) << setw(15) << sin(xrad) << setw(15) << dif << endl;
                                x=x+dx;
                            }
                        }
                        break;
 
                        case 2:
                        {
                            cout << "\nx\t" << "sin(x) Taylor    sin(x)    Difference\n\n";
                            x=x1;
                            while (x<=x2)
                            {
                                xrad = (x*M_PI)/180.; //180. ~ 180.0 number is real not integer
                                dif = fabs(cos(xrad)-myCos(xrad));
                                cout << x << setw(15) << myCos(xrad) << setw(15) << cos(xrad) << setw(15) << dif << endl;
                                x=x+dx;
                            }
                        }
                        break;
 
                        case 0: //case of end
                        menu = false;
                    }
                }
            }
            cin.clear(); // resets all bits of stream
            cin.sync(); //remove data from the buffer
            cout << "\n\nRepeat with new values ?\n"; //request for repeating
            cout << " yes - press any key\n no  - press ESC\n"; //possible answers
            que = getch();
        }
        while (que!=27); // 27 is ACII code of ESC
 
        cout << "\nThank you for using our product. Bye!\n";
        getch();
 
 
    return 0;
}
 
Текущее время: 08:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru