Создать файл, содержащий сведения о результатах сдачи сессии - C (СИ)

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

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

Создать файл, содержащий сведения о результатах сдачи сессии студентами 1 курса специальности "Программирование для ЭВМ". Структура записи: индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественных мероприятиях.

Решение задачи: «Создать файл, содержащий сведения о результатах сдачи сессии»

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct Student {
    int groupID;
    char FirstName[10];
    int marks[5];
    char activity[3];
};
 
void writeFile(char *namePath, struct Student person)
{
    FILE *out;
    if (out = fopen(namePath, "a+")) {
        fprintf(out, "%d %s ", person.groupID, person.FirstName);
        for (int i = 0; i < 5; i++)
            fprintf(out, "%d ", person.marks[i]);
        fprintf(out, "%s\n", person.activity);
    }
}
 
int main()
{
    struct Student Stud;
    int i = 0;
 
    Stud.groupID = 3;
    strcpy(Stud.FirstName, "Pupkin");
    strcpy(Stud.activity, "yes");
    for (i = 0; i < 5; i++)
        Stud.marks[i] = rand() % 4 + 1;
 
 
    writeFile("output.txt", Stud);
    system("pause");
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы
  2. Объявляем структуру Student, которая содержит информацию о студенте
  3. Создаем функцию writeFile, которая записывает информацию о студенте в файл
  4. Открываем файл для записи с помощью fopen и проверяем его наличие с помощью fopen
  5. Записываем информацию о студенте в файл с помощью fprintf
  6. Закрываем файл с помощью fclose
  7. В функции main создаем экземпляр структуры Student
  8. Инициализируем поля структуры с помощью Stud.groupID = 3;, strcpy(Stud.FirstName,Pupkin);, strcpy(Stud.activity,yes);, for (i = 0; i < 5; i++) Stud.marks[i] = rand() % 4 + 1;
  9. Вызываем функцию writeFile с аргументами output.txt и Stud
  10. Выводим сообщение об успешном выполнении программы с помощью system(pause)
  11. Возвращаем 0, чтобы указать, что программа успешно завершилась

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

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