Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Программа-пример №1 из главы 28
- // Руководства по С для новичков, 3-е издание
- // Файл Chapter28ex1.c
- /* В основе этой программы программа из Главы 27 (информация о книгах),
- но сведения о книгах печатаются
- в файл bookinfo.txt. */
- //В первую очередь подключить файл с определением структуры
- #include "bookinfo.h"
- #include <stdio.h>
- #include <stdlib.h>
- // Кодировка
- #include <Windows.h>
- FILE * fptr;
- int main(){
- SetConsoleCP(1251);// кодировка ввода
- SetConsoleOutputCP(1251);// кодировка вывод Lucida console шрифт
- int ctr;
- struct bookInfo books[3]; // Массив из трех структурных переменных
- // Получить информацию о каждой книге от пользователя
- for (ctr = 0; ctr < 3; ctr++){
- printf("Введите название книги №%d?\n", (ctr+1));
- gets(books[ctr].title);
- puts("Кто автор? \n");
- gets(books[ctr].author);
- puts("Сколько стоила книга число с точкой?\n");
- scanf(" $%f", &books[ctr].price);
- puts("Сколько страниц в книге? \n");
- scanf(" %d", &books[ctr].pages);
- getchar(); //Создает пустую строку для следующего прохода
- }
- // При вводе пути к файлу не забудьте
- // продублировать обратную
- // косую черту, иначе компилятор воспримет ее как
- // начало символа преобразования
- fptr = fopen("D:\\Portable\\Cfree\\BookInfo.txt","w");
- // Проверить, открылся ли файл
- if (fptr == 0){
- printf("Ошибка--Невозможно открыть файл.\n");
- exit (1);
- }
- // Напечатать файл заголовок, а затем пройти
- // циклом по массиву и распечатать информацию
- // о книгах, но не на экране, а в файл
- fprintf(fptr, "\n Моя коллекция книг:\n");
- for (ctr = 0; ctr < 3; ctr++){
- fprintf(fptr, "№%d: %s автор %s", (ctr+1), books[ctr].title, books[ctr].author);
- fprintf(fptr, "\nСодержит %d страниц и стоит $%.2f", books[ctr].pages, books[ctr].price);
- fprintf(fptr, "\n\n");
- }
- fclose(fptr); // Всегда закрывайте файлы
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment