int main(int argc, const char *argv[]) { int a,b,ad,su,mu,de,mo; char i; fun add1;//申请一个地址空间 add1=add;//把函数add的入口地址赋给add1 fun subtract1; subtract1=subtract; fun multiply1; multiply1=multiply; fun dev1; dev1=dev; fun mod1; mod1=mod; while(1) { printf("Input a symbol:\n"); scanf("%c",&i); if(i=='#') break; printf("Input num1:\n"); scanf("%d",&a); printf("Input num2:\n"); scanf("%d",&b); ad=add1(a,b); getchar();//因为输入完成之后要回车才能输入字符,程序会把回车当字符读入造成程序出乱,所以加上getchar() switch(i) { case '+': ad=add1(a,b); printf("%d + %d= %d\n",a,b,ad); break; case '-': su=subtract1(a,b); printf("%d - %d= %d\n",a,b,su); break; case '*': mu=multiply1(a,b); printf("%d * %d= %d\n",a,b,mu); break; case '/': de=dev1(a,b); printf("%d / %d= %d\n",a,b,de); break; case '%': mo=mod1(a,b); printf("%d %% %d= %d\n",a,b,mo); //打印%的时候 中间要加一个%分开 否则会出错误 break; } } return 0; }
int main(int argc, char *argv[]) { QApplication a(argc, argv); DeviceViewer w; QTextCodec *codec = QTextCodec::codecForName("CP1251"); QTextCodec::setCodecForLocale(codec); /****Add Test Devices ****/ QList<MemRegion> memList; MemRegion r1("Region1", rand(),"EEPROM1",0, 256*256*14); MemRegion r2("Region2", rand(),"EEPROM2",256*256*14, 256*256*25); MemRegion r3("Region3", rand(),"EEPROM3",256*256*25, 256*256*40); MemRegion r4("Region4", rand(),"EEPROM1",256*256*40, 256*256*58); MemRegion r5("Region5", rand(),"EEPROM2",256*256*58, 256*256*80); MemRegion r6("Region6", rand(),"EEPROM3",256*256*80, 256*256*99); memList << r1 << r2 << r3 << r4 << r5 << r6; QList<Node> nodeList; for(int i = 0; i < 9; i++){ Node n; n.serialNum = rand(); n.info = QString("Something about node %1 of Device1").arg(i); nodeList << n; } Device dev1("Device1", "Т0000255", nodeList, memList); nodeList.clear(); for(int i = 0; i < 6; i++){ Node n; n.serialNum = rand(); n.info = QString("Something about node %1 of Device2").arg(i); nodeList << n; } Device dev2("Device2", "И0000364", nodeList, memList); nodeList.clear(); for(int i = 0; i < 3; i++){ Node n; n.serialNum = rand(); n.info = QString("Something about node %1 of Device3").arg(i); nodeList << n; } Device dev3("Device3", "Я0000982", nodeList, memList); w.addDevice(&dev1); w.addDevice(&dev2); w.addDevice(&dev3); /*************************/ w.show(); return a.exec(); }
void test_binary_ostream () { byte_string buffer1; byte_string buffer2; byte_string_odevice dev1(buffer1); pfs::io::device_ptr dev2 = pfs::io::open_device(pfs::io::open_params<pfs::io::buffer>(buffer2)); //test_binary_ostream<byte_string_odevice>(dev1, buffer1); test_binary_ostream<pfs::io::device_ptr>(dev2, buffer2); }