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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <stdlib.h>
  4.  
  5. #define SIZE 256
  6.  
  7. void clear_stream()
  8. {
  9.         while (getchar() != '\n');
  10. }
  11.  
  12. void enter_string()
  13. {
  14.         int count = 0;
  15.         char *string;
  16.         char c;
  17.  
  18.         string = (char *)malloc(SIZE);
  19.         printf("Enter a string (the string must be less %d characters): ", SIZE);
  20.  
  21.         clear_stream();
  22.         while ((c = getchar()) != '\n') {
  23.                 if (count < SIZE - 1) {
  24.                         string[count] = c;
  25.                         count++;
  26.                 }
  27.         }
  28.         string[count] = '\0';
  29.        
  30.         if (string[0] == 'b' || string[0] == 'B')
  31.                 puts(string);
  32. }
  33.  
  34.  
  35. int main()
  36. {
  37.         char key;
  38.         bool quit = false;
  39.  
  40.         while (!quit) {
  41.                 printf("   Menu\n");
  42.                 printf("1. Enter a string.\n");
  43.                 printf("2. Quit.\n");
  44.                 scanf("%c", &key);
  45.  
  46.                 switch (key) {
  47.                         case '1': {
  48.                                 enter_string();
  49.                                 break;
  50.                         } case '2': {
  51.                                 quit = true;
  52.                                 break;
  53.                         } default: {
  54.                                 printf("You entered a wrong character, try again.\n");
  55.                         }
  56.                 }
  57.         }
  58.         return 0;
  59. }

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

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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы