亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testtrav.cpp

?? FastDb是高效的內存數據庫系統
?? CPP
字號:
//-< TESTTRAV.CPP >-------------------------------------------------*--------*
// FastDB                    Version 1.0         (c) 1999  GARRET    *     ?  *
// (Main Memory Database Management System)                          *   /\|  *
//                                                                   *  /  \  *
//                          Created:     15-Jan-99    K.A. Knizhnik  * / [] \ *
//                          Last update: 15-Jan-99    K.A. Knizhnik  * GARRET *
//-------------------------------------------------------------------*--------*
// Test of record traverse mechanism and set operations
//-------------------------------------------------------------------*--------*

#include <stdio.h>
#include "fastdb.h"
#include "set.h"

class Detail { 
  public: 
    char const*name;

    enum DetailClass { 
	dcResistor,
	dcTransistor,
	dcCondenser,
	dcDiode,
	dcBoard
    };
	
    dbSet<DetailClass> type;

    dbReference<Detail>             assembly;
    dbArray< dbReference<Detail> >  parts;

    TYPE_DESCRIPTOR((KEY(name, HASHED|INDEXED), 
		     RELATION(assembly, parts), 		     
		     RELATION(parts, assembly),
		     FIELD(type)));
    
    void print() const;
};

REGISTER(Detail);


dbSet<Detail::DetailClass> inputDetailClass()
{
    char buf[64], *type = buf;
    printf("Specify detail class(es)\n"
	   "\tr - resistor\n"
	   "\tt - transistor\n"
	   "\tc - condenser\n"
	   "\td - diode\n"
	   "\tb - board\n"
	   "? ");

    scanf("%s", type);
    dbSet<Detail::DetailClass> set;
    while (*type != '\0') { 
	switch (*type++) { 
	  case 'r':
	    set += Detail::dcResistor;
	    break;
	  case 't':
	    set += Detail::dcTransistor;
	    break;
	  case 'c':
	    set += Detail::dcCondenser;
	    break;
	  case 'd':
	    set += Detail::dcDiode;
	    break;
	  case 'b':
	    set += Detail::dcBoard;
	    break;
	  default:
	    printf("Invalid detail class: %c\n", *(type-1));
	    return set;
	}
    }
    return set;
}
	
void Detail::print() const
{ 
    printf("detail %s (", name);
    if (type.has(dcResistor)) { 
	printf("resistor ");
    }
    if (type.has(dcTransistor)) { 
	printf("transistor ");
    }
    if (type.has(dcCondenser)) { 
	printf("condenser ");
    }
    if (type.has(dcDiode)) { 
	printf("diode ");
    }
    if (type.has(dcBoard)) { 
	printf("board ");
    }
    printf(")\n");
}

