С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
10dzh
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 3
1

Выводится 1.#INF вместо значения

27.11.2016, 11:27. Просмотров 421. Ответов 3
Метки нет (Все метки)

проблема с выводом значения v, должно быть значение в десятичной дроби , а выводится 1.#INF подскажите как исправить

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
#include "stdafx.h" 
#include <conio.h> 
#include <iostream> 
#include <windows.h> 
#include <cstdlib> 
#define bs 11//колличество блоков 
 
using namespace std;
 
int FileSize = 256 * 1024; //считаем размер файла 
int bsize[bs] = { 512, 563, 614, 665, 716, 767, 818, 869, 920, 971, 1024 }; //диапозон размера блоков от 512 до 1024 байт 
int M = 10; 
 
HANDLE  data2; 
DWORD c1, c2, BytesWritten, BytesWritten1; 
BOOL rf;  
double t, v;
BYTE *p, *p1;
HGLOBAL gf;
 
int main()
{
    p = (BYTE*)GlobalAlloc(GMEM_FIXED, FileSize);
 
    if (p == NULL) // если файл не создался, то выход 
    {
        cout << ("Нельзя выделить ОП \n", GetLastError());
    }
    for (int i = 0; i < FileSize; i++) 
    {
        byte R = rand(); //случайный байт от 0 до 255 
        *(p + i) = R;
    }
 
    data2 = CreateFile(TEXT("data1.dat"), 
        GENERIC_WRITE, 
        0, 
        NULL,
        CREATE_ALWAYS,
        FILE_ATTRIBUTE_NORMAL,
        NULL);
 
    if (data2 == INVALID_HANDLE_VALUE) 
    {
        cout << ("Ошибка чтения файла \n", GetLastError());
    }
    for (int i = 0; i<bs; i++) //по блочно 
    {
        p1 = (BYTE*)GlobalAlloc(GMEM_FIXED, bsize[i]); //выделение памяти под каждый блок 
        if (p1 == 0) 
        {
            cout << ("Ошибка: память не выделена \n", GetLastError());
        }
        t = 0.0;
        c1 = GetTickCount(); //счетчик в начале 
        for (int j = 0; j<M; j++) 
        {
            DWORD sfp = SetFilePointer(data2, 0, NULL, FILE_BEGIN); 
            if (sfp == INVALID_SET_FILE_POINTER) 
            {
                cout << ("Ошибка: установки файлового указателя \n");
            }
            do
            {
                CopyMemory(p1, p, BytesWritten);
                WriteFile(data2, p1, bsize[i], &BytesWritten1, NULL);
            } while (bsize[i] == BytesWritten);
        }
        c2 = GetTickCount(); //счетчик в конце 
        t = c2 - c1; //подсчет времени 
        t = t / M; //среднее время 
        v = (FileSize * 1000) / (1024 * t); //скорость в Kb/s 
        cout << "Block size: " << bsize[i] << " - speed: " << v << "Kb/s\n";
    }
    gf = GlobalFree(p1);  
    if (gf != 0)
    {
        cout << ("Ошибка: память не высвобождена \n");
    }
    gf = GlobalFree(p);
    if (gf != 0)
    {
        cout << ("Ошибка: память не высвобождена \n");
    }
 
    CloseHandle(data2); 
    DeleteFile(TEXT("data2.dat")); 
    _getch();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2016, 11:27
Ответы с готовыми решениями:

Выводит INF вместо значения
Не ругайте за стиль , только учусь. проблема с выводом значения X строка 63,68....

Выводится адрес переменной, вместо ее значения
Пишу программу просмотра логинов и паролей из хрома. Все работает, за...

При выводе числа выводится #INF
В общем, задали написать программу вычисления кубического уравнения. В сети...

При выводе числа выводится #INF
может кто обьяснить где тут проблема? задача - есть два метода исчисления одна...

При выводе числа выводится #INF - C++
Вообщем ,задали написать программу для вычисления значений функции для...

3
nmcf
6517 / 5746 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
27.11.2016, 13:05 2
Проверь значения FileSize и t перед вычислением v.
0
10dzh
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 3
27.11.2016, 14:16  [ТС] 3
а еще что может быть не так
0
nmcf
6517 / 5746 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
27.11.2016, 14:47 4
Для v только это.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2016, 14:47

Бесконечность вместо чисел, cout<< #INF
Считаю комплексные в цикле. z,с заданы. for(int i=0;i&lt;20;i++) { cout &lt;&lt;...

При возведении в степень выводится результат "1.#INF"
При значении &quot;k&quot; больше 4 выводит значение 1.#INF. Как можно это исправить? ...

Почему при выводе значения переменной выводиться inf?
При выводе z выводится inf #include &lt;iostream&gt; void main() { double...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru