Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СПО_Praktikum_k_lab_rabotam

.pdf
Скачиваний:
8
Добавлен:
16.05.2015
Размер:
1.26 Mб
Скачать

11

<<osvi.dwMajorVersion << "."

<<osvi.dwMinorVersion

<<osvi.szCSDVersion

<<"(Build "

<<(osvi.dwBuildNumber & 0xFFFF)<<")\n";

}

else

{

cout << osvi.szCSDVersion << "(Build " << (osvi.dwBuildNumber & 0xFFFF) << ")\n";

*file << osvi.szCSDVersion << "(Build " << (osvi.dwBuildNumber & 0xFFFF) << ")\n";

}

break;

// # # Windows 95. case VER_PLATFORM_WIN32_WINDOWS:

//xfy z fc {y| }~ z c$y•y| ocf ! #=# !

//# Winˆ.

break;

}

return TRUE;

}

//////////////////////////////////////////////////////////////////

//

void MemmoryStat(std::ofstream *file)

{

// ! ! =?

MEMORYSTATUS stat;

stat.dwLength = sizeof(MEMORYSTATUS); // ! =

GlobalMemoryStatus (&stat);

cout << "\nMemmory Statistics\n"; cout << "===================\n";

//xfy z fc {y| }~ z c$y•y| ocf ! #=# !

//ƒ

*file << "\nMemmory Statistics\n"; *file << "===================\n";

//xfy z fc {y| }~ z c$y•y| ocf ! #=# !

//#

}

/////////////////////////////////////////////////////////////

// P ! void CurrentDir(std::ofstream *file)

{

char szCurrentDir[_MAX_PATH];

12

char szFullDisk[5];

//P !

GetCurrentDirectory(_MAX_PATH-1, szCurrentDir);

//xfy z fc {y| }~ z c$y•y| ocf ! #=# !

//P ! # ƒ

}

1.2.1. Windows

. ! ! / Windows 2 / ) 9 /

B 02 /! 02. !" 8 /) ) 0

1 2.

 

 

BOOL

(& ! !) (B ! 9 1 !# ) TRUE

 

FALSE).

BYTE

(!6 (8 ").

CHAR

Windows.

CONST

! !.

DWORD

6 (32 " !).

INT

> # 1 !.

LONG

32-!1 )/ 1 ! 8.

LONGLONG

. !) ! !<? 6 # 6 / 6 6 / 0 (64

 

" !).

LPCCH

!1! 9 ! ) 06 Windows.

LPCH

!1! 9 ! Windows.

LPCSTR

!1! 9 ! ) &< & Windows

 

& 0 8.

LPCTSTR

!1! 9 ! ) &< & Unicode & 0

 

8 & Windows

LPSTR

!1! 9 ! & ! Windows & 0 -

 

8.

LPTCH

!1! 9 ! Unicode Windows.

LPVOID

!1! 9 ! <" 6 .

LPWORD

!1! 9 ! " 1 1 ! ! (16 ").

 

 

13

 

 

LPWSTR

 

!1! 9 ! 9 &< & Unicode & 0

 

 

 

 

 

 

 

8.

 

 

PCCH

 

!1! 9 ! ) 06 Windows.

 

 

PCHAR

 

!1! 9 ! Windows.

 

 

PCSTR

 

!1! 9 ! ) &< & Windows

 

 

 

 

& 0 8.

 

 

PLONG

 

!1! 9 ! 1 ! 8 / 6 (32 " !).

 

 

PSTR

 

!1! 9 ! & Windows & 0

 

 

 

 

8.

 

 

PTCH

 

!1! 9 ! Windows Unicode.

 

 

PTCHAR

 

!1! 9 ! Windows Unicode.

 

 

PTSTR

 

!1! 9 ! 9 &< & Windows Unicode

 

 

 

 

& 0 8.

 

 

PUCHAR

 

!1! 9 ! Windows " 1 1 ! !.

 

 

PUINT

 

!1! 9 ! 8 # " 1 1 ! !.

 

 

PULONG

 

!1! 9 ! " 11 ! 8 / 6 (32 " !).

 

 

PVOID

 

!1! 9 ! <" 6 .

 

 

