From: "Anes Hadzic" Newsgroups: comp.os.msdos.djgpp Subject: Re: "-1" cannot quite the prog.. Date: Wed, 8 Dec 1999 21:42:58 +0100 Organization: BIHnet News Server Lines: 87 Message-ID: <82mjrm$qkh5@ns4.bih.net.ba> References: <82j9n0$bi8$1 AT imsp026 DOT netvigator DOT com> NNTP-Posting-Host: dialup1-ppp225.bih.net.ba X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2014.211 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2014.211 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Jason Yip wrote in message news:82j9n0$bi8$1 AT imsp026 DOT netvigator DOT com... > I wrote this prog and expect it can be quited by entering -1... > however it shows wrong if I enter "-1"... > What's more, when I enter a wrong answer.. the answer will never be correct > again... > I wonder why it acts like this... > Can anyone helps me? Thx.. > > #include > #include > #include > main () > { > int ans,h,a,b; > printf("Enter -1 to end\n"); > do{ > srand(time(NULL)); > a=1+(rand()%9); > b=1+(rand()%9); > printf("How much is %d times %d? ",a,b); > ans=a*b; > scanf("%d",&h); > if (ans == h || h != -1) > printf("Very Good!\n"); > else > if (ans != h || h != -1){ > do{{ > printf("No. Please try again.\n"); > printf("? "); > scanf("%d",&h);} > if (ans == h || h != -1) > printf("Very Good!\n");} while (ans != h || h != -1); > }} while (h != -1); > if (h == -1) > printf("That's all for now. Bye."); > return 0; > } > > > > if (ans != h || h != -1){ > do{{ > printf("No. Please try again.\n"); ... ... > however it shows wrong if I enter "-1"... ... mean: if ans!=h OR h!=-1. It's allways true. #include #include #include main () { int ans,h,a,b; printf("Enter -1 to end\n"); srand(time(NULL)); for (;;) /* forever */ { a=1+(rand()%9); b=1+(rand()%9); printf("How much is %d times %d? ",a,b); ans=a*b; for (;;) { scanf("%d",&h); if (h==-1) /* terminate */ { printf("\nThat's all for now. Bye."); exit (0); } if (ans==h ) { printf("Very Good!\n"); break; } else printf("No. Please try again.\n"); } } }