Total members 10249 | Gratitudes |It is currently Thu May 17, 2012 7:54 am Login / Join Codemiles


All times are UTC [ DST ]




Post new topic Reply to topic  Quick reply  [ 2 posts ] 
Author Question
 Question subject: convert lowercase to uppercase
PostPosted: Fri Nov 07, 2008 5:23 pm 
Offline
Proficient
User avatar

Joined: Sun Oct 19, 2008 3:47 pm
Posts: 281
Has thanked: 0 time
Have thanks: 1 time

I'm trying to write a programme to convert lowercase to uppercase,


I wrote this myself(phew! wasn't easy)
Code:
#include<stdio.h>
main()
{
char lett[80];
int convt,i=0;

convt='a'-'A';
printf("Enter the word in lowercase \n");
gets(lett);

for(i=0;(lett[i]>='a')&&(lett[i]<='z');i++)
{
if(lett[i]==' ')
printf("\t");

else lett[i]-=convt;

}

puts(lett);
}


But the problem is, after a space it doesn't convert to uppercase anymore, I've
tried some logic to fix it, (thats why the if statement is there) but it doesn't
work

I got this from the textbook I'm reading. it has the same problem too.


Code:
#include<stdio.h>
main()
{
char str[80];
int i,delt='a'-'A';
printf("Enter a string less than 80 characters:\n");
gets(str);
i=0;
while(str[i])
{
if ((str[i]>='a')&&(str[i]<='z'))
str[i]-=delt;
++i;
}
printf("The entered string is (in uppercase):\n");
puts(str);
return 0;
}





By the way, the compiler (or software) I use is SILVERFROST(/PLATO);


TOP
 Profile Send private message  
Reply with quote  
 Question subject: Re: convert lowercase to uppercase
PostPosted: Fri Nov 07, 2008 5:25 pm 
Offline
Proficient
User avatar

Joined: Sun Oct 19, 2008 3:53 pm
Posts: 229
Has thanked: 0 time
Have thanks: 0 time
The way you wrote the 'for' statement is
ingenious, but there's the problem, actually: the
'for' loop executes as long as the condition in
the second part between the parentheses holds.
You wrote: "loop as long as the i-th character in
the string is a lower-case letter." As soon as it
encounters a space (or any other character outside
that range, for that matter), it exits the loop.

What you really want is to loop through *all* the
characters in the string, since you don't know a
priori where the last lower-case character is. In
other words, you want to loop with 'i' varying
from the first index in the string to the last one
(which not necessarily will be 80).


TOP
 Profile Send private message  
Reply with quote  
Post new topic Reply to topic Quick reply  [ 2 posts ] 
Quick reply


  

 Similar topics
 lowercase table content
 force letters to be lowercase text-transform
 convert word, Excel to PDF
 Convert RAW file system to FAT file system
 convert image (vehicle registration) to text in java?
 add string to another, Lowercase ,Uppercase
 convert integer number to octal,hexadecimal number systems
 convert from degrees to radians and vice versa
 convert from celsius to fahrenheit or vice versa
 5 Ways To Convert PowerPoint To Flash

All times are UTC [ DST ]


Users browsing similar posts

Users browsing this forum: No registered users and 1 guest



Jump to:  
Previous Question | Next Question 




Home
General Talks
Finished Projects
Code Library
Games
Tutorials

Java
C/C++
C-sharp
php
Script
JSP/Servlets
Ajax
ASP/ASP.net
Google SEO
Database
Communications
Phpbb3 styles
Photoshop tutorials
Flash tutorials
Find a job






Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
All copyrights reserved to codemiles.com 2007-2011
mileX v1.0 designed by codemiles team