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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? classdevice.cpp

?? C實(shí)現(xiàn)模擬與或非門的邏輯電路
?? CPP
字號(hào):

#include "StdAfx.h"
#include "Classdevice.h"
#include "Datastruct.h"
#include "Linklist.h"

//計(jì)算出持續(xù)時(shí)間
void Device::Calculasttime()
{
	LinkList optr = output;
	int temp;	
	(optr->data).lasttime = (optr->data).sumtime;
	temp = (optr->data).sumtime;
	
	while (1)
	{	
		optr = optr->next;
		if(optr == NULL)
			break;
		(optr->data).lasttime = (optr->data).sumtime-temp;
		temp = (optr->data).sumtime;
	}
}

//合并相鄰相同的信號(hào)
void Device::Delcommon()
{
	LinkList ptr1, ptr2;                       //用于遍歷比較相鄰信號(hào)
	ptr1 = output;
	ptr2 = ptr1->next;
	while (ptr2 != 0)
	{
		if (ptr1->data.value == ptr2->data.value)
		{
			ptr1->data.sumtime = ptr2->data.sumtime;
			ListDelete(output,ptr1);
			ptr2 = ptr1->next;
		} 
		else
		{
			ptr1 = ptr2;
			ptr2 = ptr1->next;
		}
	}
}

//延時(shí)
void Device::Delay()
{
	LinkList ptr = output;
	if (ptr->data.value == true)                  //如果無延時(shí)時(shí)先輸出高電平
	{
		ListInsertFirst(output, false, delaytime);
	}
	else
	{
		while (ptr->next != 0)
		{
			ptr->data.sumtime += delaytime;
			ptr = ptr->next;
		}
	}
}

//獲得輸出
LinkList Device::GetOutput()
{
	return output;
}

//為input1賦值
void Device::SetInput1(LinkList systeminput)
{
	input1 = systeminput;
}

//為input2賦值
void Device::SetInput2(LinkList systeminput)
{
	input2 = systeminput;
}

//標(biāo)記輸出
void Device::SetOutputTag()
{
	outputtag = true;
}

//標(biāo)記輸入一
void Device::SetInputTag1()
{
	inputtag1 = true;
}

//標(biāo)記輸入二
void Device::SetInputTag2()
{
	inputtag2 = true;
}

//判斷是否兩個(gè)輸入都已經(jīng)被賦值,是則返回true,否則返回false
bool Device::Ifinput()
{
	if (inputtag1 == true && inputtag2 ==true)
	{
		return true;
	} 
	else
	{
		return false;
	}
}

//判斷輸出是否已經(jīng)計(jì)算出,是則返回true,否則返回false
bool Device::Ifoutput()
{
	if (outputtag == true)
	{
		return true;
	} 
	else
	{
		return false;
	}
}