PWSTR

 

!1! 9 ! 9 &< & Unicode & 0

 

 

 

 

8.

 

 

TCHAR

 

Unicode Windows.

 

 

UCHAR

 

Windows " 1 1 ! !.

 

 

UINT

 

> # " 1 1 ! !.

 

 

ULONG

 

8 # " 1 1 ! ! (32 " !).

 

 

VOID

 

5<" 6 .

 

 

WCHAR

 

Unicode.

 

 

WORD

 

( 1 1 ! ! (16 ").

 

1.2.2.

) ) 7 !8 / ! B 91 ! 9

7& 8 < GetDriveType. K # 9 !) 7& 8 ):

UINT GetDriveType(

LPCTSTR lpRootPathName // > .

14

);

M& 8 ) 1 !?! / !:

DRIVE_UNKNOWN

// >#

DRIVE_NO_ROOT_DIR

// ! #

DRIVE_REMOVABLE

// ># = !

DRIVE_FIXED

// … !

DRIVE_REMOTE

// ! =, . . #

DRIVE_CDROM

// DROM – # !

DRIVE_RAMDISK

// ! # #

1.2.3." #

) ) /! 02 " / ! # 2 / !2

91& ) 7& 8 ) GetDiskFreeSpace 6,

/:

BOOL GetDiskFreeSpace( LPCTSTR lpRootPathName,

LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters

);

M& 8 ) 1 ! 7 !8 < " / /, <- #!) "i " / ! ! ! /.

.! ! 0:

lpRootPathName – c! / )<?!) 6 ! ! &- 6 !, "i !/ / 9(!. “A:\”-/ ) /-

/!). m lpRootPathName ! NULL, 1 !?! ) "i &? ! ).

lpSectorsPerCluster # ! !.

lpBytesPerSector # "!6 ! .

lpNumberOfFreeClusters # " / 02 ! ! /.

lpTotalNumberOfClusters # ! ! /.

15

1 !?! 0 1 !# ):

m 7& 8 ) / " ! ) & 2!, 1 !?! 1 !#

TRUE;

m 7& 8 ) &/!#&, 1 !?! !) # !

FALSE.

16

1.2.4. # % -

BOOL GetVersionEx(

LPOSVERSIONINFO lpVersionInfo // > ,

//# !

//.

);

& & ! LPOSVERSIONINFO /:

typedef struct _OSVERSIONINFOEX

 

{

 

// > =

DWORD dwOSVersionInfoSize;

DWORD dwMajorVersion;

// !

DWORD dwMinorVersion;

// =

// ! #

DWORD dwBuildNumber;

// !

DWORD dwPlatformId;

//

TCHAR szCSDVersion[128];

// !

WORD

wServicePackMajor;

//

// ! Service Pack

WORD

wServicePackMinor;

// # Service Pack

WORD

wSuiteMask;

// ! !

BYTE

wProductType;

// !

BYTE

wReserved;

// > > # #

}OSVERSIONINFOEX;

. / 91 ! 7& 8 GetVersionEx !/ & !1! 9 !1 & & 0 ! ! dwOSVersionInfoSize.

, !8 6 0 / ) ) 1 !# ) dwPlat-

formId, wProductType, wProductType, dwMajorVersion dwMinorVersion !" 8 6.

17

dwPlatformId

wProductType

 

dwMajorVersion

dwMinorVersion

, OS

 

 

 

 

 

 

VER_PLATFORM_WIN32_NT

VER_NT_WORKSTATION

5

 

1

Microsoft

 

 

 

Windows XP

 

 

 

 

 

 

VER_NT_SERVER

5

 

2

Microsoft

 

 

 

 

Windows

 

 

 

 

 

.NET

 

 

4

 

2

 

 

 

 

 

 

 

VER_PLATFORM_WIN32_WINDOWS

F /

4

 

0

Windows 95

 

 

4

 

10

Windows 98

 

 

 

 

 

Microsoft

 

 

4

 

90

Windows

 

 

 

Millennium

 

 

 

 

 

 

 

 

 

 

Edition

1.2.5. ( %

) ) /! 02 &? 6 / 91& )

7& 8 ) GetCurrentDirectory. . 7& 8:

DWORD GetCurrentDirectory

 

 

(

//

>

DWORD nBufferLength,

LPTSTR lpBuffer

//

>

);

 

 

1.3. * +, - - 1 /23-- 42/ .-

18

) ) /! 02 ! ) 91& ) 7& 8 ) GlobalMemoryStatus. . 7& 8:

void GlobalMemoryStatus (

// ! =

MEMORYSTATUS *stat

);

 

& & ! MEMORYSTATUS /:

typedef struct _MEMORYSTATUS {

DWORD dwLength;

// > =

DWORD dwMemoryLoad;

// > #

DWORD dwTotalPhys;

// > ,

DWORD dwAvailPhys;

// # ! > ,

DWORD dwTotalPageFile;

// > !,

DWORD dwAvailPageFile;

// # ! =? # !

DWORD dwTotalVirtual;

// # , >

DWORD dwAvailVirtual;

//

// # ! #

} MEMORYSTATUS, *LPMEMORYSTATUS;

F "2 / 9 /&, # / 01 7& 8 GlobalMemoryStatus "2 / ! 8 ! 1!8 ) ) dwLength.

1.4. 2F2 - 2 2< 2. +6 2< .+

F! ! 9 ! &, 0 /)?&< ! G ! !:

&< 7 !8 < " / 6 ! ) ! 2 # 2 / !2 2 !2;

&< 7 !8 < ! );

7 !8 < OS;

7 !8 < &? 6 / &? # /-;

/ ) 0 /! 2 "? 6, 9 G 1 B, 9- 1 ! 9 8&.

19

2.& )2. *- 12 4 /2. '2 .5 1

2.1.!- 2< 2. 0 2< .=

> ) /! 6 !" ! 6 !" 0 ) )< ):

1. ! 0 !" 0 ! / 6 6;

2.1 ! & 0 ! ! " !" 7- !8;

3.1 ! ! /! 0 7& 8 ) ! 7!6 ! /.

. / B 9 9 !" 0:

! ) 9 !) !" ! – 4 #! !;

!" ! ! 9< – 2 #! !.

2.2.= F- / . F2H 4-2 120

0, ! 1& 0 ! !, #! B !1/ 9 ! / & 0: 8 # & 0.

! ! D 91& ) ) & - / ) 7& 8, / ! !<? 1!/! ! 1 !# ) 6 B 7& 8, / & ! & !. ! ! - ) G 1 !#!, # 7& 8 ) 010 ! ! & "). F!, 0#-

7! ! ! 1!/! ) /&<? & 0 D:

0 = 1= ∙ − 1

. / ! 9 !) / ! ! /!:

= 1 ∙ 2 ∙ 3 ∙ 4 ∙ … ∙ = !

20

N & &< 7& 8 < 0# ) 7! ! ! B / !-

9 /&<? " !1:

double Factorial(int n)

{

double f;

if(n<0) return -1; // ƒ g

//# # > … • #=

//(#=? ! > ).

if(n==0 || n == 1) f = 1.0;

else

f = n*Factorial(n-1); return f;

}

A" ! ! ! 1 !# ) 1 !?! 7& 8 6

Factorial().

. ! & ) ?9< ! !

if(n==0 || n == 1)

" # ! 9 1 B 9 ) 0# ) 7!-

! 1! 0!, 1! D 7& 8 " 1 91- ! ) &. ! 0 2 / "- # , ! /, !. K / ! ! 6-

& 1! D < ! 0.

0# 7! ! ! /! 0 9- 1 ! ) 6 &. 1 B ! !) & ), /! 7& 8 ) " !?! ) " / !, .& 01 ! / & 6 7& 8 6 / B ) 01 6.

. &? ! & 02 ! ) )< ) 1!/!#!2,

02 G 1 9 2 / " 02 & G.

. / " 6 &!8 ) ) ) ! ! ! ( . 2.1): !B/!) ! ! B / B! 9 ! 7!6 0, ! / & !.

) , # "0 0 / B !B/ ! ! !, "2- / 0 9 / !8: 0 !1 ! ) 2 7!6 !2-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]