PDA

View Full Version : برنامه گرفتن یه رشته و تبدیل حروف کوچک به بزرگ و بلعکس



amin4d
سه شنبه 17 اردیبهشت 1392, 14:56 عصر
سلام.
کسی می دونه مشکل این کدا چیه؟!
به آپر اس و اون شرط IF گیر می ده ولی نمی دونم چی کارش کنم:

#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
main()
{
char s[50] ;
printf("enter a string in");
printf(" lowercase:\n");
gets(s );
upper(s );
printf("\n uppercase of");
printf(" string is:\n");
puts(s );
}

upper(char *string)
{
while(*string)
{
if(*string>='a' &amp;&amp; *string&lt;='z')
*string=*string-32 ;
string++ ;
}
}




#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <string.h>
main()
{
char s[50] ;
printf("enter a string in");
printf(" uppercase:\n");
gets(s );
upper(s );
printf("\n lowercase of string");
printf(" is:\n");
puts(s );
}

upper(char *string)
{
while(*string)
{
if(*string>='A' &amp;&amp; *string&lt;='Z')
*string+=32 ;
string++ ;
}
}


و اینکه چطوری باید یه برنامه بنویسم که این دو تا کارو همزمان انجام بده. یعنی اگه یه حرفیی توی رشته کوچیک بود تبدیلش کنه به بزرگ و اگه یه حرفی بزرگ بود تبدیلش کنه به حرف کوچیک.
پیشاپیش ممنون ازتون.

newsoft
سه شنبه 17 اردیبهشت 1392, 16:48 عصر
سلام
با این جدول یه نگاهی به نداز یه روش اینه
http://web.cs.mun.ca/~michael/c/ascii-table.html

amin4d
سه شنبه 17 اردیبهشت 1392, 17:15 عصر
این کد جواب داد:

#include <conio.h>
#include <iostream>
#include <string.h>

int main()
{
int i;
char str[50];
cout<<"Enter a String: ";
cin.getline(str,50);
for (i=0 ; str[i]!=NULL ; i++)
if(str[i]>='a' && str[i]<='z')
str[i]-=32;
else if(str[i]>='A' && str[i]<='Z')
str[i]=str[i]+32;
cout<<str;
_getch();
return 0;
}