1. No Profile Picture
Registered User
Devshed Newbie (0 - 499 posts)

Join Date
Apr 2017
Posts
1
Rep Power
0

My first project

Hi,

I am new here and I am a rookie in C language and need some help.
I have a problem at hands and need to find a solution. Given my little
knowledge on C i am finding it tough to crack the problem.

The issue is that i have to make a duty roster of teachers for a
period of 15 or 30 days .

I will explain you with an example (considering a roster for a period
of 15 days)

Lets say there are 23 teachers from A to Z. now A does duty on 1st of
the month and B does it on 2nd so on...N does it on 15 (covering 15
days), now the program should make roster considering teachers from O
to Z for next 15 days.

The conditions for the roster are:-

1. There are a total of 30 teachers. (which keep changing so can i
define the number of teachers available ?).

2. I have to make a roster for these teachers based on their
availability. That is out of the 30 teachers all may not be present
that is some may be on leave or gone out for some invigilation duties
and are not available for doing the duty.

3. The program should give me a history of the Teacher that is when
did he/she did her last duty and when will her duty fall next.

4. The program should,give a seeding to all teachers (as in case of
tennis player seeding for a Grand slam tournament). that is the higher
the seeding that means that teacher has high probability to be on duty
next. The lower the seeding of a teacher means that the teacher has
low probability to be on duty next. Seeding should be based on the
amount of duties done by a teacher.

Is it possible in C language or do i need to learn and find solution
in some other language.
Any sort of help is welcomed.
2. This scheduling problem is possible to solve in any language which is Turing complete, and c is among those. However, c will encumber you with minute details. I advise you to choose a higher level language. C++ with the standard template library would at least provide pre-programmed 'containers' (lists, hash, set). As would an interpreted language like python under which you'd avoid compile/link steps.

The project suggests a database, actually, and it looks to me as if the problems can be solved with sql (which is not Turing complete). There are many open source and free databases, mysql, sqlite3 etceteras. These will handle dates, reports, file management, choosing available least used resources. I think this is the way go.