Ввод строки до определенного символа - C (СИ)

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

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

Здравствуйте. Суть задачи: вводится текст, ввод должен осуществляться до определенного символа (например до буквы "а"). При вводе этого символа ("а") программа сохраняет весь текст, введенный до него, в строку (массив char), и ввод прекращается. Подскажите, пожалуйста, как можно реализовать это? Мне в голову приходит только посимвольный ввод с проверкой каждого символа, но тогда после каждой буквы придется нажимать Enter, что очень не удобно. Заранее спасибо.

Решение задачи: «Ввод строки до определенного символа»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define SIZE 1000
  4.  
  5.  
  6. int main ( void )
  7. {
  8.    
  9.     char sequenceArray[SIZE] = "";
  10.     signed char currentLetter = 0;
  11.     unsigned char counter;
  12.  
  13.    
  14.  
  15.     puts( "Enter your sequence:" );
  16.     fflush( stdout );
  17.  
  18.     for ( counter = 0; ( currentLetter = getchar()) != 'a' && currentLetter != 'A' // перенос
  19.         && counter < SIZE; ++counter ) {
  20.        
  21.         sequenceArray[counter] = currentLetter;
  22.     }
  23.  
  24.     puts("");
  25.     puts( "Your sequence is: ");
  26.  
  27.     for ( counter = 0; sequenceArray [counter] != 0; ++counter ) {
  28.         printf( "%c", sequenceArray[counter] );
  29.     }
  30.  
  31.     puts("");
  32.     return ( EXIT_SUCCESS );
  33. }

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

В этом коде:

  1. Объявлены три переменные: sequenceArray, currentLetter и counter.
  2. Переменная sequenceArray инициализируется пустой строкой.
  3. В цикле for, который продолжается до тех пор, пока пользователь не введет символ 'a' или 'A', текущий символ добавляется в массив sequenceArray.
  4. После окончания цикла выводится пустая строка.
  5. Затем выводится сообщение Your sequence is: и в цикле for выводятся все символы, добавленные в массив sequenceArray.
  6. Программа завершается успешно.

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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