Задать 9 переменных целого типа, записать их в файл на диске, прочитать их из файла в массив размерностью 9 - C (СИ)
Формулировка задачи:
Здравствуйте. Нужна помощь. Буду благодарен. Эта программа должна быть написана на языке СИ. Спасибо за помощь и за внимание.
Задать 9 переменных целого типа, записать их в файл на диске, прочитать их из файла в массив размерностью 9, массив вывести на экран.
Решение задачи: «Задать 9 переменных целого типа, записать их в файл на диске, прочитать их из файла в массив размерностью 9»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("Demo\n");
FILE *f, *f2;
int i = 0;
int num;
int a[9];
char c;
if((f = fopen("demo.txt", "w")) == NULL)
{
printf("Error\n");
getch();
return 1;
}
while(i < 9)
{
printf("Input number: ");
scanf("%i", &num);
c = num + '0';
putc(c, f);
i++;
}
fclose(f);
if((f2 = fopen("demo.txt", "r")) == NULL)
{
printf("Error\n");
getch();
return 1;
}
i = 0;
c = getc(f2);
while(c != EOF)
{
a[i++] = atoi(&c);
c = getc(f2);
}
fclose(f2);
for(i = 0; i < 9; i++)
{
printf("%i\n", a[i]);
}
getch();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и стандартного ввода/вывода
- Объявление переменной
printfдля вывода информации на экран - Объявление переменных
fиf2для работы с файлами - Объявление переменной
iдля отслеживания количества заполненных ячеек массива - Объявление переменной
numдля получения числовых значений от пользователя - Объявление массива
aдля хранения чисел - Объявление переменной
cдля работы с символами - Открытие файла
demo.txtв режиме записи (w) или ошибки, если файл не может быть открыт - Цикл, выполняющийся до тех пор, пока не будет введено 9 чисел
- Вывод сообщения с просьбой ввести число
- Считывание числа с помощью функции
scanf - Преобразование числа в символ и запись его в файл с помощью функции
putc - Увеличение индекса для следующей ячейки массива
- Закрытие файла
- Открытие файла
demo.txtв режиме чтения (r) или ошибки, если файл не может быть открыт - Установка переменной
iв 0 для отслеживания количества прочитанных ячеек массива - Чтение символа из файла до тех пор, пока не будет достигнут конец файла (
EOF) - Преобразование символа в число с помощью функции
atoiи сохранение в ячейке массива - Увеличение индекса для следующей ячейки массива
- Закрытие файла
- Цикл, выполняющийся до тех пор, пока не будут прочитаны все числа из файла
- Вывод числа на экран с помощью функции
printf - Ожидание нажатия клавиши для завершения программы