//---------------------------------------------------------------------- // The program is the 3rd one in the series of programs which // calculate the deviation of LSL from ideality //--------------------------------------------------------------------- #include #include #include #include void panic (char* str); main (int argc, char* argv[]) { if (argc != 5) panic ("after " " "); ifstream InFile (argv[1]); char* resgenname = new char[100] ; resgenname = argv[2]; ofstream OutFile (argv[4]); char* resname = new char[100]; ifstream ResFile; double eff1, pur1, eff2, pur2, resalph, reseff, respur; double truealf, trueeff, truepur; int nn; do { ifstream TrueFile (argv[3]); InFile >> nn >> eff1 >> pur1 >> eff2 >> pur2; sprintf (resname, "%s.%d", resgenname, nn); ResFile.open (resname); resalph=reseff=respur=0; truealf=trueeff=truepur=0; while (respur < pur1 && !ResFile.eof()) ResFile >> reseff >> respur; while (truepur < pur1 && !TrueFile.eof()) TrueFile >> truealf >> trueeff >> truepur; OutFile << nn << " " << eff1 << " " << reseff << " " << trueeff; TrueFile.close (); ResFile.close (); ResFile.open (resname); TrueFile.open (argv[3]); resalph=reseff=respur=0; truealf=trueeff=truepur=0; while (respur < pur2 && !ResFile.eof()) ResFile >> reseff >> respur; while (truepur < pur2 && !TrueFile.eof()) TrueFile >> truealf >> trueeff >> truepur; OutFile << " " << eff2 << " " << reseff << " " << trueeff << endl; TrueFile.close (); ResFile.close (); } while (!InFile.eof()); } void panic (char* str1, char str2) { cerr << str1 << str2 << endl ; exit (0); }