Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <conio.h>
- #include <string>
- #include <iostream>
- #include <fstream>
- using namespace std;
- float* number;
- int size;
- STARTUPINFO si1,si2;
- PROCESS_INFORMATION pi1,pi2;
- void load()
- {
- fstream file;
- file.open("wejscie.txt",ios::in);
- size=0;
- file>>size;
- number = new float[size];
- int i=0;
- char buf[1];
- while(!file.eof())
- {
- file>>number[i];
- i++;
- }
- file.close();
- }
- void save(char what, float result)
- {
- fstream file;
- if(what==1)
- {
- file.open("1.txt",ios::out);
- }
- else
- {
- file.open("2.txt",ios::out);
- }
- file<<result;
- file.close();
- }
- float operation(char what)
- {
- float result=0;
- if(what=='+')
- {
- for(int i=0;i<size;i++)
- result +=number[i];
- }
- else
- {
- for(int i=0;i<size;i++)
- result -=number[i];
- }
- return result;
- }
- void compare()
- {
- fstream file1;
- fstream file2;
- file1.open("1.txt",ios::in);
- file2.open("2.txt",ios::in);
- float result1=0;
- float result2=0;
- file1>>result1;
- file2>>result2;
- file1.close();
- file2.close();
- //------
- cout<<"\n--------------------------------------------";
- cout<<"\n R E S U L T S:";
- cout<<"\n--------------------------------------------";
- cout<<"\n dadawanie: "<<result1<<endl;
- cout<<"\n odejmowanie: "<<result2<<endl;
- cout<<"\n--------------------------------------------";
- }
- int main(int argc, const char* argv[])
- {
- if(argc==1)//proces glowny
- {
- cout<<"Uruchomiono proces glowny"<<endl;
- memset(&si1,0,sizeof(si1));
- memset(&si2,0,sizeof(si2));
- si1.cb = sizeof(si1);
- si2.cb = sizeof(si2);
- TCHAR path1[MAX_PATH] = TEXT("LAB3_MechanizmWspoldzielenia.exe 1");
- TCHAR path2[MAX_PATH] = TEXT("LAB3_MechanizmWspoldzielenia.exe 2");
- CreateProcess(NULL,path1,NULL,NULL,false,0,NULL,NULL,&si1,&pi1);
- CreateProcess(NULL,path2,NULL,NULL,false,0,NULL,NULL,&si2,&pi2);
- WaitForSingleObject(pi1.hProcess,INFINITE);
- WaitForSingleObject(pi2.hProcess,INFINITE);
- compare();
- CloseHandle(pi1.hProcess);
- CloseHandle(pi2.hProcess);
- getch();
- }
- else if(argc==2)//procesy poboczny
- {
- if(atoi(argv[1])==1) //dodawanie
- {
- cout<<"Uruchomiono proces poboczny - dodawanie"<<endl;
- load();
- float result = operation('+');
- save(1,result);
- }
- else //odejmowanie
- {
- cout<<"Uruchomiono proces poboczny - odejmowanie"<<endl;
- load();
- float result = operation('-');
- save(2,result);
- }
- }
- else
- cout<<"Blad programu";
- delete number;
- return 0;
- }
Add Comment
Please, Sign In to add comment