Thread: help on program

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User
    Join Date
    Feb 2005
    Posts
    76

    help on program

    I am supposed to do this assignment stated:

    Write a C Program to have a char variable. Use printf to print “Press any Key!”. Make sure to print the double quotes as above. Use getch() to input the key pressed. Use puts to Output “You pressed” and putch to output the actual character.

    this is what I have done so far
    Code:
    #include <conio.h>
    #include <stdio.h>
    
    
    main(void){
               
               char c;
              
              
               printf("press any key!\n");
            getch();
              puts("you pressed\n"); 
               
               
    }

  2. #2
    Gawking at stupidity
    Join Date
    Jul 2004
    Location
    Oregon, USA
    Posts
    3,218
    You're missing some important parts of the assignment. You didn't really ask any questions, but I've bolded what you missed:

    Write a C Program to have a char variable. Use printf to print “Press any Key!”. Make sure to print the double quotes as above. Use getch() to input the key pressed. Use puts to Output “You pressed” and putch to output the actual character.

    getch() returns the character typed, but you're not capturing it. You're just letting it float away into space, never to be seen again. HINT: You have a char c. Use it.

    Pass the character returned by getch() to a putch() call. HINT: The character should be in your variable c if you follow the instructions in the previous paragraph.
    If you understand what you're doing, you're not learning anything.

  3. #3
    Registered User
    Join Date
    Feb 2005
    Posts
    76
    getch() returns the character typed, but you're not capturing it. You're just letting it float away into space, never to be seen again.

    So I should be putting in double quotes in ?
    HINT: You have a char c. Use it.
    I do not quite understand what you mean here?

    is this any better?
    Code:
    #include <stdio.h>
    main(){
       
               char c;
       
               printf("press a key!\n");
               getch("");
               puts("you pressed"); 
               putch("");
    }

  4. #4
    Registered User
    Join Date
    Mar 2005
    Posts
    32

    hehe


    HINT: You have a char c. Use it.


    char c;
    getch("");
    putch("");
    hahahahahahahhahaha, suttle, but still nasty as ever.

  5. #5
    Registered User
    Join Date
    Jan 2005
    Posts
    184
    haee no
    Code:
    getch() returns the character typed, but you're not capturing it. You're just letting it float away into space, never to be seen again.
    getch() return a whatever key u have pressed on the keyboard. so you will have to capture the return calue of the getch so that u can print the char later on in the program.if you dont capture i will wont get the value return by getch to be printed in future program.

    so getch returns of type int so the code will look like this
    Code:
    main()
    {
         int ch;
         .
         .
         ch=getch()
         putch(ch);
    }
    and in the question it is also asked to print the message within the double qoutes
    so for that u will have to do this
    Code:
    printf("\"Press any key\");
    hope this helps you out, if u get any prob let me know

    s.s.harish

  6. #6
    customized user title!
    Join Date
    Mar 2005
    Posts
    24
    Quote Originally Posted by ssharish
    and in the question it is also asked to print the message within the double qoutes
    so for that u will have to do this
    Code:
    printf("\"Press any key\");
    You forgot something:
    Code:
    printf("\"Press any key!\"\n");
    Like \n, \"(that prints a ") is an escape sequence

  7. #7
    Registered User
    Join Date
    Feb 2005
    Posts
    76

    Puts and putch

    I do not understand what puts or ptuch is is

    how do you use these words?
    what do you use them for?

  8. #8
    Registered User
    Join Date
    Feb 2005
    Posts
    38
    Quote Originally Posted by robasc
    I do not understand what puts or ptuch is is

    how do you use these words?
    what do you use them for?
    puts - http://cplusplus.com/ref/cstdio/puts.html

    ptuch - Havn't heard of it.

  9. #9
    Gawking at stupidity
    Join Date
    Jul 2004
    Location
    Oregon, USA
    Posts
    3,218
    He'll definitely run into problems with that printf() syntax. I was actually hoping he'd figure it out on his own, since everything he needed to know to complete this assignment was probably covered in class or was assigned reading.
    If you understand what you're doing, you're not learning anything.

  10. #10
    Registered User
    Join Date
    Feb 2005
    Posts
    38
    Why don't teachers ever push C standards? <conio.h> pshshs.

    Also, itsme gave him a perfect amount of advice. The other posts are just going to confuse him. robasc seemed to have completely misunderstood the original post.

  11. #11
    Registered User
    Join Date
    Feb 2005
    Posts
    76
    Well, I am completely lost ! I have been working on this for a week now and I still cannot figure it out. What in the world am i doing wrong.
    Code:
    #include <conio.h>
    #include <stdio.h>
    
     main(void){
                
                 char c;
              
               printf("Press any key!\n");
               c=getch();
    puts("you pressed");
    putch;
          
              
              }

  12. #12
    Work in Progress..... Jaken Veina's Avatar
    Join Date
    Mar 2005
    Location
    Missouri. Go Imos Pizza!
    Posts
    256
    First off, I'd like to point out, even though this is kinda off topic, you might want to post this in C++ Programming next time.

    As for the code, you're very close. Again, you're not printing the quotes in the printf statement. Since " is a special character in the syntax of printf and puts (namely it designates the string to be outputted) you can't simply put another quote down. Here's an example of how your code is being read.
    Code:
    printf("press any key!\n");
    The red text is what is actually being outputted. \n is a special character that is really the same as you pressing the enter key. The dark red quotes are not printed. They simply tell the program that everything between them is a character string. Because the double quote serves this purpose, you can't just put exrta double quotes in there. If you do that, the program will group two separate strings and then you will have problems. Now, since people such as yourself want to output a double quote character, you simply put in \" wherever you want one to be outputted. It is read just like the \n character, except it outputs a double quote instead of going to the next line.

    The puts (which stands for put string) is perfectly fine, as I'm sure you know.

    However, you don't quite seem to understand how putch (put character) works. Remember, that any function, no matter what, has parenthases, whether it takes arguments or not. So, your first mistake was that you put
    Code:
    putch;
    instead of
    Code:
    putch();
    Secondly, it outputs a character, but you need to tell it what character. If you want it to output the vlue of a character variable, simply put the name of the variable in the parenthases. If you want it to always output the same character, simply put that character inside the parenthases and surround it with a single quote('). Like so.
    Code:
    char variable;
    putch(variable);
    Code:
    putch('a');
    You think you get it now? I hope I didn't ramble too much.
    Last edited by Jaken Veina; 03-26-2005 at 04:58 PM.

  13. #13
    Registered User
    Join Date
    Feb 2005
    Posts
    76
    Ok, I understand everything but the double quote thing you say: Again, you're not printing

    the quotes in the printf statement. I am still confused here. Are you saying that after my

    string I need to add \".
    Code:
    #include <conio.h>
    #include <stdio.h>
    
     main(void){
                
                 char c;
                         printf("press a key!");
               c=getch();
    puts("you pressed");
    putch(c);
          
              
              }

  14. #14
    Registered User
    Join Date
    Feb 2005
    Posts
    76
    I am assumming I need to write like this

    Code:
    printf(\" press a key!\");
    or should it be
    Code:
    printf("press a key!"\");

  15. #15
    customized user title!
    Join Date
    Mar 2005
    Posts
    24
    Your assignment is to print "Press any key!" INCLUDING the quotes.
    Code:
    printf("Press any key!\n"); /* outputs: Press any key! */
    /* however */
    printf("\"Press any key!\"\n"); /* outputs: "Press any key!" */
    Why this happens is explained in Jaken Veina's post above [edit]and now below[/edit].
    Last edited by l0cke; 03-26-2005 at 06:46 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Issue with program that's calling a function and has a loop
    By tigerfansince84 in forum C++ Programming
    Replies: 9
    Last Post: 11-12-2008, 01:38 PM
  2. Need help with a program, theres something in it for you
    By engstudent363 in forum C Programming
    Replies: 1
    Last Post: 02-29-2008, 01:41 PM
  3. Replies: 4
    Last Post: 02-21-2008, 10:39 AM
  4. My program, anyhelp
    By @licomb in forum C Programming
    Replies: 14
    Last Post: 08-14-2001, 10:04 PM