В основном это программа меню с переключателем. Я хочу ввести строковые функции перед частью меню, чтобы сохранить его. Моей главной проблемой на данный момент является случай 4. То, что я пытаюсь сделать, это сделать функцию, которая преобразует целую строку в верхний регистр. Но я не могу найти способ применить его к введенной строке. Он работает только в том случае, если я определяю заданную строку.Меню коммутатора и nsstring в верхнем регистре
const int CSTR_MAX = 33;
void readCString(char cs[])
{
printf("Enter a character string up to %i characters: ", CSTR_MAX-1);
scanf("%s", cs);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
char cstr[CSTR_MAX];
int choices;
BOOL done=FALSE;
NSString *obj;
NSString *uppercase = (Imnotsurewhatneedstogohere);
NSString *lowercase;
readCString(cstr);
do {
//Print the menu and prompt the use for the selection
printf("\nMenu Choices\n");
printf("------------\n");
printf("1) Enter a new string\n");
printf("4) Change all letters to Upper Case\n");
printf("5) Change all letters to lower case\n");
printf("8) Quit");
printf("\nEnter your choices: ");
scanf("%i", &choices);
switch(choices)
{
case 1:
//Enter a new String
readCString(cstr);
break;
case 4:
//Change all letters to Upper Case
obj = [uppercase uppercaseString];
NSLog(@"Uppercase conversion: %s", [uppercase UTF8String]);
break;
case 5:
//Change all letters to lower case
obj = [lowercase lowercaseString];
NSLog (@"Lowercase conversion: %@", obj);
break;
case 8:
//Quit
break;
default: printf("You entered an invalid choice\n");
done = TRUE;
}
} while (!done);
}
return 0;
}
Вы можете разобрать этот вниз соответствующий код и четко разъяснить, что это такое, что не работает? – nhgrif
add int counter counter = 0; while (cstr [counter]! = '') { if (cstr [counter]> 96) cstr [counter] = cstr [counter] - 32; counter ++; } printf ("% s \ n", cstr); – shockwav3