logo Use CA10RAM to get 10%* Discount.
Order Nowlogo
(5/5)

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

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

TERMINAL ASSIGNMENT

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:  https://www.onlinegdb.com/online_c_compiler https://www.tutorialspoint.com/compile_c_online.php

https://repl.it/languages/c

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.

 

Problem         

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.

students.txt

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.

companies.txt

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.   

(5/5)
Attachments:

Related Questions

. Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

. The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

. Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

. SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

. Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Um e HaniScience

742 Answers

Hire Me
expert
Muhammad Ali HaiderFinance

689 Answers

Hire Me
expert
Husnain SaeedComputer science

615 Answers

Hire Me
expert
Atharva PatilComputer science

566 Answers

Hire Me
April
January
February
March
April
May
June
July
August
September
October
November
December
2025
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
SunMonTueWedThuFriSat
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
00:00
00:30
01:00
01:30
02:00
02:30
03:00
03:30
04:00
04:30
05:00
05:30
06:00
06:30
07:00
07:30
08:00
08:30
09:00
09:30
10:00
10:30
11:00
11:30
12:00
12:30
13:00
13:30
14:00
14:30
15:00
15:30
16:00
16:30
17:00
17:30
18:00
18:30
19:00
19:30
20:00
20:30
21:00
21:30
22:00
22:30
23:00
23:30