Форум программистов, компьютерный форум, киберфорум
Наши страницы

Косяки со временем - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Масивы и строки. http://www.cyberforum.ru/cpp-beginners/thread135584.html
Доброго времени суток. 1. Дано масив М целых чисел который состоит из N елементов. Переписать в одномерный масив все его елементы между минимальным и максимальным. Количество елементов вводится...
C++ прокомментируйте если не трудно... ЗДРАВСТВУЙТЕ ЛЮДИ!!ПОЖАЛУЙСТА ЕСЛИ НЕ ТРУДНО МОЖЕТЕ ПРОКОММЕНТИРОВАТЬ КАКАЯ ФУНКЦИЯ ЧТО ДЕЛАЕТ,ЧТО ЗНАЧИТ...БУДУ ЖДАТЬ ПОМОЩИ!!! 1.Сформулируйте результат выполнения фрагмента и определите роль... http://www.cyberforum.ru/cpp-beginners/thread135580.html
Решение СЛАУ методом Зейделя C++
Методом Зейделя решить с точностью до 0.001 заданную систему уравнений 3.3*x1+2.1*x2+2.8*x3=0.8 4.1*x1+3.7*x2+4.8*x3=5.7 2.7*x1+1.8*x2+1.1*x3=3.2 Заранее благодарна!желательно на С++.куча...
если кто читал Павловская Т.А Щюпак Ю.А "Си++ структурное программирование" C++
Нужен совет по 2 семинару. Вычисление функции с помощью разложения в ряд, задание 2. Изменено условение : "Написать на языке СИ++ программу, вычисляющую функцию, представленную в виде ряда с заданной...
C++ С++, рассчетная работа http://www.cyberforum.ru/cpp-beginners/thread135566.html
Помогите плиз, это задача из рассчетной работы, не знаю как ее решить( Задача раскраски карты. Страны на карте заданы матрицей смежности. Если страны i, j имеют на карте общую границу, то элемент...
C++ ГРАФИКА У кого есть КОД какой-нибудь графики на си!??!?!?! Напишите мне в ICQ:553276081 или сюда скиньте! Какой нибудь домик или снеговичок или что нибудь в этом роде! Лучше всего ФРАКТАЛ!!!! подробнее

Показать сообщение отдельно
st_kastiel
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 14

Косяки со временем - C++

25.05.2010, 22:25. Просмотров 299. Ответов 0
Метки (Все метки)

Вот вроде все должно работать!! но время выводит косячно, сначала 0, теперь вообще отрицательные значения выводит...скока не читаю ничего не могу найти... подскажите пожалуйста..
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
// OC_3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <iostream>
#include <conio.h>
using namespace std;
 
int h,m,s,h1,m1,s1, sum1,sum2,rez;
const int NANOSECOND_BLOCKS_IN_MILLISECOND = 10000.0;
__int64 qwStartTime, qwFinishTime, qwTotalTimeElapsed;
 
 
__int64 FileTimeToQuadWord(PFILETIME pFileTime)
{
const int bits = 32;
// квадрослово формируется из двух 32-битных чисел
return(Int64ShllMod32(pFileTime->dwHighDateTime // сдвиг верхних 32 битов
                                                , bits // сдвиг влево на 32 бита
                                                        ) // результат - верхняя часть квадрослова
                                                            | pFileTime->dwLowDateTime // нижняя часть квадрослова
                                                                                        );
}                           
 
DWORD WINAPI fpot(LPVOID iNum)
{
    rez=sum2-sum1;
    return rez;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    
    // выделить непосредственно память
    FILETIME threadStart; // начало работы потока
    FILETIME threadEnd; // окончание работы потока
    FILETIME dummy; // неиспользуемое значение
 
    DWORD idThread, idThread2;
    HANDLE hThread1, hThread2;
 
    
    
    cout<<"Введите первое значение времени ЧЧ:ММ:СС\n";
point:
    cin>>h>>m>>s;
        if ( ((m||s)>60) || ((m||s)<0) || (h>24) || (h<0) )
        {
            cout<<"Некорректное значение времени, введите корректно\n";
            goto point;
        }
 
    sum1=(s+(h*3600)+(m*60));
 
    cout<<"Первое значение времени в секундах:"<<sum1<<"\n\n";
 
    cout<<"Введите второе значение времени ЧЧ:ММ:СС\n";
 
point2:
 
    cin>>h1>>m1>>s1;
 
        if ( (((m1||s1)>60) || ((m1||s1)<0)) || ((h1>24) || (h1<0)) )
        {
            cout<<"Некорректное значение времени, введите корректно\n";
            goto point2;
        }
 
    sum2 = (s1+(h1*3600)+(m1*60));
 
    cout<<"Второе значение времени в секундах: "<<sum2<<"\n\n";
 
    
    hThread1 = CreateThread (NULL, 0, fpot, 0, CREATE_SUSPENDED, &idThread);
    hThread2 = CreateThread (NULL, 0, fpot, 0, CREATE_SUSPENDED, &idThread2);     
 
    if( (hThread1||hThread2) == NULL)
        return GetLastError();
    else cout<<"Потоки созданы\n";
 
    // созданному потоку устанавливается приоритет HIGHEST
    SetThreadPriority(hThread1  // дескриптор первого потока
                        , THREAD_PRIORITY_NORMAL ); // уровень приоритета
    // 2му созданному потоку устанавливается приоритет LOWEST
    SetThreadPriority(hThread2  // дескриптор первого потока
                        , THREAD_PRIORITY_LOWEST  // уровень приоритета
                                                    );
    // выполнение потока в данном случае вызовом функции возобновления
 
    cout<<"Тaблицa 1 Стaндaртные знaчения приoритетa пoтoкa числoвoе знaчение\n\n";
                cout<<" THREAD_PRIORITY_TT.ME_CRITT.CAL 15\n";
                cout<<" THREAD_PRIORITY_HIGHEST 2\n";
                cout<<" THREAD_PRIORITY_ABOVE_NORMAL 1\n";
                cout<<" THREAD_PRIORITY_NORMAL 0\n";
                cout<<" THREAD_PRIORITY_BELOW_NORMAL -1\n";
                cout<<" THREAD_PRIORITY_LOWEST -2\n";
                cout<<" THREAD_PRIORITY_IDLE -15\n\n";
 
    cout<<"Приоритет первого потока равен: "<<GetThreadPriority(hThread1)<<"\n\n";
    cout<<"Приоритет второго потока равен: "<<GetThreadPriority(hThread2)<<"\n\n";
 
    ResumeThread(hThread1);
    Sleep(1000);
 
    GetThreadTimes(hThread1,
                 &threadStart,
                 &threadEnd,
                 &dummy,
                 &dummy
                        );  
    
    qwStartTime = FileTimeToQuadWord(&threadStart);
    qwFinishTime = FileTimeToQuadWord(&threadEnd);
    qwTotalTimeElapsed = qwFinishTime - qwStartTime;
    // вывод значения времени работы потока в миллисекундах
        
    WaitForSingleObject(hThread1, INFINITE);
 
    cout<< " Первый поток выполнился за "<< qwTotalTimeElapsed / NANOSECOND_BLOCKS_IN_MILLISECOND << " миллисекунд";
    
    ResumeThread(hThread2);
    Sleep(1000);
 
    GetThreadTimes(hThread2,
                 &threadStart,
                 &threadEnd,
                 &dummy,
                 &dummy
                        );
    
    qwStartTime = FileTimeToQuadWord(&threadStart);
    qwFinishTime = FileTimeToQuadWord(&threadEnd);
    qwTotalTimeElapsed = qwFinishTime - qwStartTime;
    // вывод значения времени работы потока в миллисекундах
    
    
    WaitForSingleObject(hThread2, INFINITE);
 
    cout<< "\n Второй поток выполнился за "<< qwTotalTimeElapsed / NANOSECOND_BLOCKS_IN_MILLISECOND  << " миллисекунд";
    
    cout<<"\nРазница между первым и вторым значениями времени в секундах:"<< rez<<"\n";
 
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru