Функции на проверку чисел, календарной даты и палиндрома - C (СИ)

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

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

Добрый день, господа. Есть одна проблема. В иностранном учебнике есть такое задание, перевожу: "Нужно написать программу для простой обработки слов из текста. В программе должны быть функции на проверку чисел, календарной даты и палиндрома. Текстом является стандартный ввод(stdin). Файл должен читаться по слову с помощью спецификатора %s функции scanf." У нас есть текст:
$ cat data.txt
Hello, world!
Created on 2015-08-26
having 13 words out of which 8 = 4+4 contains o.
После выполнения программы текст должен выглядеть так:
$ ./proj1 <data.txt
word: Hello,
word: world!
word: Created
word: on
date: Wed 2015-08-26
word: having
number: 13 (prime)
word: words
word: out
word: of
word: which
number: 8
word: = (palindrome)
word: 4+4 (palindrome)
word: contains
word: o.
Господа, пожалуйста, помогите с выполнением этого задания или направьте меня в нужное русло мышления, ибо в программировании я новичок. Буду премного благодарен.

Решение задачи: «Функции на проверку чисел, календарной даты и палиндрома»

textual
Листинг программы
#include <stdio.h>
 
int is_date(char *buf) {
 return 0;
}
 
int is_number(char *buf) {
 return 0;
}
 
int is_palindrome(char *buf) {
 char *start=buf,*end;
 while (*buf) { end=buf; buf++; }
 while (end>=start) {
  if (*end!=*start) return 0;
  end--; start++;
 }
 return 1;
}
 
int main(void){
 char buf[81];
 puts("Enter the text, Ctrl+Z for exit\n");
 while(scanf("%s",buf)==1) {
  if (is_date(buf)) printf ("\ndate: %s",buf);
  else if (is_number(buf)) printf ("\nnumber: %s",buf);
  else if (is_palindrome(buf)) printf ("\npalindrome: %s",buf);
  else printf ("\nword: %s",buf);
 }
 getchar(); return 0;
}

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

  1. Объединение функций для проверки разных типов данных: даты, числа и палиндрома.
  2. Функция is_date() возвращает 0, всегда, независимо от введённых данных.
  3. Функция is_number() возвращает 0, всегда, независимо от введённых данных.
  4. Функция is_palindrome() проверяет, является ли строка палиндромом.
  5. В функции main() используется цикл while для получения данных от пользователя и проверки их типа.
  6. Введенные данные сохраняются в массиве buf[81].
  7. Если пользователь вводит число, программа выводит сообщение number: и введённое число.
  8. Если пользователь вводит слово, программа выводит сообщение word: и введённое слово.
  9. Если пользователь вводит дату, программа выводит сообщение date: и введённую дату.
  10. Если пользователь вводит палиндром, программа выводит сообщение palindrome: и введённый палиндром.
  11. Если пользователь вводит некорректные данные, программа не выполняет никаких действий.
  12. Программа завершается после нажатия клавиши Ctrl+Z.
  13. Программа не обрабатывает ошибки и исключения.
  14. Программа не использует библиотеки для работы с датами и числами.
  15. Программа не сохраняет введённые данные для последующего использования.
  16. Программа не позволяет пользователю выполнять дополнительные действия с данными.
  17. Программа не предоставляет пользователю возможности настройки или изменения алгоритмов проверки.
  18. Программа не содержит комментариев, объясняющих работу кода.
  19. Программа не содержит инструкций по использованию.
  20. Программа не содержит возможностей для расширения функциональности.

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

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