Пример #1
0
void FdoCommonOSUtil::getsystime(struct tm *systime)
{
#ifdef _WIN32
#pragma warning(disable : 4996)
    _getsystime (systime);
#pragma warning(default : 4996)

#else
     time_t current;
     time (&current);
     localtime_r (&current, systime);
#endif
}
Пример #2
0
void Quit(int total, int count, int hr, int min, int sec)
{
	char name[30];
	double avr;
	struct tm dt;
		_getsystime(&dt);
	int used_hr, used_min, used_sec;

	printf("Enter your name: ");
	fflush(stdin);
	gets(name);
	system("CLS");

	avr = total / count;	// calculate the average point between all the test
	// print out all the result of user
	printf("Your result printed on %02d/%02d/%d ",dt.tm_mday,dt.tm_mon,dt.tm_year +1900);
	if(dt.tm_hour>=12)
		if(dt.tm_hour == 12)
			printf("at %02d:%02d:%02d pm\n",dt.tm_hour,dt.tm_min,dt.tm_sec);
		else
			printf("at %02d:%02d:%02d pm\n",dt.tm_hour-12,dt.tm_min,dt.tm_sec);
	else
		printf("at %02d:%02d:%02d am\n",dt.tm_hour,dt.tm_min,dt.tm_sec);
	if(dt.tm_hour < hr)
		used_hr = (24-hr) + dt.tm_hour;
	else
		used_hr = dt.tm_hour - hr;
	if(dt.tm_min < min)
		used_min = min - dt.tm_min;
	else
		used_min = dt.tm_min - min;
	if(dt.tm_sec < sec)
		used_sec = sec - dt.tm_sec;
	else
		used_sec = dt.tm_sec - sec;
	printf("Name            : %s\n",name);
	printf("You have entered %d test.\n",count);
	printf("Total points    = %d\n",total);
	printf("Average points  = %.2lf\n\n",avr);
	printf("You have used %02d hour(s) %02d minute(s) %02d second(s) to enter %d test(s)\n\n",
		used_hr,used_min,used_sec,count);
	printf("~~Thanks for using this program~~\n\n");
	exit(-1);
}
Пример #3
0
void SQLTests::query ()
{
    if (CreateSchemaOnly())  return;

    try
    {
        FdoPtr<FdoISQLCommand> sqlCmd = (FdoISQLCommand*)mConnection->CreateCommand (FdoCommandType_SQLCommand);

        // Clean up previous tests (ignore exceptions, we'll get one if the table doesn't actually exist):
        try
        {
            sqlCmd->SetSQLStatement (L"drop table bar");
            sqlCmd->ExecuteNonQuery ();
        }
        catch (FdoException *e)
        {
            e->Release();
        }

        // Execute various tests:
        sqlCmd->SetSQLStatement (ArcSDETestConfig::SqlStmtCreateTable());
        sqlCmd->ExecuteNonQuery ();
        sqlCmd->SetSQLStatement (ArcSDETestConfig::SqlStmtInsert1());
        sqlCmd->ExecuteNonQuery ();
        sqlCmd->SetSQLStatement (L"select * from bar");
        {
            FdoPtr<FdoISQLDataReader> reader = sqlCmd->ExecuteReader ();

            // Test accessing SQLDataReader's metadata BEFORE calling ReadNext():
            IterateSQLDataReaderProperties(reader);

            reader->ReadNext ();
            CPPUNIT_ASSERT_MESSAGE ("int16 wrong", 42 == reader->GetInt16 (L"ID"));
            CPPUNIT_ASSERT_MESSAGE ("int32 wrong", 8272772 == reader->GetInt32 (L"COUNT"));
            float x = (float)reader->GetSingle (L"SCALE");
            float diff = x - 1e-2f;
            if (0 > diff)
                diff = -diff;
            CPPUNIT_ASSERT_MESSAGE ("float wrong", 1e-9 > diff);
            double y = reader->GetDouble (L"LENGTH");
            double difference = y - 10280288.29929;
            if (0 > difference)
                difference = -difference;
            CPPUNIT_ASSERT_MESSAGE ("double wrong", 1e-4 > difference);
            CPPUNIT_ASSERT_MESSAGE ("string wrong", 0 == wcscmp (L"the quick brown fox jumps over a lazy dog", reader->GetString(L"DESCRIPTION")));

            FdoPtr<FdoBLOBValue> blobValue = static_cast<FdoBLOBValue*>(reader->GetLOB(L"DATA"));
            FdoByteArray* data = blobValue->GetData();
            FdoByte test[] = { 0x25, 0x2f, 0x82, 0xe3 };
            for (int i = 0; i < data->GetCount (); i++)
                CPPUNIT_ASSERT_MESSAGE ("blob wrong", test[i] == (*data)[i]);
            data->Release ();

            FdoDateTime now = reader->GetDateTime (L"MODIFIED");
            struct tm systime;
#ifdef _WIN32
#pragma warning(disable : 4996)
            _getsystime (&systime);
#pragma warning(default : 4996)
#else
            time_t current;
            time (&current);
            localtime_r (&current, &systime);
#endif
            CPPUNIT_ASSERT_MESSAGE ("year wrong (NOTE: THIS IS MAY BE CAUSED BY TIME ZONE DIFFERENCE BETWEEN SERVER AND CLIENT MACHINES)", now.year == systime.tm_year + 1900);
            CPPUNIT_ASSERT_MESSAGE ("month wrong (NOTE: THIS IS MAY BE CAUSED BY TIME ZONE DIFFERENCE BETWEEN SERVER AND CLIENT MACHINES)", now.month == systime.tm_mon + 1);
            CPPUNIT_ASSERT_MESSAGE ("day wrong (NOTE: THIS IS OFTEN CAUSED BY TIME ZONE DIFFERENCE BETWEEN SERVER AND CLIENT MACHINES)", now.day == systime.tm_mday);
            //THE FOLLOWING TEST FAILS FREQUENTLY, SINCE THE CLIENT'S TIME AND SERVER'S TIME ARE USUALLY NOT IN SYNC:
            //CPPUNIT_ASSERT_MESSAGE ("hour wrong", now.hour == systime.tm_hour);
        }

        // Test aggregate functions in select clause:
        sqlCmd->SetSQLStatement (ArcSDETestConfig::SqlStmtInsert2());
        sqlCmd->ExecuteNonQuery ();
        sqlCmd->SetSQLStatement (L"select count(*) from bar");
        FdoPtr<FdoISQLDataReader> reader = sqlCmd->ExecuteReader();
        CPPUNIT_ASSERT_MESSAGE("Expected 1 row, got 0 rows instead.", reader->ReadNext ());
        FdoInt32 colCount = reader->GetColumnCount();
        CPPUNIT_ASSERT_MESSAGE ("column count wrong", colCount == 1);
        FdoString *colName = reader->GetColumnName(0);
        CPPUNIT_ASSERT_MESSAGE ("column name wrong", 0==FdoCommonOSUtil::wcsicmp(colName, ArcSDETestConfig::SqlCountStarColumnName()));
        FdoDataType colType = reader->GetColumnType(colName);
        if (colType==FdoDataType_Int32)
        {
            FdoInt32 iRowCount = reader->GetInt32(colName);
            CPPUNIT_ASSERT_MESSAGE("count(*) value wrong", iRowCount == 2);
        }
        else if (colType==FdoDataType_Double)
        {
            double dRowCount = reader->GetDouble(colName);
            CPPUNIT_ASSERT_MESSAGE("count(*) value wrong", dRowCount == 2);
        }
        CPPUNIT_ASSERT_MESSAGE("Expected 1 row, got 2 or more rows instead.", !reader->ReadNext ());

        // Test functions in where clause:
        sqlCmd->SetSQLStatement (ArcSDETestConfig::SqlStmtAggrQuery1());
        reader = sqlCmd->ExecuteReader();
        CPPUNIT_ASSERT_MESSAGE("Expected 1 row, got 0 rows instead.", reader->ReadNext ());
        colCount = reader->GetColumnCount();
        CPPUNIT_ASSERT_MESSAGE ("column count wrong", colCount == 1);
        colName = reader->GetColumnName(0);
        CPPUNIT_ASSERT_MESSAGE ("column name wrong", 0==FdoCommonOSUtil::wcsicmp(colName, ArcSDETestConfig::SqlAggrColumnName()));
        colType = reader->GetColumnType(colName);
        CPPUNIT_ASSERT_MESSAGE ("column type wrong", colType==FdoDataType_Double);
        double dResult = reader->GetDouble(colName);
        CPPUNIT_ASSERT_MESSAGE("ABS(SUM(length)) value wrong", ArcSDETests::fuzzyEqual(dResult, ArcSDETestConfig::SqlStmtAggrQuery1Result()));
        CPPUNIT_ASSERT_MESSAGE("Expected 1 row, got 2 or more rows instead.", !reader->ReadNext ());


        // Clean up:
        sqlCmd->SetSQLStatement (L"drop table bar");
        sqlCmd->ExecuteNonQuery ();
    }
    catch (FdoException *e)
    {
        fail(e);
    }
}
Пример #4
0
void main()	// main function
{
	int menu, result[100], total=0, count=0;
	char con;
	struct tm time;
		_getsystime(&time);
	int hr, min, sec;

	hr = time.tm_hour;
	min = time.tm_min;
	sec = time.tm_sec;

	int i=0;
	do
	{
		// Menu
		system("CLS");
		printf("_-_-_-_Menu_-_-_-_\n"
			   "[1] Multiplication\n"
			   "[2] Division\n"
			   "[3] Addition\n"
			   "[4] Subtraction\n"
			   "[5] Quit\n\n");

		printf("Choose a selection > ");
		scanf("%d",&menu);

		switch(menu)	// switch statement
		{
		case 1:
			{
				result[i] = Multiplication();	// function call Multiplication();
				output(result[i]);	// function call output();
				count++;	// the times of test
				break;
			}
		case 2:
			{
				result[i] = Division();	// function call Division();
				output(result[i]);	// function call output();
				count++;	// the times of test
				break;
			}
		case 3:
			{
				result[i] = Addition();	// function call Addition();
				output(result[i]);	// function call output();
				count++;	// the times of test
				break;
			}
		case 4:
			{
				result[i] = Subtraction();	// function call Subtraction();
				output(result[i]);	// function call output();
				count++;	// the times of test
				break;
			}
		case 5:
			{
				Quit(total,count,hr,min,sec);	// function call Quit();
				break;
			}
		default:
			{
				printf("Invalid Input! Please re-enter\n");
				main();	// re-run the main function
			}
			i++;
		}
		total = total + result[i];	// sum all the tests' marks
		// ask for user want to continue the test or not
		printf("Do you want to continue? (Y/N) ");
		fflush(stdin);
		scanf("%c",&con);
		toupper(con);
		while(con!='Y' && con!='N' && con!='y' && con!='n')
			{
				printf("Invalid Input! Please re-enter (Y/N)> ");
				fflush(stdin);
				scanf("%c",&con);
				toupper(con);
			}
	}while(con == 'Y' || con=='y');
	Quit(total,count,hr,min,sec);	// Print out the total result & Quit the program
}
Пример #5
0
void CFCView::GenerateTextFile(CString strFile,CString strTitle)
{
	ofstream fout(strFile);
#ifndef _DEBUG
	tm t;
	_getsystime(&t);
	fout.fill('0');
	fout<<"--  FC可解释执行中间代码文件\n";
	fout<<"--  FC2.32 于 "<<1900+t.tm_year<<"年"<<setw(2)<<1+t.tm_mon<<"月";
	fout<<setw(2)<<t.tm_mday<<"日"<<setw(2)<<t.tm_hour<<':'<<setw(2)<<t.tm_min;
	fout<<" 编译“"<<strTitle<<"”生成\n";
	fout<<"--  版权所有 朱凯峰 2004.02\n";
	fout<<"\n";
#endif
	fout.fill(' ');

	int i,j;
	const ZCode *pCode=m_pCode;
	for(i=0;i<m_nCode;i++)
	{
		if(pCode[i].op == OP_FUNCTIONSTART)
		{
			for(j=0;j<m_nFunction;j++)
				if(m_pFunction[j]->bSolved && m_pFunction[j]->nStartAddress==i)
					break;
			fout<<"-----    "<<m_pFunction[j]->name<<"    -----\n";
		}
		fout.setf(ios::right,ios::adjustfield);
		fout<<setw(5)<<i<<" :  ";
		fout.setf(ios::left,ios::adjustfield);
		fout<<setw(15);
		switch(pCode[i].op)
		{
		case OP_C2D:
			fout<<"C2D"<<pCode[i].sd.iNumber;
			break;
		case OP_C2I:
			fout<<"C2I"<<pCode[i].sd.iNumber;
			break;
		case OP_CALL:
			fout<<"CALL"<<pCode[i].sd.iNumber;
			break;
		case OP_CHANGESIGNALC:
			fout<<"CHANGESIGNALC";
			break;
		case OP_CHANGESIGNALD:
			fout<<"CHANGESIGNALD";
			break;
		case OP_CHANGESIGNALI:
			fout<<"CHANGESIGNALI";
			break;
		case OP_COPYI:
			fout<<"COPYI";
			break;
		case OP_D2C:
			fout<<"D2C"<<pCode[i].sd.iNumber;
			break;
		case OP_D2I:
			fout<<"D2I"<<pCode[i].sd.iNumber;
			break;
		case OP_DELARRAYC:
			fout<<"DELARRAYC"<<pCode[i].sd.iNumber;
			break;
		case OP_DELARRAYD:
			fout<<"DELARRAYD"<<pCode[i].sd.iNumber;
			break;
		case OP_DELARRAYI:
			fout<<"DELARRAYI"<<pCode[i].sd.iNumber;
			break;
		case OP_DELETEC:
			fout<<"DELETEC";
			break;
		case OP_DELETED:
			fout<<"DELETED";
			break;
		case OP_DELETEI:
			fout<<"DELETEI";
			break;
		case OP_EQUALC:
			fout<<"EQUALC"<<pCode[i].sd.iNumber;
			break;
		case OP_EQUALD:
			fout<<"EQUALD"<<pCode[i].sd.iNumber;
			break;
		case OP_EQUALI:
			fout<<"EQUALI"<<pCode[i].sd.iNumber;
			break;
		case OP_EXIT:
			fout<<"EXIT";
			break;
		case OP_FUNCTIONSTART:
			fout<<"FUNCTIONSTART"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATC:
			fout<<"GREATC"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATD:
			fout<<"GREATD"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATEQUALC:
			fout<<"GREATEQUALC"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATEQUALD:
			fout<<"GREATEQUALD"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATEQUALI:
			fout<<"GREATEQUALI"<<pCode[i].sd.iNumber;
			break;
		case OP_GREATI:
			fout<<"GREATI"<<pCode[i].sd.iNumber;
			break;
		case OP_I2C:
			fout<<"I2C"<<pCode[i].sd.iNumber;
			break;
		case OP_I2D:
			fout<<"I2D"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTARRAYC:
			fout<<"INPUTARRAYC"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTARRAYD:
			fout<<"INPUTARRAYD"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTARRAYI:
			fout<<"INPUTARRAYI"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTC:
			fout<<"INPUTC"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTCA:
			fout<<"INPUTCA"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTD:
			fout<<"INPUTD"<<pCode[i].sd.iNumber;
			break;
		case OP_INPUTI:
			fout<<"INPUTI"<<pCode[i].sd.iNumber;
			break;
		case OP_JUMP:
			fout<<"JUMP"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSC:
			fout<<"LESSC"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSD:
			fout<<"LESSD"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSEQUALC:
			fout<<"LESSEQUALC"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSEQUALD:
			fout<<"LESSEQUALD"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSEQUALI:
			fout<<"LESSEQUALI"<<pCode[i].sd.iNumber;
			break;
		case OP_LESSI:
			fout<<"LESSI"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADARRAY:
			fout<<"LOADARRAY"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADARRAYC:
			fout<<"LOADARRAYC"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADARRAYD:
			fout<<"LOADARRAYD"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADARRAYI:
			fout<<"LOADARRAYI"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADCONSTC:
			fout<<"LOADCONSTC"<<"\'"<<DesysString(pCode[i].sd.cNumber)<<"\'";
			break;
		case OP_LOADCONSTD:
			fout<<"LOADCONSTD"<<pCode[i].sd.dNumber;
			break;
		case OP_LOADCONSTI:
			fout<<"LOADCONSTI"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADVARC:
			fout<<"LOADVARC"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADVARD:
			fout<<"LOADVARD"<<pCode[i].sd.iNumber;
			break;
		case OP_LOADVARI:
			fout<<"LOADVARI"<<pCode[i].sd.iNumber;
			break;
		case OP_MINUSC:
			fout<<"MINUSC";
			break;
		case OP_MINUSD:
			fout<<"MINUSD";
			break;
		case OP_MINUSI:
			fout<<"MINUSI";
			break;
		case OP_MODC:
			fout<<"MODC";
			break;
		case OP_MODI:
			fout<<"MODI";
			break;
		case OP_NEWARRAYC:
			fout<<"NEWARRAYC"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_NEWARRAYD:
			fout<<"NEWARRAYD"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_NEWARRAYI:
			fout<<"NEWARRAYI"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_NOTEQUALC:
			fout<<"NOTEQUALC"<<pCode[i].sd.iNumber;
			break;
		case OP_NOTEQUALD:
			fout<<"NOTEQUALD"<<pCode[i].sd.iNumber;
			break;
		case OP_NOTEQUALI:
			fout<<"NOTEQUALI"<<pCode[i].sd.iNumber;
			break;
		case OP_NULL:
			fout<<"NULL";
			break;
		case OP_OUTPUTC:
			fout<<"OUTPUTC";
			break;
		case OP_OUTPUTCA:
			fout<<"OUTPUTCA"<<pCode[i].sd.iNumber;
			break;
		case OP_OUTPUTD:
			fout<<"OUTPUTD";
			break;
		case OP_OUTPUTI:
			fout<<"OUTPUTI";
			break;
		case OP_OUTPUTS:
			fout<<"OUTPUTS"<<"\""<<DesysString(pCode[i].sd.string)<<"\"";
			break;
		case OP_PARAMTRANSA:
			fout<<"PARAMTRANSA"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_PARAMTRANSC:
			fout<<"PARAMTRANSC"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_PARAMTRANSD:
			fout<<"PARAMTRANSD"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_PARAMTRANSI:
			fout<<"PARAMTRANSI"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_PLUSC:
			fout<<"PLUSC";
			break;
		case OP_PLUSD:
			fout<<"PLUSD";
			break;
		case OP_PLUSI:
			fout<<"PLUSI";
			break;
		case OP_RETURN:
			fout<<"RETURN"<<pCode[i].sd.iNumber;
			break;
		case OP_RETURNC:
			fout<<"RETURNC"<<pCode[i].sd.iNumber;
			break;
		case OP_RETURND:
			fout<<"RETURND"<<pCode[i].sd.iNumber;
			break;
		case OP_RETURNI:
			fout<<"RETURNI"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVEC:
			fout<<"SAVEC"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVEARRAYC:
			fout<<"SAVEARRAYC"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVEARRAYD:
			fout<<"SAVEARRAYD"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVEARRAYI:
			fout<<"SAVEARRAYI"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVED:
			fout<<"SAVED"<<pCode[i].sd.iNumber;
			break;
		case OP_SAVEI:
			fout<<"SAVEI"<<pCode[i].sd.iNumber;
			break;
		case OP_SLASHC:
			fout<<"SLASHC";
			break;
		case OP_SLASHD:
			fout<<"SLASHD";
			break;
		case OP_SLASHI:
			fout<<"SLASHI";
			break;
		case OP_TIMESC:
			fout<<"TIMESC";
			break;
		case OP_TIMESD:
			fout<<"TIMESD";
			break;
		case OP_TIMESI:
			fout<<"TIMESI";
			break;
//***************************************************************************//
		//********** math
		case OP_ABSC:
			fout<<"ABSC";
			break;
		case OP_ABSD:
			fout<<"ABSD";
			break;
		case OP_ABSI:
			fout<<"ABSI";
			break;
		case OP_ARCCOS:
			fout<<"ARCCOS";
			break;
		case OP_ARCCTG:
			fout<<"ARCCTG";
			break;
		case OP_ARCSIN:
			fout<<"ARCSIN";
			break;
		case OP_ARCTG:
			fout<<"ARCTG";
			break;
		case OP_CH:
			fout<<"CH";
			break;
		case OP_COS:
			fout<<"COS";
			break;
		case OP_CTG:
			fout<<"CTG";
			break;
		case OP_CTH:
			fout<<"CTH";
			break;
		case OP_EXP:
			fout<<"EXP";
			break;
		case OP_LG:
			fout<<"LG";
			break;
		case OP_LN:
			fout<<"LN";
			break;
		case OP_POW:
			fout<<"POW";
			break;
		case OP_SH:
			fout<<"SH";
			break;
		case OP_SIN:
			fout<<"SIN";
			break;
		case OP_SQRT:
			fout<<"SQRT";
			break;
		case OP_TG:
			fout<<"TG";
			break;
		case OP_TH:
			fout<<"TH";
			break;
		//********** string
		case OP_STRCMP:
			fout<<"STRCMP"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_STRCPYCA:
			fout<<"STRCPYCA"<<pCode[i].sd.iNumber<<'\t'<<pCode[i].sd.iNumber2;
			break;
		case OP_STRCPYS:
			fout<<"STRCPYS"<<pCode[i].sd.iNumber<<"\t\""<<DesysString(pCode[i].sd.string2)<<"\"";
			break;
		case OP_STRLENCA:
			fout<<"STRLENCA"<<pCode[i].sd.iNumber;
			break;
		case OP_STRLENS:
			fout<<"STRLENS"<<'\"'<<DesysString(pCode[i].sd.string)<<'\"';
			break;
		case OP_STRLWR:
			fout<<"STRLWR"<<pCode[i].sd.iNumber;
			break;
		case OP_STRUPR:
			fout<<"STRUPR"<<pCode[i].sd.iNumber;
			break;
		//********** array
		case OP_AVERAGEC:
			fout<<"AVERAGEC"<<pCode[i].sd.iNumber;
			break;
		case OP_AVERAGED:
			fout<<"AVERAGED"<<pCode[i].sd.iNumber;
			break;
		case OP_AVERAGEI:
			fout<<"AVERAGEI"<<pCode[i].sd.iNumber;
			break;
		case OP_DOWNSORTC:
			fout<<"DOWNSORTC"<<pCode[i].sd.iNumber;
			break;
		case OP_DOWNSORTD:
			fout<<"DOWNSORTD"<<pCode[i].sd.iNumber;
			break;
		case OP_DOWNSORTI:
			fout<<"DOWNSORTI"<<pCode[i].sd.iNumber;
			break;
		case OP_MAXC:
			fout<<"MAXC"<<pCode[i].sd.iNumber;
			break;
		case OP_MAXD:
			fout<<"MAXD"<<pCode[i].sd.iNumber;
			break;
		case OP_MAXI:
			fout<<"MAXI"<<pCode[i].sd.iNumber;
			break;
		case OP_MINC:
			fout<<"MINC"<<pCode[i].sd.iNumber;
			break;
		case OP_MIND:
			fout<<"MIND"<<pCode[i].sd.iNumber;
			break;
		case OP_MINI:
			fout<<"MINI"<<pCode[i].sd.iNumber;
			break;
		case OP_SUMC:
			fout<<"SUMC"<<pCode[i].sd.iNumber;
			break;
		case OP_SUMD:
			fout<<"SUMD"<<pCode[i].sd.iNumber;
			break;
		case OP_SUMI:
			fout<<"SUMI"<<pCode[i].sd.iNumber;
			break;
		case OP_UPSORTC:
			fout<<"UPSORTC"<<pCode[i].sd.iNumber;
			break;
		case OP_UPSORTD:
			fout<<"UPSORTD"<<pCode[i].sd.iNumber;
			break;
		case OP_UPSORTI:
			fout<<"UPSORTI"<<pCode[i].sd.iNumber;
			break;
		default:
			fout<<"--  未知操作符,请与程序提供者联系!";
			break;
		}
		fout<<'\n';
	}
	fout.close();
}