Перевести код с Pascal - C (СИ) (77430)
Формулировка задачи:
как эту программу в паскале сделать на языке СИ
Program S9;
Var
Kol:Integer;
f:Text;
cell:Char;
Begin
Kol:=0;
Assign(F,'res.txt');
Reset(F);
While Not Eof(F) Do
Begin
Read(F,cell);
If cell = 'р' Then
Inc(Kol);
End;
Close(F);
WriteLn('Kol = ',Kol);
ReadLn;
End.Решение задачи: «Перевести код с Pascal»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
FILE *f;
char cell;
int count = 0;
f = fopen("res.txt", "r");
if (NULL == f)
{
fprintf(stderr, "Error: Can't open file\n");
return 1;
}
while (fscanf(f, "%c", &cell) == 1)
if ('p' == cell)
++count;
fclose(f);
printf("Count: %d\n", count);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Подключение библиотеки для работы с файлами (stdio.h)
- Определение точки входа в программу
- Объявление переменных
- f - указатель на файл
- cell - символ, считываемый из файла
- count - счетчик
- Открытие файла
res.txtдля чтения - Проверка на успешное открытие файла
- Если файл не удалось открыть, выводится сообщение об ошибке и возвращается 1
- Бесконечный цикл, считывающий символы из файла
- Условие цикла - успешное считывание символа
- Считывание символа в переменную cell
- Проверка на считывание символа 'p'
- Если считанный символ равен 'p', увеличивается счетчик count
- Закрытие файла
- Вывод значения счетчика count
- Возврат 0, означающий успешное выполнение программы