Hi - The assignment is to write a C program that prompts the user to enter a line of text up to 69 chars, then convert the text to upper and lower case. The program is required to use pointer notation, not array notation. The program needs to setup a pointer to the text array. I am having a hard time understanding pointers.. below is my code thus far which is not working (it only outputs garbage). Please HELP !! It is due very soon!!!!!

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
 

void main(void)
{
 
 /* Declare variables*/
 
	char  text[70], *text_ptr;
	int   i;
 
	text_ptr = text;

 /* Prompt user for line of text*/
 
	printf ("\nEnter a line of text (up to 69 characters):\n");
	gets(text);
 
 
 /* Convert and output the text in uppercase characters.*/
 
	printf ("\nThe line of text in uppercase is:\n");
 
	i = 0;
		while ( text[i] != '\0')  
		putchar( toupper[*text_ptr]++]) );
 
 /*Convert and output the text in lowercase characters. */
 
	printf ("\n\nThe line of text in lowercase is:\n");
 
	i = 0;
		while ( text[*text_ptr] != '\0')  
		putchar( tolower(text[(*text_ptr)++]) );
  
	getch();
 

} // end main

> void main(void)
http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1044841143&id=1043284376

> gets(text);
http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1049157810&id=1043284351

Here's a little program to show the same thing using arrays and pointers

#include <stdio.h>
int main ( ) {
  char test[] = "this is a test\n";
  char *p;
  int i;
  for ( i = 0 ; test[i] != '\0'; i++ ) putchar(test[i]);
  for ( p = test ; *p != '\0'; p++ ) putchar(*p);
  return 0;
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.