Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.96
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
#1

Программa-фильтр, переводящую строчные буквы в прописные - C++

15.06.2009, 20:43. Просмотров 3752. Ответов 22
Метки нет (Все метки)

Всем привет-дана такая задача написать программу-фильтр, переводящую строчные буквы в прописные.Kто нибудь знает где можно взять инфу на эту задачу,писать я буду сам,а то поисковик мне так и ничего ненашол.Заранее благодарен.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2009, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программa-фильтр, переводящую строчные буквы в прописные (C++):

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные. Помогите, прошу

Поменять все строчные буквы на прописные, прописные на строчные - C++
Дана строка с некоторым текстом. Составить программу, которая меняет в этом тексте все строчные буквы на прописные, прописные на строчные и...

Заменить прописные буквы на строчные - C++
Доброго всем здравия, нужно заменить заглавные буквы на маленькие в строке. Прошу подсказки. С массивом я бы сам справился, а со строкой...

Изменить строчные буквы на прописные - C++
Встал вопрос: как сделать строчные буквы прописными. В Turbo Pascal есть очень удобная операция upcase. Есть ли что-то подобное на Си? Если...

Перевести строчные буквы строки в прописные - C++
Подскажите, как исправить ошибку в коде: #include <iostream> #include <string> using namespace std; void main(){ ...

22
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
15.06.2009, 20:50 #2
http://www.cplusplus.com/reference/clibrary/cctype/toupper/
1
ISergey
Maniac
Эксперт С++
1390 / 901 / 55
Регистрация: 02.01.2009
Сообщений: 2,693
Записей в блоге: 1
15.06.2009, 20:50 #3
C++
1
cout << (char)toupper('d') << '\n';
упс. не успел
1
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
16.06.2009, 22:34  [ТС] #4
В чём может быть ещё причина-почему код непоказывает текст который должен из строчных букв меняться в прописные?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
int main()
{
    int i=0;
    cout << "Visual Studio Express.\n:";
    char c;
    while (str[i])
    {
    c=str[i];
    cout << "Text:" << (char) toupper (c) << endl;
    i++;
    }
    return 0;
}
0
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
16.06.2009, 22:36 #5
а str объявить?
1
ISergey
Maniac
Эксперт С++
1390 / 901 / 55
Регистрация: 02.01.2009
Сообщений: 2,693
Записей в блоге: 1
17.06.2009, 01:12 #6
C++
1
2
3
4
5
int main()
{
        int i=0;
        char str[] = "askjdgbkjashfg";
.............................................
1
Search..
Заказ софта
340 / 185 / 10
Регистрация: 26.05.2009
Сообщений: 863
17.06.2009, 01:53 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
29
30
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int main(int argc, char * argv [])
{
    char line[1024];
 
    printf("Write string: ");
    fgets(line, sizeof(line), stdin);
 
    if(line == 0)
    {
        fprintf(stderr, "Error!\n");
        return -1;
    }
 
    size_t n = strlen(line);
    for(size_t i = 0; i < n; i++)
    {
        if(isupper(line[i]))
        {
            line[i] = tolower(line[i]);
        }
    }
 
    printf("Your string: %s\n", line);
 
    return 0;
}
1
mirso
525 / 343 / 17
Регистрация: 05.04.2009
Сообщений: 709
17.06.2009, 03:12 #8
roker,

вариант с американским алфавитом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------
main()
{
 
  char * strr = "Io Maio! Lower Char! Russ No! Русс No!";
 
  for(int i = 0; i < strlen(strr); i++)
    //------строчные----------- //--------прописные------------//
    cout << char(strr[i]|0x20); // cout << char(strr[i]&0xdf); //
    //------------------------- //------------ ----------------//
 
getch();
}
//---------------------------------------------------------------
Принцип основан на замене бинарных позиций.
1
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
17.06.2009, 08:52  [ТС] #9
Ребята я вам благодарен за помощь-но было бы достаточно подсказки,а то ведь так можно просто код скопировать и в голове ничего не отложится.Спасибо за помощь.
0
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
18.06.2009, 19:27  [ТС] #10
Ребята вот алгоритм на уравнение-а ниже код,мне нужно знать правильно ли я написал или нет потому что ответ у меня получается Enter a.
> 1)ввести а
> 2)ввести b
> 3)ввести с
> 4) Если а=0, то уравнение линейное (имеет вид bx+c=0)
. . .
5) считаем дискриминант d=b*b-4*a*c
6) Если d=0, то одно решение x=-b/(2*a)
7) Если d>0, то два решения x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a);
8) Если d<0 то решений нет.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
 //ввести значение a,b,c
    double a,b,c;
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
 //узнать равен ли а нулю
    if(a==0)
    {
 //вывести решениe b,c 
     if(b==0 && c==0)
    {
 //вывеси сообщение x
     cout << "Any x is solution";
     }else
  if(b==0 && c!=0)
     {
 //Если b равно нулю а c не равно нулю
     cout << "x=0:";
     }
  else
     }
    x=-c/b;
    cout << x << endl;
     {
    else
     }
 //вычислить дискриминант
     double d=b*b-4*a*c;
     if(d==0)
     {
         d=-b/(2*a);
         cout << "d равно нулю." << endl;
     }
     else
     {
         x1=(-b - sgrt (d))/(2*a);
         x2=(-b + sgrt (d))/(2*a);
         cout << "d не равно нулю." << endl;
     }
     cout("x1=%f x2=%f");
}
0
Evg
Эксперт CАвтор FAQ
18253 / 6378 / 438
Регистрация: 30.03.2009
Сообщений: 17,656
Записей в блоге: 28
18.06.2009, 21:20 #11
Давай перенесём разговор из лички сюда.
Во-первых постановка вопроса очень интересная: "правильно ли я написал?". Первое, что хочется ответить: "а почему бы тебе самому это не проверить?". Вводишь три числа, смотришь, что тебе пишет программа, параллельно считаешь на листочке. Из всех вариантов коэффициэнтов ведь можно в конечном итоге самому вывести, что у тебя работает правильно, а что нет. С учётом этой информации ты бы мог более конкретно поставить вопрос типа "не работает программа при таких-то значениях коэффициэнтов, помогите разобраться". Ну и посмотри на свой текст программы. Она небольшая, но с таким форматированием в ней уже сложно разобраться. Просто когда ты просишь людей помочь, то человек, который бы тебе смог помочь, увидя такую помойку (уж извини за такое слово), скорее всего не захочет в ней копаться. Не говоря уж о том, что с аккуратно отформатированным текстом проще понимать, работать и искать ошибки

Почему я тебя всё это говорю? Если я тебя правильно понял - ты хочешь всё-таки научиться, а не так, чтобы делать (нажимать на кнопки) по чьей-то указке. И совершенно нормально при этом, что ты просишь у кого-то помощи. Но старайся при этом максимально сделать сам всё то, что сможешь, сделать это аккуратно и чётко поставить вопрос. В этом случае тем, кто будет отвечать на твой вопрос, гораздо меньше надо будет напрягаться, а потому более охотно тебе помогут, да и отношение к тебе будет хорошим
0
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
19.06.2009, 08:59  [ТС] #12
Если я правильно понял-ты имееш в виду скобки,постараюсь в следующий раз разместить правильно.Я конечно пишу сначало на листке-это понятно в голове это невозможно сохранить,но как я могу смотреть что мне пишет программа если её сначало надо скомпилировать?
0
Evg
Эксперт CАвтор FAQ
18253 / 6378 / 438
Регистрация: 30.03.2009
Сообщений: 17,656
Записей в блоге: 28
19.06.2009, 10:14 #13
Когда что-то отправляешь на форум - нажми сначала кнопку "предварительный просмотр". А если отправляешь через быстрый ответ - то снчала "расширенный режим". Как показывает практика, что уже на этапе приведения программы в порядок можно обнаружить многие ошибки

