Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
smay
3 / 3 / 5
Регистрация: 07.12.2013
Сообщений: 189
Завершенные тесты: 1
1

Изменение регистра определенных слов в строке

19.03.2016, 18:42. Просмотров 380. Ответов 0
Метки нет (Все метки)

Всем привет, задача такая: Есть определенный "словарь", и если в введенном тексте встречается слово из словаря, оно пишется большими буквами, все остальное - маленькими.
Я бы сделал новый массив, в который записывал по очереди все, и если слово совпадает с массивом-словарем, значит регистр изменяется на верхний, иначе - нижний.
Но я еще достаточно плохо разбираюсь в этом, и прошу вас помочь. Желательно код полегче, что бы я смог разобрать.

Добавлено через 1 час 42 минуты
С помощью @646kapeh064 есть ответ:

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
int isChar(char ch) {
    return ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z');
}
 
 
void checkWord(char * strWord, char * strSource) {
    
   if (strcmp(strWord, "float")==0 || strcmp(strWord, "int")==0 || strcmp(strWord, "double")==0 || strcmp(strWord, "char")==0)
   for(int i=0; i<strlen(strWord); i++)
   {
    
    strSource[i] =strSource[i]-32;
 
 
}
 
int main() 
  {
    char buf[100];
    
    printf("Enter text: ");
    fgets(buf, 100, stdin); 
    strlwr(buf);
  
    int i, isWord, iW;
    char strWord[100], chCurrent, *ptrWord;
   
    isWord = 0; 
    iW = 0; 
    for (i = 0; i < strlen(buf); i++) {
        chCurrent = buf[i];
       
        
        if (isChar(chCurrent)) {
           
           
            if (!isWord) {
                isWord = 1;
                ptrWord = (buf + i); 
            }
           
            strWord[iW] = chCurrent;
            iW++;
        } else { 
           
            
            if (isWord) {
                isWord = 0;
                strWord[iW] = 0; 
                iW = 0;
               
                
                checkWord(strWord, ptrWord);
               
            } else { 
                // nothing
            }
           
        }
    }
   
    
    printf("Result text: %s\n", buf);
   
    system("pause");
    return 0;
 }
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2016, 18:42
Ответы с готовыми решениями:

Изменение регистра символов в строке
Дана строка только из прописных букв. Нужно преобразовать ее так, чтобы первая буква после точки...

Замена определенных слов в файле
Здравствуйте, уважаемые посетители данного форума. Перед собой я поставил интересную задачу и хотел...

Работа с текстами, вывод определенных слов
Доброго времени суток! Есть задачка: Дан текст, содержащий буквы и пробелы. найти и напечатать...

Вывод определенных слов при вводе цифр
Нужна программа на СИ, не на Си++, с использованием switch... что бы при нажатии 1,2,3...9.....

Замена определенных символов в строке
Всем доброго времени суток,столкнулся с вот такой вот задачей: есть символы: &quot; =,==,!=,a+=,a-= &quot;...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2016, 18:42

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

Подсчет букв в строке (без учета регистра)
День добрый! Очередное задания и опять не могу понять как сделать! 1. Необходимо сосчитать...

Как отсортировать строки по кол-ву слов и слова в строке по длине слов
Суть задания:Вводить последовательность не более чем 256 символов,ввод заканчивается...

Изменение регистра определенных букв
Доброго времени суток! Помогите пожалуйста довести до ума код. Задача такая. Мне нужно, чтобы при...


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

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

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