int main() 
{ 
    dbDatabase db;
    if (db.open("testtrav")) { 
	dbReference<Detail> assembly;
	dbArray< dbReference<Detail> > parts;
	dbCursor<Detail> cursor;
	Detail detail;
	const int bufLen = 256;
	char name[bufLen];
	char newName[bufLen];
	dbSet<Detail::DetailClass> type;
	dbQuery q1, q2, q3, q4;
	bool notEmpty = cursor.select() > 0;

	q1 = "name=",name;
	q2 = type >= "type","start from",parts,"follow by parts";
	q3 = "start from",parts;
	q4 = "start from",assembly,"follow by assembly";

	detail.name = newName;

	while (true) { 
	    printf("\nMenu:\n"
		   "1. Add detail\n"
		   "2. Search for details\n"
		   "3. All details\n"
		   "4. Assembly parts\n"
		   "5. Part of\n"
		   "6. Exit\n>> ");
	    
	    int choice = 0;
	    
	    scanf("%d", &choice);
	    switch (choice) { 
	      case 1:
		if (notEmpty) { 
		    printf("Enter assembly name: ");
		    scanf("%s", name);
		}
		printf("Enter new detail name: ");
		scanf("%s", newName);
		detail.type = inputDetailClass();
		if (notEmpty) { 
		    db.lock();
		    if (cursor.select(q1) > 0) { 
			detail.assembly = cursor.currentId();
		    } else { 
			printf("No such detail\n");
			break;
		    }
		} else { 
		    detail.assembly = null;
		} 
		insert(detail);
		notEmpty = true;
		break;
	      case 2:
		printf("Enter assembly name: ");
		scanf("%s", name);
		type = inputDetailClass();
		if (cursor.select(q1) != 0) { 
		    parts = cursor->parts;
		    if (cursor.select(q2)) { 
			do { 
			    cursor->print();
			} while (cursor.next());
		    } else { 
			printf("This detail doesn't contain subparts\n");
		    }
		} else { 
		    printf("No such detail\n");
		}
		break;
	      case 3:
		if (cursor.select("start from first follow by parts")) { 
		    do { 
			cursor->print();
		    } while (cursor.next());
		} else { 
		    printf("No details\n");
		}
		break;
	      case 4:
		printf("Enter assembly name: ");
		scanf("%s", name);
		if (cursor.select(q1) != 0) { 
		    parts = cursor->parts;
		    if (cursor.select(q3)) { 
			do { 
			    cursor->print();
			} while (cursor.next());
		    } else { 
			printf("This detail doesn't contain subparts\n");
		    }
		} else { 
		    printf("No such detail\n");
		}
		break;
	      case 5:
		printf("Enter detail name: ");
		scanf("%s", name);
		if (cursor.select(q1) != 0) { 
		    assembly = cursor->assembly;
		    if (cursor.select(q4)) { 
			do { 
			    printf("assembly %s\n", cursor->name);
			} while (cursor.next());
		    } else { 
			printf("This detail is not part of any assembly\n");
		    }
		} else { 
		    printf("No such detail\n");
		}
		break;
	      case 6:
		db.close();
		return EXIT_SUCCESS;
	    }
	    db.commit();
	}
    } else { 
	fprintf(stderr, "Failed to open database\n");
	return EXIT_FAILURE;
    }
}







