Функции: ввести ряд строк и вывести те из них, которые начинаются с буквы "b" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

написать программу, которая вводит ряд строк и выводит те из них, которые начинаются с буквы «b».

Решение задачи: «Функции: ввести ряд строк и вывести те из них, которые начинаются с буквы "b"»

textual
Листинг программы
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
#define SIZE 256
 
void clear_stream()
{
        while (getchar() != '\n');
}
 
void enter_string()
{
        int count = 0;
        char *string;
        char c;
 
        string = (char *)malloc(SIZE);
        printf("Enter a string (the string must be less %d characters): ", SIZE);
 
        clear_stream();
        while ((c = getchar()) != '\n') {
                if (count < SIZE - 1) {
                        string[count] = c;
                        count++;
                }
        }
        string[count] = '\0';
        
        if (string[0] == 'b' || string[0] == 'B')
                puts(string);
}
 
 
int main()
{
        char key;
        bool quit = false;
 
        while (!quit) {
                printf("   Menu\n");
                printf("1. Enter a string.\n");
                printf("2. Quit.\n");
                scanf("%c", &key);
 
                switch (key) {
                        case '1': {
                                enter_string();
                                break;
                        } case '2': {
                                quit = true;
                                break;
                        } default: {
                                printf("You entered a wrong character, try again.\n");
                        }
                }
        }
        return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с консолью и строками.
  2. Определяем константу размера строки, которую будем вводить.
  3. Создаем функцию, которая будет очищать поток ввода от лишних символов.
  4. Создаем функцию, которая будет запрашивать ввод строки и выводить на экран только те строки, которые начинаются с буквы b.
  5. В функции main() создаем переменную, которая будет контролировать выход из программы.
  6. В цикле while, пока пользователь не введет символ 2, выводим меню и запрашиваем ввод.
  7. В зависимости от введенного символа выполняем соответствующие действия: ввод строки или выход из программы.
  8. Если был введен символ 1, то вызываем функцию enter_string(), которая запрашивает ввод строки и выводит на экран только те строки, которые начинаются с буквы b.
  9. Если был введен символ 2, то выходим из программы.
  10. Если был введен некорректный символ, то выводим сообщение об ошибке и просим ввести символ заново.

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы