Манипуляции со строками в Си/С++
Программа должна выполнять преобразования строки (длина строки 255 символов):
СТРОКА ЗАГЛАВНЫМИ БУКВАМИ
строка в нижнем регистре
С Заглавной Буквы (Первый Символ Каждого Слова В Строке )
пЕРВЫЙ сИМВОЛ в нИЖНЕМ рЕГИСТРЕ
Как в предложении(с заглавной буквы).
Символ 'f' — выход из программы
Организовать в программе меню, через которое можно удобно выбирать любое действие. Программа должна выполняться пока пользователь не введет символ 'f'.
Чтобы преобразовать строчные буквы в прописные в С++ есть функция toupper. Для преобразования строки в нижний регистр используем функцию tolower. Остальные преобразования можно выполнить также с помощью функций библиотеки cctype.
Результат работы вашей программы не обязательно должен совпадать с выводом, который предоставлен у нас на сайте. Основная задача — это реализовать набор задач, которые программа должна выполнять.
Введите строку
This program is written Dmitry Kozharsky
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : 1
THIS PROGRAM IS WRITTEN DMITRY KOZHARSKY
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : 2
this program is written dmitry kozharsky
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : 3
This Program Is Written Dmitry Kozharsky
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : 4
tHIS pROGRAM iS wRITTEN dMITRY kOZHARSKY
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : 5
This program is written dmitry kozharsky
Для преобразования строки в заглавные буквы нажмите : 1
Для преобразования строки в нижний регистр нфжмите : 2
Для преобразования строки с Заглавной Буквы нажмите : 3
Для преобразования строки в первый символ в нижнем регистре нажмите : 4
Для преобразования строки как в обычном предложении нажмите : 5
Для выхода нажмите : f
Введите необходимое действие : f
#include <iostream>
#include <cstring>
using namespace std;
char menu();
void operation1(char*);
void operation2(char*);
void operation3(char*);
void operation4(char*);
void operation5(char*);
int main(){
setlocale(0,"");
cout << "Введите строку \n\n";
char string[255];
memset(string, 0, sizeof(string));
cin.getline(string, 255);
char operation;
operation = menu();
while (operation != 'f'){
if (operation != '1' & operation != '2' & operation != '3'& operation != '4'& operation != '5'){
cout << "Введеный символ не соответствует условию. \nПовторите попытку \n\n";
}
else{
if (operation == '1')
operation1(string);
if (operation == '2')
operation2(string);
if (operation == '3')
operation3(string);
if (operation == '4')
operation4(string);
if (operation == '5')
operation5(string);
}
operation = menu();
}
//system("pause");
}
char menu(){
char operation;
cout << "Для преобразования строки в заглавные буквы нажмите : 1" << endl;
cout << "Для преобразования строки в нижний регистр нфжмите : 2" << endl;
cout << "Для преобразования строки с Заглавной Буквы нажмите : 3" << endl;
cout << "Для преобразования строки в первый символ в нижнем регистре нажмите : 4" << endl;
cout << "Для преобразования строки как в обычном предложении нажмите : 5" << endl;
cout << "Для выхода нажмите : f" << endl;
cout << endl;
cout << "Введите необходимое действие : ";
cin >> operation;
cout << "\n\n";
return operation;
}
void operation1(char *p){
while (*p != '\0'){
*p = (char)toupper(*p);
cout << *p;
p++;
}
cout << endl;
}
void operation2(char *p){
while (*p != '\0'){
*p = (char)tolower(*p);
cout << *p;
p++;
}
cout << endl;
}
void operation3(char *p){
*p = (char)toupper(*p);
while (*p != '\0'){
if(!isspace(*p)){
cout << *p;
p++;
*p = (char)tolower(*p);
}
else{
cout << *p;
p++;
*p = (char)toupper(*p);
}
}
cout << endl;
}
void operation4(char *p){
*p = (char)tolower(*p);
while (*p != '\0'){
if(!isspace(*p)){
cout << *p;
p++;
*p = (char)toupper(*p);
}
else{
cout << *p;
p++;
*p = (char)tolower(*p);
}
}
cout << endl;
}
void operation5(char *p){
*p = (char)toupper(*p);
cout << *p;
p++;
while (*p != '\0'){
if(*p != '.'){
*p = (char)tolower(*p);
cout << *p;
p++;
}
else{
cout << *p;
p++;
cout << *p;
p++;
*p = (char)toupper(*p);
cout << *p;
p++;
}
}
cout << endl;
}
Комментарии:
Нету комментариев для вывода...