Solved

Using function prototypes with a loop

Posted on 1998-04-22
5
234 Views
Last Modified: 2010-04-15
I am writing a program to use global function prototypes. So far I have the functions working the way I want but
the last last part of the loop will not print the letter and terminate the program. Can any body help? I can not use
global variables and goto statements. I have six letters to let the user pick from,('A/a','B/b','P/p','X/x','y/y',or'Q/q')
once the letter is chosen, it prints out as an upper case version using the lower case letter. If the letter 'Q' or 'q'
is used it is supposed to print out the upper case version and terminate. This is where I am having the problem.
The program starts:
#include <stdio.h>
void prn_A(void);
void prn_B(void);
void prn_P(void);
void prn_X(void);
void prn_Y(void);
void prn_Q(void);
void main ()
{
  char ch;
      do
      { printf("Enter one of the following upper or lower case letters, A/a, B/b, P/p, X/x, Y/y or (Q/q to quit)"  );
                        flushall();
                        ch=getchar();
            if(ch=='Q' || ch=='q')
                continue;
                else if(ch=="A' || ch=='a')
                           prn_A();
                else if(ch=='B' || ch=='b')
                           prn_B();
                else if(ch=='P' || ch=='p')
                           prn_P();
                else if(ch=='X' || ch=='x')
                           prn_X();
                else if(ch=='Y' || ch=='y')
                           prn_Y();
     }
       while(ch!='Q' || ch!='q');
                 prn_Q();
}
       void prn_A(void)
       {
         printf("This is where it prints the upper case version of 'A' using lower case 'a'");
       }
       void prn_B(void)
       {
        printf("This is where it prints the upper case version of 'B' using lower case 'b'");
       }
       void prn_P(void)
       {
        printf("This is where it prints the upper case version of 'P' using lower case 'p'");
       }
And so on, the remaining letters are the same. As I said, everything works up to the point where I try to print
the letter 'Q' and terminate the program. I am new at this so please have patience with my programing.            
0
Comment
Question by:cstudent
  • 3
  • 2
5 Comments
 

Author Comment

by:cstudent
ID: 1252061
Edited text of question
0
 
LVL 3

Accepted Solution

by:
q2guo earned 50 total points
ID: 1252062
I think line
while(ch!='Q' || ch!='q');

should be
while(ch !='Q' && ch !='q');
0
 

Author Comment

by:cstudent
ID: 1252063
Thanks for the info. It worked just fine. My only question is why the && and not the || ?
Don't both conditions have to be true using && ? Thanks again. cstudent
0
 
LVL 3

Expert Comment

by:q2guo
ID: 1252064
Well, think about it

when you say while(ch != 'Q' || ch != 'q')
you are telling the computer you want to stay in the
loop if ch is not Q or ch is not q.  Since ch will
never be Q and q at the same time.  So, the loop continues for
ever.
0
 

Author Comment

by:cstudent
ID: 1252065
g2guo,
Thanks for the explanation. It helped a lot.
                                        cstudent
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Preface I don't like visual development tools that are supposed to write a program for me. Even if it is Xcode and I can use Interface Builder. Yes, it is a perfect tool and has helped me a lot, mainly, in the beginning, when my programs were small…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

912 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now