powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос от совсем начинающего...
16 сообщений из 16, страница 1 из 1
Вопрос от совсем начинающего...
    #33082106
ddS'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#include "stdio.h"
main()
{
char a[10];
printf("Введите строку и нажмите  Enter\n");
gets(a);
....
}
Подскажите, пожалуйста, как при помощи условной операции заменить все буквы верхнего регистра на буквы нижнего?
Заранее спасибо!!!
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082212
BSISoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит
[quot ddS']при помощи условной операции [quot]
?
Посмотри в хелпе работу со строками. Там должно быть написано при помощи какой функции перевести строку в верхний регистр (сделать заглавными).
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082295
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BSISoft ,
ПО-МОЕМУ ГОСТЬ ХОЧЕТ ОТВЕТ
НАПОДОБИЕ НИЖЕИДУЩЕГО ФРАГМЕНТА

Код: plaintext
1.
2.
3.
4.
5.
#if !defined(AFX_SEVERALVIEWS_MDI_2VIEW_H__B54DC74F_696F_11D9_9E8C_00A0D21B098B__INCLUDED_)
#define AFX_SEVERALVIEWS_MDI_2VIEW_H__B54DC74F_696F_11D9_9E8C_00A0D21B098B__INCLUDED_

#if _MSC_VER >  1000 
#pragma once
#endif // _MSC_VER >  1000 

КОТОРЫЙ РАЗМЕЩАЕТСЯ В ЗАГОЛОВОЧНОМ ФАЙЛЕ
КАЖДОГО КЛАССА.

PS: фрагмент показан как я понял что требуется,
НО ЭТО НЕ ОТВЕТ
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082304
ddS'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Буква переводится к нижнему регистру функцией folower(c). Но как узнать, что какая-то буква записана в верхнем регистре и её надо переводить?????
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082340
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddS'#include "stdio.h"
main()
{
char a[10];
printf("Введите строку и нажмите  Enter\n");
gets(a);
....
}
Подскажите, пожалуйста, как при помощи условной операции заменить все буквы верхнего регистра на буквы нижнего?
Заранее спасибо!!!

Приведу примерчик. Но, ВНИМАНИЕ! Оно работает только для ЛАТИНСКИХ букв.
Код: plaintext
1.
2.
for (int i= 0 ;i< 10 ;i++)
 a[i]=((a[i]>='A') && (a[i]<='Z'))?a[i]+ 32 :a[i]
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082364
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddS'Буква переводится к нижнему регистру функцией folower(c). Но как узнать, что какая-то буква записана в верхнем регистре и её надо переводить?????
Разберись в примере из MSDN и все поймешь:
Код: plaintext
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.
Example

/* TOUPPER.C: This program uses toupper and tolower to
 * analyze all characters between 0x0 and 0x7F. It also
 * applies _toupper and _tolower to any code in this
 * range for which these functions make sense.
 */

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

char msg[] = "Some of THESE letters are Capitals\r\n";
char *p;

void main( void )
{
   _cputs( msg );

   /* Reverse case of message. */
   for( p = msg; p < msg + strlen( msg ); p++ )
   {
      if( islower( *p ) )
         _putch( _toupper( *p ) );
      else if( isupper( *p ) )
         _putch( _tolower( *p ) );
      else
         _putch( *p );
   }
}


Output

Some of THESE letters are Capitals
sOME OF these LETTERS ARE cAPITALS


...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33082386
ddS'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С., спасибо! Вариант:

for (int i=0;i<10;i++)
a =((a>='A') && (a<='Z'))?a+32:a

работает, только не преобразовывается последний символ
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33083089
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ddS'Станислав С., спасибо! Вариант:

for (int i=0;i<10;i++)
a =((a>='A') && (a<='Z'))?a+32:a

работает, только не преобразовывается последний символ

У меня преобразуется вся строка (естественно, я ввожу 10 символов). А вообще-то цикл может (и должен) отрабатывать РЕАЛЬНУЮ длину строки, которая получается через strlen()...
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33083359
ddS'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё работает как надо, СПАСИБО! Надо было мне просто перекомпелировать программу и последний символ стал преобразовываться.
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087858
ddS'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос был в следущем: надо было перевести строку к нижнему регистру.
Переводил при помощи условной операции: a =((a>='A') && (a<='Z'))?a+32:a; - всё работало.
При помощи оператора if не переводится, точнее выдаются какие-то иероглифы.
Код приблизительно такой:

#include "stdio.h"
main()
{
char a[50];
int i;
printf("Введите строку и нажмите Enter\n");
gets(a);
i=0;
l1: if (a!='\0')
{
if (a=((a>='A')&&(a<='Z'))) a+32;
i++;
goto l1;
}
puts(a);
}

Что не так сделано?
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087870
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, a - это массив. И в большей части программы должно быть a
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087878
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗемлекопВо-первых, a - это массив. И в большей части программы должно быть
Код: plaintext
a[i]
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087881
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, замени оператор if обратно на то, что было.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087890
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
for (int i= 0 ;i< 10 ;i++) a[i]=((a[i]>='A') && (a[i]<='Z'))?a[i]+ 32 :a[i];
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33087896
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
#include "stdio.h"
main()
{
char a[ 50 ];
int i;
printf("Введите строку и нажмите  Enter\n");
gets(a);
i= 0 ;
l1: if (a[i]!='\0')
{
if ((a[i]>='A')&&(a[i]<='Z')) a[i]=a[i]+ 32 ;
i++;
goto l1;
}
puts(a);
}

Но я бы убил за такой код
...
Рейтинг: 0 / 0
Вопрос от совсем начинающего...
    #33088025
BSISoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HELP_ME2BSISoft ,
ПО-МОЕМУ ГОСТЬ ХОЧЕТ ОТВЕТ
НАПОДОБИЕ НИЖЕИДУЩЕГО ФРАГМЕНТА

Код: plaintext
1.
2.
3.
4.
5.
#if !defined(AFX_SEVERALVIEWS_MDI_2VIEW_H__B54DC74F_696F_11D9_9E8C_00A0D21B098B__INCLUDED_)
#define AFX_SEVERALVIEWS_MDI_2VIEW_H__B54DC74F_696F_11D9_9E8C_00A0D21B098B__INCLUDED_

#if _MSC_VER >  1000 
#pragma once
#endif // _MSC_VER >  1000 

КОТОРЫЙ РАЗМЕЩАЕТСЯ В ЗАГОЛОВОЧНОМ ФАЙЛЕ
КАЖДОГО КЛАССА.

PS: фрагмент показан как я понял что требуется,
НО ЭТО НЕ ОТВЕТ
Спасибо, что сказал, а то я не понял что ему нужно.
Прошу прощения за грубость.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос от совсем начинающего...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]