离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx

上传人:b****7 文档编号:8710626 上传时间:2023-02-01 格式:DOCX 页数:8 大小:111.27KB
下载 相关 举报
离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx_第1页
第1页 / 共8页
离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx_第2页
第2页 / 共8页
离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx_第3页
第3页 / 共8页
离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx_第4页
第4页 / 共8页
离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx

《离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx》由会员分享,可在线阅读,更多相关《离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx(8页珍藏版)》请在冰豆网上搜索。

离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路.docx

离散数学实验三用化简命题逻辑公式的方法设计一个表决开关电路

离散数学-实验三-用化简命题逻辑公式的方法设计一个表决开关电路

离散数学实验报告

专业班级:

姓名:

学号:

实验成绩:

1.【实验题目】

命题逻辑(3)

2.【实验目的】

加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。

3.【实验内容】

用化简命题逻辑公式的方法设计一个表决开关电路。

4.【实验要求】

通过以下界面提示实现相应逻辑运算,给出具体逻辑值

****************************************************************

请输入5位董事(分别用A、B、C、D、E表示)的表决值(1或0):

A董事表决值(1或0):

B董事表决值(1或0):

C董事表决值(1或0):

D董事表决值(1或0):

E董事表决值(1或0):

{

chara[100],b[100],c[100],d[100],e[100];//定义5个字符型数组,用来储存ABCDE5个董事的表决值

charf[100];//f数组为接收出结果/继续/结束的字符

voidprint();//声明打****的函数

for(;;)

{

print();

cout<<"\n\t请输入5位董事(分别用A、B、C、D、E表示)的表决值(1或0):

\n\n";

cout<<"\tA董事表决值(1或0):

\n\tB董事表决值(1或0):

\n\tC董事表决值(1或0):

\n\tD董事表决值(1或0):

\n\tE董事表决值(1或0):

";

cout<<"\n\n\t出结果/继续/结束(y/c/exit):

\n";

print();

cout<<"请输入A董事表决值(1或0):

";

cin>>a;

while(strcmp(a,"0")!

=0&&strcmp(a,"1")!

=0)//利用strcmp判断字符串,排除其他错误

{

print();

cout<<"A董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入A董事表决值(1或0):

";

cin>>a;

}

print();

cout<<"请输入B董事表决值(1或0):

";

cin>>b;

while(strcmp(b,"0")!

=0&&strcmp(b,"1")!

=0)

{

print();

cout<<"B董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入B董事表决值(1或0):

";

cin>>b;

}

print();

cout<<"请输入C董事表决值(1或0):

";

cin>>c;

while(strcmp(c,"0")!

=0&&strcmp(c,"1")!

=0)

{

print();

cout<<"C董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入C董事表决值(1或0):

";

cin>>c;

}

print();

cout<<"请输入D董事表决值(1或0):

";

cin>>d;

while(strcmp(d,"0")!

=0&&strcmp(d,"1")!

=0)

{

print();

cout<<"D董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入D董事表决值(1或0):

";

cin>>d;

}

print();

cout<<"请输入E董事表决值(1或0):

";

cin>>e;

while(strcmp(e,"0")!

=0&&strcmp(e,"1")!

=0)

{

print();

cout<<"E董事表决值输入有误,请重新输入!

\n";

print();

cout<<"请输入E董事表决值(1或0):

";

cin>>e;

}

print();

cout<<"您输入的董事会表决值为:

\n";

cout<<"\tA董事表决值:

"<

"<

"<

"<

"<

print();

for(;;)

{

cout<<"\t出结果/继续/结束(y/c/exit):

";

cin>>f;

if(strcmp(f,"y")==0)

{

if((a[0]+b[0]+c[0]+d[0]+e[0])>242){print();cout<<"表决通过!

\n";print();}//利用ASCII码判断表决值是否大于242(10进制为3)

else

{

print();

cout<<"表决不通过。

\n";

print();

}

}

elseif(strcmp(f,"c")==0)

{

break;

}

elseif(strcmp(f,"exit")==0)

{

exit(0);

}

else

{

print();

cout<<"输入有误,请重新输入!

\n";

print();

}

}

}

system("pause");

return0;

}

 

voidprint()

{

cout<<"****************************************************************\n";

}

7.【实验结果与分析总结(含运行结果截图)】

主界面:

功能演算:

测试错误:

分析总结:

要善于利用strcmp函数来判断字符串之间是否相等,避免接受进不必要的字符造成程序错误。

把表决值定义为字符型的话,在判断是否表决通过的时候,也应该利用ASCII码来判断(0的ASCII码为48;1的ASCII码为49)。

为了程序美观,可以把打印星号的语句单独写为子函数,这样每次要打印星号的时候,只要调用该子函数即可。

有时候之前输入的数据会对后面的输入造成干扰,这时候可以使用fflush(stdin)来清空输入缓存区,以免对后面数据的输入造成干扰。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1