Добавлено через 48 секунд
Я могу тебе показать на твои ошибки, но всё-таки исхожу из предположения, что тебе гораздо важнее сделать это самому
0
roker
0 / 0 / 0
Регистрация: 15.06.2009
Сообщений: 13
19.06.2009, 20:02  [ТС] #14
Вот переделал уравнение и 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
  //ввести значение a,b,c
double a,b,c;
cout << "Enter a:";
cin >> a;
cout << "Enter b:";
cin >> b;
cout << "Enter c:";
cin >> c;
  //узнать равен ли а нулю
if(a==0)
{
  //вывести решениe b,c 
  if(b==0 && c==0)
{
  //вывеси сообщение x
  cout << "Any x is solution";
}
else if(b==0 && c!=0)
{
  //Если b равно нулю а c не равно нулю
  cout << "x=0:";
}
else 
{
  double x=-c/b;
  cout << x << endl;
}
} //a==0
else
{
  //вычислить дискриминант
  double d=b*b-4*a*c;
  double x1,x2;
  if(d==0)
  {
      x1 = x2 = -b/(2*a);
      cout << "d равно нулю." << endl;
}
else 
{
  x1=(-b - sgrt (d))/(2*a);
  x2=(-b + sgrt (d))/(2*a);
  cout << "d не равно нулю." << endl;
}
  cout("x1=%f x2=%f");
  return 0;
}
}
0
Evg
Эксперт CАвтор FAQ
18253 / 6378 / 438
Регистрация: 30.03.2009
Сообщений: 17,656
Записей в блоге: 28
19.06.2009, 20:19 #15
Касаемо трёх ошибок - тебе врядли кто-то поможет, если ты хотя бы не скажешь, а в чём ошибки-то заключаются И позволю себе немного отваорматировать твой текст в тот вид, который, на мой взгляд, воспринимается лучше

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//подключить потоковую библиотеку ввода-вывода
#include <iostream>
//использовать стандартное пространство имен
using namespace std;
//начало функции main
int main()
{
    //ввести значение a,b,c
    double a,b,c;
    cout << "Enter a:";
    cin >> a;
    cout << "Enter b:";
    cin >> b;
    cout << "Enter c:";
    cin >> c;
 
    //узнать равен ли а нулю
    if(a==0)
    {
        //вывести решениe b,c 
        if(b==0 && c==0)
        {
            //вывеси сообщение x
            cout << "Any x is solution";
        }
        else if(b==0 && c!=0)
        {
            //Если b равно нулю а c не равно нулю
            cout << "x=0:";
        }
        else 
        {
            double x=-c/b;
            cout << x << endl;
        }
    } //a==0
    else
    {
        //вычислить дискриминант
        double d=b*b-4*a*c;
        double x1,x2;
        if(d==0)
        {
            x1 = x2 = -b/(2*a);
            cout << "d равно нулю." << endl;
        }
        else 
        {
            x1=(-b - sgrt (d))/(2*a);
            x2=(-b + sgrt (d))/(2*a);
            cout << "d не равно нулю." << endl;
        }
 
        cout("x1=%f x2=%f");
        return 0;
    }
}
Пока форматировал, сразу же обозначилось место, где фигурная скобка не там
Да и когда все cout'ы перед глазами, то по-моему бросается в глаза, что последний "не такой как все"

*** update: а не, со скобкой погорячился
1
19.06.2009, 20:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2009, 20:19
Привет! Вот еще темы с ответами:

Заменить все прописные буквы на строчные - C++
Подредактируйте код, нужно поменять все прописные буквы на строчные буквы. Только вот программа не запускается. Код: #include...

Русские строчные буквы преобразовать в прописные - C++
Есть ли функция, что будет преобразовывать прописные русские буквы в строчные или наоборот? До этого использовал cctype, но с русскими...

Русский текст, преобразование (прописные буквы в строчные) - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; string LowCaseRus (string a) ...

Как преобразовать строчные буквы в прописные и наоборот. - C++
Код строчных букв ASCII отличается от кода прописных на 32. Таким образом, чтобы преобразовать строчную букву в прописную, необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru