CSE102#hw10

$30.00

Category:

Description

5/5 - (3 votes)

In this homework, you will write a simple database management system which reads information
about a department in a university such as students, lectures, and professors and outputs a file
which includes some summary information. The aim of this homework is to make you more
familiar with structs and random and sequential file operations. Your program will read basic
information from a random access file using structs and output a summary information as a
sequential file. Example input and output files are given below. Please note that the input file
will be a random access file instead of a sequential one given in this sheet for demonstration
purposes.
Input File Format: There are 5 different data types (i.e. structs) in the file. Students (with id,
name and surname), lecturers (with degree, id, name and surname), lectures ( with code, name
and the id of the lecturer), schedule (with classroom name, day, start time of the lecture,
duration of the lecture and the code of the lecture) and courses taken by the students (with
student id and lecture code). The following is an example input file in the sequential form. At the
beginning of each entry type is a number which indicates how many entries will be listed. For
example, the first line indicates there are 3 students to be read. In the exact random access file,
there will be no space or newline character between any of the information. The order of the
data will be the same in all input files, i.e. first students, second lecturers, third lectures, etc..
input.dat
3
100 kerem inan
105 oya demir
420 nese kaplan
3
prof 222 ibrahim sogukpinar
prof 356 yakup genc
assis 789 mustafa tunali
5
101 programming 356
444 discrete 222
108 programming_lab 789
321 network 222
521 algorithms 356
5
Z23 Tue 10 2 101
Z06 Thu 14 1 444
BM101 Wed 11 3 321
Z20Lab Fri 14 3 108
BM207 Mon 9 3 521
7
100 101
100 521
105 521
420 444
105 321
420 101
100 108
Output file format: Output file will include some relations about the data in the input file. The
first summary will be lecture, lecturer and student relation. Namely, for each lecture its name,
the name and surname of the lecturer and the number of students that takes the lecture will be
listed. Secondly, the student-lecture relation will be listed, i.e for each student, his student id,
name, surname and how many lectures he takes. The last summary is about student schedules,
i.e. his student id, name, surname, and the days on which he has class.
output.txt
Lecture-Lecturer
programming yakup genç 2
discrete Ibrahim sogukpinar 1
programing_lab mustafa tunalı 1
network ibrahim sogukpinar 1
algorithms yakup genc 2
Student-Lecture
100 kerem inan 3
105 oya demir 2
420 nese kaplan 2
Student-Day
100 kerem inan Tue, Mon, Fri
105 oya demir Mon, Wed
420 nese kaplan Thu,Tue
An example input.dat file is provided with the homework definition. Please note that your
homework will be tested on another input file, so your program should handle any input file with
the given format, for example varying number of student, lecture numbers. When defining your
structs, use 30 length character arrays for string variables and integer for numeric variables to be
able to read the input file properly. Do not change the format of the output file and do not write
any additional info or explanation.
#notes
 You are free to write any additional functions.
 Do not change the input and output file names and formats! Different file names or
formats will not be accepted.
 The assignment must be your original work. Duplicate or very similar assignments are both
going to be considered as cheating.
 Submit your homework via KADI.
 Ask your questions via moodle.