//與門構(gòu)造函數(shù),為output加結(jié)點(diǎn)并初始化為零
DeviceAND::DeviceAND()
{
	delaytime = 10;                              //初始化延遲時(shí)間
	inputtag1 = false;
	inputtag2 = false;
	outputtag = false;
	output = new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

//*************************
//或門構(gòu)造函數(shù),為output加結(jié)點(diǎn)并初始化為零
DeviceOR::DeviceOR()
{
	delaytime = 10;                              //初始化延遲時(shí)間
	inputtag1 = false;
	inputtag2 = false;
	outputtag = false;
	output = new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

//與非門構(gòu)造函數(shù),為output加結(jié)點(diǎn)并初始化為零
DeviceNAND::DeviceNAND()
{
	delaytime = 15;                              //初始化延遲時(shí)間
	inputtag1 = false;
	inputtag2 = false;
	outputtag = false;
	output=new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

//異或門構(gòu)造函數(shù),為output加結(jié)點(diǎn)并初始化為零
DeviceXOR::DeviceXOR()
{
	delaytime = 20;                             //初始化延遲時(shí)間
	inputtag1 = false;
	inputtag2 = false;
	outputtag = false;
	output = new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

//同或門構(gòu)造函數(shù),為output加結(jié)點(diǎn)并初始化為零
DeviceNXOR::DeviceNXOR()
{
	delaytime = 20;                             //初始化延遲時(shí)間
	inputtag1 = false;
	inputtag2 = false;
	outputtag = false;
	output = new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

//通過輸入得到輸出
bool Device::GetResponse()
{
	LinkList ptr1, ptr2;                        //兩個(gè)指針用于遍歷兩個(gè)輸入信號(hào)
	LinkList optr = output;
	LinkList temp;
	int currenttime;                             //已經(jīng)計(jì)算過的時(shí)間
	ptr1 = input1;
	ptr2 = input2;
	while (ptr1 != 0 || ptr2 != 0)
	{
		if (ptr1->data.sumtime < ptr2->data.sumtime)//若信號(hào)一掃描的慢一些
		{
			currenttime = ptr1->data.sumtime;
			optr->data.sumtime = currenttime;
			optr->data.value = LogicExpression(ptr1->data.value, ptr2->data.value);
			ptr1 = ptr1->next;
		} 
		else if (ptr1->data.sumtime > ptr2->data.sumtime)//若信號(hào)一快一些
		{
			currenttime =  ptr2->data.sumtime;
			optr->data.sumtime = currenttime;
			optr->data.value = LogicExpression(ptr1->data.value, ptr2->data.value);
			ptr2 = ptr2->next;
		} 
		else//若相同
		{
			currenttime = ptr2->data.sumtime;
			optr->data.sumtime = currenttime;
			optr->data.value = LogicExpression(ptr1->data.value, ptr2->data.value);
			ptr1 = ptr1->next;
			ptr2 = ptr2->next;
		}

		if(ptr1 != 0 || ptr2 != 0)
		{
			temp = new LNode;
			temp->next = 0;
			optr->next = temp;
			optr = optr->next;
		}
		
	}

	Delcommon();	
	Calculasttime();
	Delay();
	Calculasttime();

	return true;
}

bool Device::LogicExpression(bool A, bool B)
{
	return A && B;
}

//與門邏輯表達(dá)式
bool DeviceAND::LogicExpression(bool A, bool B)
{
	return A && B;
}

//或門邏輯表達(dá)式
bool DeviceOR::LogicExpression(bool A, bool B)
{
	return A || B;
}

//與非門邏輯表達(dá)式
bool DeviceNAND :: LogicExpression(bool A, bool B)
{
	return !(A && B);
}

//異或門邏輯表達(dá)式
bool DeviceXOR::LogicExpression(bool A,bool B)
{
	return ((!A) && B) || (A && (!B));
}

//同或門邏輯表達(dá)式
bool DeviceNXOR::LogicExpression(bool A,bool B)
{
	return (A && B) || ((!A) && (!B));
}


void DeviceNOT::Delay()
{
	LinkList ptr = output;
	if (ptr->data.value == true)                    //如果無延時(shí)時(shí)先輸出高電平
	{
		ListInsertFirst(output, false, delaytime);
	}
	else
	{
		while (ptr->next != 0)
		{
			ptr->data.sumtime += delaytime;
			ptr = ptr->next;
		}
	}
}

//非門獲取輸出
LinkList DeviceNOT::GetOutput()
{
	return output;
}

//非門為input賦值
void DeviceNOT::SetInput(LinkList systeminput)
{
	input = systeminput;
}

void DeviceNOT::SetInputTag()
{
	inputtag = true;
}

void DeviceNOT::SetOutputTag()
{
	outputtag = true;
}
//判斷是否輸入已經(jīng)被賦值,是則返回true,否則返回false
bool DeviceNOT::Ifinput()
{
	if (inputtag == true)
	{
		return true;
	} 
	else
	{
		return false;
	}
}

//判斷輸出是否已經(jīng)計(jì)算出,是則返回true,否則返回false
bool DeviceNOT::Ifoutput()
{
	if (outputtag == true)
	{
		return true;
	} 
	else
	{
		return false;
	}
}

DeviceNOT::DeviceNOT()
{
	delaytime = 5;                              //初始化延遲時(shí)間
	inputtag = false;
	outputtag = false;
	output = new LNode;
	output->next = 0;
	output->data.lasttime = 0;
	output->data.sumtime = 0;
	output->data.value = 0;
}

void DeviceNOT::Calculasttime()
{
	LinkList optr = output;
	int temp;	
	(optr->data).lasttime = (optr->data).sumtime;
	temp = (optr->data).sumtime;
	
	while(1)
	{	
		optr = optr->next;
		if(optr == NULL)
			break;
		(optr->data).lasttime = (optr->data).sumtime-temp;
		temp = (optr->data).sumtime;
	}
}

bool DeviceNOT::GetResponse()
{
	LinkList ptr;                                 //指針用于遍歷輸入信號(hào)
	LinkList optr = output;
	LinkList temp;
	ptr = input;
	while (ptr != 0)
	{
		optr->data.sumtime = ptr->data.sumtime;
		optr->data.lasttime = optr->data.lasttime;
		optr->data.value =! (ptr->data.value);
		ptr = ptr->next;
		
		if(ptr != 0)
		{
			temp = new LNode;
			temp->next = 0;
			optr->next = temp;
			optr = optr->next;
		}		
	}
	Calculasttime();
	Delay();
	Calculasttime();
	return true;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区免费乱视频| 91久久人澡人人添人人爽欧美| 欧美一区二区福利在线| 亚洲va韩国va欧美va| 欧美日韩一级黄| 五月天婷婷综合| 91精品蜜臀在线一区尤物| 免费成人av在线播放| 精品电影一区二区三区| 国产精品系列在线观看| 亚洲丝袜精品丝袜在线| 色哟哟日韩精品| 亚洲成在人线免费| 欧美成人三级电影在线| 高清不卡一区二区| 亚洲美腿欧美偷拍| 日韩一卡二卡三卡四卡| 国产suv精品一区二区三区| 中文字幕在线播放不卡一区| 在线免费观看视频一区| 看国产成人h片视频| 国产精品美女久久福利网站| 欧美色涩在线第一页| 久久99精品网久久| 亚洲同性gay激情无套| 欧美日韩一区三区| 国产成人在线影院| 亚洲一区二区五区| 久久影视一区二区| 在线亚洲欧美专区二区| 麻豆国产精品官网| 亚洲精品日韩专区silk| 欧美一级免费大片| jlzzjlzz亚洲女人18| 美日韩一区二区| 亚洲人亚洲人成电影网站色| 91精品国产一区二区| 99国产精品久久| 国产综合色视频| 亚洲午夜精品在线| 欧美国产精品久久| 欧美一区二区成人6969| av电影在线不卡| 激情亚洲综合在线| 亚洲图片有声小说| 亚洲欧洲三级电影| 久久一区二区三区四区| 欧美日韩一区二区电影| 91污片在线观看| 国产精品白丝jk黑袜喷水| 日韩主播视频在线| 亚洲免费视频成人| 中文字幕av一区 二区| 欧美mv和日韩mv国产网站| 欧美日韩精品一区二区三区| www.一区二区| 国产美女视频一区| 精品一区二区久久久| 五月天一区二区三区| 一个色综合av| 亚洲人成在线播放网站岛国| 国产日产亚洲精品系列| 欧美精品一区二| 91精品国产麻豆| 欧美色图片你懂的| 欧美在线免费视屏| 色婷婷综合激情| 色综合天天做天天爱| 成人av在线播放网站| 成人国产精品免费观看| 成人网在线免费视频| 国产乱人伦偷精品视频不卡| 精品亚洲成av人在线观看| 日本伊人午夜精品| 裸体歌舞表演一区二区| 日av在线不卡| 捆绑紧缚一区二区三区视频| 老司机精品视频在线| 激情五月播播久久久精品| 麻豆中文一区二区| 久久99国产精品久久99果冻传媒 | 久久日韩粉嫩一区二区三区| 91精品国产美女浴室洗澡无遮挡| 欧美肥妇毛茸茸| 欧美一级二级三级蜜桃| 日韩三区在线观看| 日韩精品中文字幕一区| 2023国产精品| 国产精品系列在线| 亚洲欧美电影院| 亚洲国产精品精华液网站| 日韩一区精品视频| 狠狠狠色丁香婷婷综合激情| 国产成人av一区二区| 99在线热播精品免费| 欧美日韩在线三级| 精品裸体舞一区二区三区| 国产婷婷色一区二区三区| 国产欧美日韩三区| 亚洲激情自拍偷拍| 亚洲午夜一区二区| 国产一区二区三区在线观看免费 | 日韩精品在线看片z| 日本一区二区在线不卡| 国产精品成人一区二区三区夜夜夜| 中文字幕av不卡| 亚洲成av人片| 国产剧情一区二区| 色婷婷综合视频在线观看| 欧美日韩精品一区二区在线播放| 精品理论电影在线| 椎名由奈av一区二区三区| 亚洲小少妇裸体bbw| 久久精品99久久久| 色婷婷亚洲综合| 精品国产免费久久 | 久久伊人中文字幕| 亚洲精品国产一区二区精华液| 日本大胆欧美人术艺术动态| 国产一区二区免费视频| 91福利国产精品| 欧美α欧美αv大片| 亚洲久本草在线中文字幕| 另类欧美日韩国产在线| 色婷婷一区二区| 日韩一区二区在线看| 一色屋精品亚洲香蕉网站| 亚洲色图19p| 国产伦精品一区二区三区视频青涩 | 91免费看片在线观看| 欧美浪妇xxxx高跟鞋交| 欧美国产精品一区| 美女脱光内衣内裤视频久久网站| www.av亚洲| 国产日韩影视精品| 日韩激情中文字幕| 色综合咪咪久久| 日韩一区二区三区视频在线| 亚洲欧美一区二区三区久本道91| 精品一区二区三区在线观看| 91久久免费观看| 亚洲欧美综合色| 国产麻豆成人精品| 精品免费99久久| 午夜免费久久看| 97精品国产97久久久久久久久久久久| 精品三级在线观看| 亚洲国产一区视频| 91在线码无精品| 亚洲国产岛国毛片在线| 男女性色大片免费观看一区二区| 色妹子一区二区| 国产精品乱码一区二三区小蝌蚪| 久久国产婷婷国产香蕉| 欧美高清性hdvideosex| 亚洲午夜影视影院在线观看| 91福利区一区二区三区| 亚洲精品一卡二卡| 91免费观看在线| 亚洲欧美二区三区| 在线看国产一区| 亚洲精品中文字幕在线观看| 91福利在线观看| 一区二区三区在线不卡| 色天天综合色天天久久| 亚洲欧美激情视频在线观看一区二区三区| 丁香另类激情小说| xf在线a精品一区二区视频网站| 蜜臀精品一区二区三区在线观看| 欧美日韩精品一区二区三区| 午夜久久久久久久久 | 欧美片在线播放| 天天综合色天天| 6080亚洲精品一区二区| 日韩av在线发布| 欧美一级二级三级乱码| 国产一区亚洲一区| 国产片一区二区| 成人av免费在线播放| 1区2区3区国产精品| 欧美自拍偷拍一区| 香港成人在线视频| 欧美一级片在线| 国产精品1区2区| 自拍偷拍国产精品| 欧美色精品天天在线观看视频| 日韩国产精品久久久| 91精品国产综合久久久久久漫画| 麻豆专区一区二区三区四区五区| 亚洲精品一线二线三线| 成人污污视频在线观看| 一区二区三区免费在线观看| 制服丝袜日韩国产| 国产一区二区毛片| 亚洲天堂av一区| 69堂亚洲精品首页| 成人美女视频在线看| 亚洲最大色网站| 精品久久久久久无| 91在线porny国产在线看|