Создать файл, содержащий сведения о результатах сдачи сессии - 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;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем структуру
Student, которая содержит информацию о студенте - Создаем функцию
writeFile, которая записывает информацию о студенте в файл - Открываем файл для записи с помощью
fopenи проверяем его наличие с помощьюfopen - Записываем информацию о студенте в файл с помощью
fprintf - Закрываем файл с помощью
fclose - В функции
mainсоздаем экземпляр структурыStudent - Инициализируем поля структуры с помощью
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) - Возвращаем 0, чтобы указать, что программа успешно завершилась