[c++]논리 연산자 이해가 않가네요.ㅡㅡ;

boardholic의 이미지

while((ch=toupper(cin.get())) != 'Q')
           {
		if(ch != 'A' && ch != 'D')	                {
		      cout<<"\a";
                                      continue;
                                }
                                .............
                               .............
           }

여기서 입력받은 키가 'Q'이면 while문을 빠져나가고
키가 'A'나 'D'이면 다른 문을 실행, 그외의 문자면 삑소리내는건데요. 이상한게 'A'나'D'이면 연산자 || 이거를 써야하는거 아닌가요?
&&는 두 조건이 만족해야 하는건데 컴파일하고 실행해보면
||연산자를 사용할때는 어떤키를 눌러도 무조건 '삑'소리가 납니다.
&&연산자를 사용할때는 제대로 입력이 되었습니다.
왜그런건가요? 기본적인 제가 알고 있는 상식으로는 이해가 않갑니다 ㅜ.ㅜ..

ctcquatre의 이미지

착각 하신듯 하군요.

! 부정연산자를 잘 보시기 바랍니다.

!= A || !=D
해버릴경우 어떠한 경우에도 참이 됩니다.

Chaos to Cosmos,
Chaos to Chaos,
Cosmos to Cosmos,
Cosmos to Chaos.

doldori의 이미지

고등학교 수학에서 배운 de Morgan의 법칙을 떠올려 보시지요.
(~p and ~q)는 ~(p or q)와 같습니다.

yasoo의 이미지

if(ch != 'A' && ch != 'D')

모두 거짓이되버리는군요...

A 그리고 D 가 참아닐때.. >> (~p and ~q)

돌려보면 A또는 D 동시에참이 아닐때.. >>> ~(p or q)

둘다 동시에 참이되어야 하지만

그러긴 힘들겠죠? ^^

A 또는 D가 동시에 참인상황이라면 키가 둘다 동시에 눌려져 있어야 하니까요..^^

Can You See 1% of chance??
So that is MY WAY !!!

tinywolf의 이미지

!(p || q) -> (!p && !q)

논리학 수업에서 열나게 외웠드래지요..

저것 말고도 조건을 줄이는 방법 등 여러가지 정리하는 법을 외웠는데..

나중엔 정말 쓸만 하더군요..

ㅡ_ㅡ;

yasoo의 이미지

아마도 고딩때부터 배웠다죠? ㅋ

그놈의 드모르간 법칙....

컴퓨터 배울초창기엔... 저런거 안할줄 알았는데...

수학따위.. ㅡ_ㅡ^ 이랬는데 ㅋㅋ

저따위꺼 모르니까 프로그램이 불가능한 상황에 이르를수있다는 ㅋㅋ

Can You See 1% of chance??
So that is MY WAY !!!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.