?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色老综合老女人久久久| 国产精品天天摸av网| 亚洲国产成人午夜在线一区| 久久国内精品自在自线400部| 免费高清成人在线| 99精品欧美一区二区三区综合在线| 在线视频综合导航| 久久精品水蜜桃av综合天堂| 国产一区福利在线| 1区2区3区国产精品| 97se亚洲国产综合在线| 有码一区二区三区| 91在线国内视频| 欧美一区二区三区性视频| 美女一区二区三区在线观看| 欧美精品一区二区三区四区| 欧美aaa在线| 99视频国产精品| 欧美精品第1页| 欧美日韩中文字幕精品| 日韩影视精彩在线| 久久精品一区二区| 成人av网站在线观看| 久久网站最新地址| 国产精品自产自拍| 精品美女在线观看| 色综合久久综合网欧美综合网| 日韩在线播放一区二区| 精品日韩一区二区三区 | 五月天欧美精品| 欧美理论在线播放| 美腿丝袜在线亚洲一区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 成人av免费观看| 亚洲自拍偷拍图区| 91麻豆精品国产| 国产成都精品91一区二区三| 日韩电影免费在线观看网站| 国产精品久久久久久久蜜臀| 国产酒店精品激情| 亚洲主播在线播放| 精品剧情v国产在线观看在线| 精品影视av免费| 欧美一区二区三区不卡| 精品一区二区三区在线观看| 国产精品蜜臀av| 在线不卡中文字幕播放| 成人国产精品免费观看动漫| 亚洲成人777| 久久―日本道色综合久久| 91同城在线观看| 国内精品国产成人国产三级粉色| 国产精品午夜久久| 国产精品久久久久久久久久久免费看| 国产精品中文字幕一区二区三区| 亚洲图片一区二区| 亚洲女人的天堂| 国产精品网站在线| 成人手机在线视频| 激情文学综合丁香| 日韩国产精品91| 亚洲免费av观看| 亚洲aⅴ怡春院| 日韩精品久久理论片| 一区二区三区精品在线观看| 欧美国产精品一区| 欧美中文字幕一区二区三区 | 欧美日韩一区不卡| 欧美三级韩国三级日本一级| 色偷偷88欧美精品久久久| 成人性生交大片免费看在线播放| 波多野结衣亚洲一区| 99re这里只有精品6| 粉嫩av一区二区三区粉嫩| 狠狠色丁香久久婷婷综合_中| 日韩高清一区二区| 国内久久婷婷综合| 麻豆精品在线播放| 99亚偷拍自图区亚洲| 国产成人免费av在线| 国产一区二区三区电影在线观看| 黑人巨大精品欧美黑白配亚洲| 日韩精品欧美成人高清一区二区| 亚洲精品videosex极品| 亚洲国产精华液网站w| 亚洲一区自拍偷拍| 国产一区二区三区免费播放| 色狠狠一区二区| 另类的小说在线视频另类成人小视频在线 | 午夜私人影院久久久久| 亚洲国产精品一区二区www| 视频一区欧美精品| 国产成人精品aa毛片| 国产成人8x视频一区二区 | 亚洲国产精品久久不卡毛片| 欧美人狂配大交3d怪物一区| 久久美女艺术照精彩视频福利播放 | 欧美人与z0zoxxxx视频| 91精品啪在线观看国产60岁| 国产日韩成人精品| 天天做天天摸天天爽国产一区| 久久国产精品色| 国产乱码精品1区2区3区| 欧洲一区在线电影| 精品久久人人做人人爱| 日韩精彩视频在线观看| 9人人澡人人爽人人精品| 成人毛片视频在线观看| 欧美一二三在线| 一区二区三区四区中文字幕| 中文字幕日韩一区| 日韩国产欧美在线视频| 国产黄人亚洲片| 日韩午夜小视频| 亚洲成人精品一区| 在线日韩av片| 国产日韩欧美亚洲| 国产一区二区h| 久久精子c满五个校花| 日韩精品欧美成人高清一区二区| 奇米亚洲午夜久久精品| 日韩精品一区二区三区三区免费| 一区二区三区成人| 99久久久免费精品国产一区二区| 在线国产亚洲欧美| 欧美日韩色综合| 精品国产一区二区三区四区四| 中文字幕在线观看不卡| 亚洲日本在线视频观看| 国产精品夜夜爽| 婷婷久久综合九色综合伊人色| 国产日韩欧美精品在线| 51精品国自产在线| 成人aa视频在线观看| 亚洲欧美日韩国产成人精品影院| 国产精品99久久久久久久女警 | 日韩美女一区二区三区| 国产福利精品一区| 精品一区二区三区免费播放| 日韩 欧美一区二区三区| 欧美成人精精品一区二区频| 精品视频色一区| 欧美日韩另类国产亚洲欧美一级| 成人av资源下载| 毛片基地黄久久久久久天堂| 久久久久久久久久美女| av不卡在线播放| 午夜精品免费在线观看| 国产精品短视频| 国产风韵犹存在线视精品| 日日骚欧美日韩| 一区二区不卡在线播放| 成人视屏免费看| 久久精品国产精品亚洲红杏| 欧美日韩精品欧美日韩精品一| 国产成人av电影在线播放| 丝袜a∨在线一区二区三区不卡| 久久在线观看免费| 久久成人免费网| 亚洲精品伦理在线| 亚洲国产精品99久久久久久久久 | 亚洲影院在线观看| 国产精品久久久久7777按摩| 欧美综合亚洲图片综合区| 亚洲va韩国va欧美va| 国产日产欧美一区二区视频| 懂色av一区二区在线播放| 亚洲午夜久久久| 天天综合网 天天综合色| 国产精品白丝jk黑袜喷水| 日韩精品一区二区三区老鸭窝| 中文字幕精品在线不卡| kk眼镜猥琐国模调教系列一区二区| 欧美成人猛片aaaaaaa| 精品精品欲导航| 久久精品夜色噜噜亚洲aⅴ| 欧美成人艳星乳罩| 国产视频在线观看一区二区三区| aaa国产一区| 日韩一级成人av| 久久久99免费| 久久色视频免费观看| 国产清纯在线一区二区www| 一区二区三区欧美亚洲| 一区二区三区国产| 韩日欧美一区二区三区| 国产69精品一区二区亚洲孕妇| 九一久久久久久| 91免费版在线| 日本一区二区综合亚洲| 日韩**一区毛片| 欧美网站大全在线观看| av亚洲精华国产精华| 91麻豆精品91久久久久久清纯| 久久久精品欧美丰满| 国产亚洲1区2区3区| 久草在线在线精品观看| 美女被吸乳得到大胸91| 91精品国产麻豆| 亚洲午夜私人影院|