university keeps records of students and companies engaged in the INTRA programme using a computer program. This program uses two files named students.txt and companies.txtC Programming


MODULE:  Software Development for Engineers (EM108)

the terminal assignment consists of one problem. You need to design a solution, write the code using the C programming language, test your program, write a report and submit your work in loop.

In order to compile and test your program, either a locally-installed compiler such as BorlandC or one of the following online compilers can be used:

A report template is available at the end of this document and can also be downloaded from the EM108 loop site.

The input files can be created using the data at the end of this document or can be downloaded from loop.



A university keeps records of students and companies engaged in the INTRA programme using a computer program. This program uses two files (named students.txt and companies.txt) which store details on the students and companies, respectively. The files use lines with the following format for storing information.


Name Surname PPS Nationality Married Children Registration

Each line contains 7 pieces of information about a student, separated by space. The first two pieces of information represent the student name and surname, the third the associated PPS as an alphanumeric code, the fourth the student nationality as an alphabetic field, the fifth is an indication whether the individual is married or not (e.g. 1 or 0), the sixth is the number of children the student has and the final field is an alphanumeric entry which contains the registration code of the company the student performs his/her INTRA with.


Company Registration Salary Benefits

Each line contains 4 pieces of information about companies, separated by space. The first is the company name, the second is the company unique alphanumeric registration code, the third is the salary, expressed in euro and finally benefits indicates whether the company offers or not benefits (1 or 0).

You are required to develop a program which will perform the following steps:

  1. Write a function to read the data from the two input files into two arrays of structures (5 marks). Assume a maximum of 20 characters for each alphabetic name or alphanumeric code. Note there are no spaces introduced between the potential multiple words of any name. Once read, the program should not allow data to be read again from the files and a warning message will be displayed instead (5 marks). It is assumed that there are no more than 1000 entries in each (10 marks)
  1. Ask the user to input a company name. Write a function to search for the company in the company array of structure and return its registration if found or -1 otherwise (5 marks). Ask the user for a student name. Write a function to search for the student and - if found - record the fact that the student will do his/her INTRA with the inputted company by storing company’s registration in student’s record. If the student is not found, print a message (10 marks). (15 marks)


  1. Ask for a student PPS. Search for the student in the data structure and - if found - print his/her details: name, nationality, married status and number of children. Print a message if the student is not found (5 marks). Print also the INTRA-related details as follows: company name, registration code, salary (10 marks). You may find helpful if you write a function that receives as a parameter a company registration code, searches for the company in the company array of structure and returns its array index, if found or -1 otherwise.
  1. For each student, compute and store in the student array of structure their income according to their INTRA company details. In the student structure, add a new integer entry named income (5 marks). In the student array of structure, for all the students, fill this entry as follows. If the company does not offer benefits, the income is equal to the company advertised salary (10 marks). If the company does offer benefits, an additional allowance of 5% for married students and a child support of 3% for each of student’s children needs to be added. The international students get a fixed travel allowance of 200 euro (10 marks).
  2. Ask the user to input a letter. Print on the screen the list of students whose names start with that letter and for each student data in the following format:

| Name| Surname       | PPS               | Company      | Income          

e.g.      | John | OBrien          | 1234567D     | Vodafone      | 32500            


  1. Read a file name from the keyboard, and write in a file with that name (5 marks) student information in the following format: (5 marks):

Name Surname Nationality Company Registration Income

e.g.   John OBrien Irish Vodafone X4321674 32500

The program should include at least three functions, demonstrate good coding practices with regard to spacing, indentation, commenting, etc. and offer the user a menu and repeated access to the program options.  


Make sure the program compiles and executes. Test the program rigorously. Record, report and comment all test results.   


Instructions Files

C Programming Experts

Simon M.
C Programming

44 Answers

Arapera Billing
C Programming

89 Answers

View More Experts

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

255 Experts Online