Не выдаёт результаты - C (СИ)
Формулировка задачи:
Всем привет. Недавно начал знакомиться с языком Си и входе обучения возникла трудность..
Может кто подсказать ? Я пишу программу:
По итогу, она должна посчитать количество строк, пробелов и символов. Пробовал на мобильной версии запустить - всё отлично, но как только сажусь за ПК, в результате ничего не считает.
#include <stdio.h> #define NLINES 1.0 /* Определение старта для линий. Подсчёт строки начинается всегда с 1 */ #define NSPACES 0.0 /* Определение старта для пробелов */ #define NSYMB 0.0 /* Определение старта для символов */ main() { double g; double nl= NLINES; double nsp= NSPACES; double ns= NSYMB; printf ("Wellcome to StupidProg\nfor exit press 'x'.\n\n"); while ((g=getchar()) != EOF) /* Подсчёт входного потока с клавиатуры */ { if (g=='\n') /* Вычисление кол-ва линий */ { ++nl; } if (g== ' ') /* Вычисление кол-ва пробелов */ { ++nsp; } if (g!=EOF) /* Вычисление кол-ва символов */ { ++ns; } if (g=='x') /* Функция выхода */ { return 0; } } printf ("Lines: %.0f\nSpaces: %.0f\nSymbols: %.0f\n", nl, nsp, ns); /* Отображение результатов*/ }
Решение задачи: «Не выдаёт результаты»
textual
Листинг программы
#include <stdio.h> #define NLINES 1.0 /* Определение старта для линий. Подсчёт строки начинается всегда с 1 */ #define NSPACES 0.0 /* Определение старта для пробелов */ #define NSYMB 0.0 /* Определение старта для символов */ main() { char g; int nl= NLINES; int nsp= NSPACES; int ns= NSYMB; printf ("Wellcome to StupidProg\nfor exit press 'x'.\n\n"); while ((g=getchar()) != 'x') /* Подсчёт входного потока с клавиатуры */ { if (g=='\n') /* Вычисление кол-ва линий */ { ++nl; } if (g== ' ') /* Вычисление кол-ва пробелов */ { ++nsp; } if (g!=EOF) /* Вычисление кол-ва символов */ { ++ns; } } printf ("Lines: %.0f\nSpaces: %.0f\nSymbols: %.0f\n", nl, nsp, ns); /* Отображение результатов*/ return 0; }
Объяснение кода листинга программы
- Включаем заголовочный файл
для использования функций ввода-вывода. - Определяем константы NLINES, NSPACES и NSYMB, которые задают стартовые значения для подсчета количества строк, пробелов и символов соответственно.
- В функции main() объявляем переменную типа char g для хранения вводимого символа, а также переменные типа int nl, nsp и ns для подсчета количества строк, пробелов и символов соответственно.
- Выводим приветствие и инструкцию по использованию программы.
- Запускаем цикл while, который будет выполняться до тех пор, пока не будет введен символ 'x'.
- Внутри цикла проверяем, равен ли введенный символ '\n'. Если да, то увеличиваем значение переменной nl на 1.
- Проверяем, равен ли введенный символ ' '. Если да, то увеличиваем значение переменной nsp на 1.
- Проверяем, не равен ли введенный символ EOF. Если нет, то увеличиваем значение переменной ns на 1.
- После окончания цикла выводим количество строк, пробелов и символов на экран.
- Возвращаем 0 из функции main(), чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д