Форум программистов, компьютерный форум CyberForum.ru

Как перевести массив в строку? - C++

Восстановить пароль Регистрация
 
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
07.03.2012, 00:56     Как перевести массив в строку? #1
я хочу чтобы можно было вводить какую нибудь строку,чтобы она переводилась в заглавные или прописные буквы...о как это сделать , я не знаю ! только получается с одинарным символом!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include <iostream>
#include <locale.h>
#include <conio.h>
 
using namespace std;
 
void main()
{
    setlocale (LC_ALL, "");
    char letter;
    cout<<"Введите строку: "<<endl;
    cin>>letter;
    char a = (char)tolower(letter);
    char b = (char)toupper(letter);
    if(letter>='A' && letter<='Z')
        cout<<"Вы ввели заглавную букву "<<letter<<" перевели его на прописную букву "<<a<<endl;
    if(letter>='a' && letter<='z')
        cout<<"Вы ввели прописную букву "<<letter<<" перевели его на заглавную букву "<<b<<endl;
    else
        cout<<"Вы ввели не буквы, а число "<<letter;
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
07.03.2012, 01:05     Как перевести массив в строку? #2
Читайте о циклах
for, while, do ... while.
Mikola-BLR
42 / 42 / 3
Регистрация: 27.12.2011
Сообщений: 54
07.03.2012, 18:51     Как перевести массив в строку? #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "stdafx.h"
#include <iostream>
#include <locale.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, "");
    char symbol;
    char str[2000];
    int i=0, j;
    cout<<"Введите строку: "<<endl;
    while (i<=2000)//вводим строку, пока не будет 2000 символовeve
    {
        cout << (symbol=getch());//функцией getch() получаем символ нажатой клавиши и вносим в массив, при этом выводим на экран
        if (symbol=='\r') break;//прерываем ввод, если нажали Enter (\r)
        if(symbol>=65 && symbol<=90) str[i]=char(symbol+32);//A-Z
        else if(symbol>=97 && symbol<=122) str[i]=char(symbol-32);//a-z
        else str[i]=symbol;//остальные символы
        i++;
    }
    cout << endl;
    for (j=0; j<i; j++)
        cout << str[j];
    getch();
}
Вводим строку в качестве массива символов. У каждого символа (char) есть свой код. Код прописных букв на 32 меньше соответствующих строчных букв. Поэтому к прописным добавляем 32, а у строчных отнимаем 32. Остальные же символы (цифры, пробел, восклицательный знак и т.д.) не меняем.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.03.2012, 19:14     Как перевести массив в строку? #4
Mikola-BLR, islower
toupper
Yandex
Объявления
07.03.2012, 19:14     Как перевести массив в строку?
Ответ Создать тему
Опции темы

Текущее время: 03:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru