Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.02.2019
Сообщений: 24
1

Программа замены строчных букв на заглавные или наоборот

07.02.2019, 16:40. Показов 2077. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Строка запуска программы имеет вид:
prog.exe s1 [\u\d ]
где:
s1 строка символов, состоящая из прописных и строчных латинских символов - обязательный параметр.
\u \d - необязательные опции.
Если задана опция \u - все символы строки s1 сделать прописными, если \d - строчными.
Задание одновременно опций \d \u считать ошибкой - строку s1 оставить без изменений
Опции могут отсутствовать - в этом случае строку s1 тоже оставить без изменений.
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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
char u(char s1);
char d(char s1);
char c,s1[80],l;
char(*M[])(char s1) = { &u, &d };
char u(char s1)
{
    int i = 0;
    while (s1[&i])
    {
        
        putchar(tolower(s1));
        i++;
    }
    return s1;
}
char d(char s1)
{
    int i = 0;
    while (s1[&i])
    {
        
        putchar(toupper(s1));
        i++;
    }
    return s1;
}
void main()
{
    char(*M[])(char s1) = { &u, &d };
    printf("vvedite stroky: ");
    scanf("%s", &s1);
    printf("\n\n");
    printf("vvedite fuction, u or d:", l);
    scanf("%s", &l);
        if(l='u')
        { 
            printf("%f\n", M[0](*s1));
            getchar();
                }
        else if (l = 'd')
        {
            printf("%f\n", M[1](*s1));
            getchar();
        }
        else printf("stroka:\n", s1);
}
Программа изменяет в итоге только 1 букву строки, а дальше зацикливается.Помогите, пожалуйста, заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2019, 16:40
Ответы с готовыми решениями:

Преобразование строчных букв в заглавные и наоборот
Нужно написать программу, которая преобразует заглавные буквы F в строчные f, а строчные t в заглавные T. Код не работает (выводит на...

Программа для замены строчных на заглавных и наоборот
Нашел код который из строчных делает заглавные. Можно ли доделать код что бы он одновременно заглавные превращал в строчные и строчный в...

Как сделать так, чтобы эта программа не только переводила со строчных в заглавные, но и проверяла строчная или нет?
На всякий случай условие оставлю: &quot;Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст,...

1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12837 / 7576 / 1765
Регистрация: 25.07.2009
Сообщений: 13,970
07.02.2019, 18:16 2
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
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int dummy(int c) {
    return c;
}
 
typedef int (*func_t)(int); 
 
char * transform(char * s, func_t func) {
    char * p = s;
 
    for ( ; *p; ++p ) 
        *p = func(*p);
    
    return s;
}
 
int main(int argc, char ** argv) {
    func_t funcs[] = { dummy, toupper, tolower };
    int idx = 0;
 
    switch ( argc ) {
        case 1:
            printf("Usage: %s \"some string\" [-u|-d]\n", *argv);
            return 1;
        case 2:
            idx = 0;
            break;
        case 3: 
            if ( strcmp(argv[2], "-u") == 0 )
                idx = 1;
            else if ( strcmp(argv[2], "-d") == 0 )
                idx = 2;
            else 
                printf("Unknown transform parameter! -u for uppercase or -d for lowercase.\n");
            break;
        default:
            printf("Too many parameters. String will be unchanged.\n");
            break;
    }
 
    printf("%s\n", transform(argv[1], funcs[idx]));
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.02.2019, 18:16
Помогаю со студенческими работами здесь

Перевод строчных букв в заглавные в массиве
Массив на 10 символов. Человек вводит 10 букв 2 из которых заглавные, остальные маленькие (допустим человек сам знает как вводить). ...

преобразование заданной строки из строчных букв в заглавные.
помогите пожалуйста написать программу для преобразования заданной строки из строчных букв в заглавные. программу оформить в виде процедуры...

Замена согласных строчных букв в строке на заглавные
замена всех букв на заглавные понимаю как, а вот как именно только согласные не доходит. подскажите что нужно сделать. TITLE CHANGE ...

При замене строчных букв на заглавные не работает xor al, 20h
Вот кусок кода: cld ;сброса флага df в ноль mov SI, offset Buf+2 ; Buf - имя строки Cycle: lodsb ;загрузить в al первый...

Строка: Осуществить замену строчных букв на заглавные и заглавных на строчные
вот мае задание, помогите пожалуйста ...... Ввести текст в байтовый массив. Осуществить замену маленьких букв на БОЛЬШИЕ, БОЛЬШИЕ на...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
Создаем микросервисы с NestJS, TCP и Typescript
run.dev 17.03.2025
NestJS — фреймворк, который значительно упрощает создание серверных приложений на Node. js. Его прелесть в том, что он комбинирует концепции ООП, функционального программирования и предлагает. . .
Гексагональная архитектура со Spring Boot
Javaican 17.03.2025
Если вы когда-нибудь сталкивались с ситуацией, когда внесение простых изменений в базу данных или пользовательский интерфейс заставляло вас переписывать весь код, то вы точно оцените элегантность. . .
Позиционировани­е Kafka Consumer и Seek-операции
Javaican 17.03.2025
Что же такое Consumer Seek в Kafka? По сути, это API-метод, который позволяет программно указать, с какой позиции (offset) Consumer должен начать или продолжить чтение данных из партиции. Без этого. . .
Python NumPy: Лучшие практики и примеры
py-thonny 17.03.2025
NumPy (Numerical Python) — одна из ключевых библиотек для научных вычислений в Python. Она превращает Python из просто удобного языка общего назначения в среду для проведения сложных математических. . .
Java Micronaut в Docker: контейнеризация с Maven и Jib
Javaican 16.03.2025
Когда речь заходит о микросервисной архитектуре на Java, фреймворк Micronaut выделяется среди конкурентов. Он создан с учётом особенностей облачных сред и контейнеров, что делает его идеальным. . .
Управление зависимостями в Java: Сравнение Spring, Guice и Dagger 2
Javaican 16.03.2025
Инъекция зависимостей (Dependency Injection, DI) — один из фундаментальных паттернов проектирования, который радикально меняет подход к созданию гибких и тестируемых Java-приложений. Суть этого. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер