Where to start

This is a discussion on Where to start within the C Programming forums, part of the General Programming Boards category; Now i have my programming project and i have no idea where to start or how to approach this. If ...

  1. #1
    Registered User
    Join Date
    Jan 2010
    Posts
    31

    Where to start

    Now i have my programming project and i have no idea where to start or how to approach this. If its possible could you guys swing by some ideas and your recommendations? The outline is below


    VetMed is a veterinary hospital. The hospital currently needs a system to manage their clients, pets, and doctors in order to increase efficiency. This information is used to provide better customer service and to manage everyday operations.

    The following information about each pet that visits the hospital is required: name, species, and birth date as well as their owner’s info which includes: identification number, name, address, and e-mail address.

    In addition, for each pet, a history of the visits to the doctor is maintained. For each visit, the date, type of service offered, additional comments, and payment amount are recorded.

    Detailed records about the doctors working for the hospital are also stored in the database. Part of this information is made available to the customers in order to help them choose the doctor who best fits their needs. The doctors’ database includes the following: identification number, name, address, gender, area of specialization, degree earned, day off and their current charges.
    The company has promotional deals for their returning customers so that they get a discount of 5% on their total charges for that visit.
    In addition, customers may get additional services at each visit, these may include and not limited to injection ($2500), xray($5000), medication($4000).
    A tax of 16.5% (GCT) is charged.
    The following is to be noted and also needed
    a) It is possible that the company can employ new doctors, it is also possible that doctors could be removed from the company’s systems due to discharge, retirements, etc.. Only managers should be able to do this.
    b) Provide a menu-based system which allows for the various functions described to be carried out upon successful entry into the system. Unless the user chooses to exit the menu, it should always appear on the screen after each option is executed. The options to be presented should include but not limited to: New client/Existing Clients, Modify and Display clients’ info, Add and remove doctors, Print Receipt, Display Reports, General Information etc.
    c) The system should implement a security feature for entry and after three unsuccessful attempts of the security code; the system should lock out the user. The system also has a separate security features for managers who are the only ones who can generate and print reports, add/remove doctors and remove a client. Managers can also grant discount for incurred charges or to modify information on doctors only, regular staff can modify client’s information.

    The following is also needed:
    (1) A visit receipt showing; name of pet, owner’s name, date of visit, type of service, doctor’s name, additional services, taxes and final cost, amount paid and amount owing.
    (2) A listing should be given to the clients to let them know currently all the doctors and their specialization that are employed at the hospital.
    (3) A notification report on all outstanding balances showing owner’s name, contact details, total cost, amount paid, outstanding balance.
    (4) Pet History report that will be produced for a particular pet showing the pet name, doctor’s name, date, type of service and additional comments for each visit.
    (5) High Risks Pets report which will display the pet name, owner’s name, total number of visits for all pets who have visited the hospital more than n times (nb. n is entered by the user and represent number of visits and should be greater than 1).

    The veterinary hospital wishes for you to implement a menu-based C program that will simulate the operations of this system by allowing for the functionality described above to be carried out upon successful entry into the restricted area.
    BONUS (10 marks)
    Produce and display a report that is an extension of the Doctor listing report in 2), that will show the doctor’s name and specialization for all doctors that are available on the given day that the client is visiting the hospital.

  2. #2
    Registered User
    Join Date
    May 2009
    Posts
    2,372
    Decide on the number of tables. Tables is just a array of structures in C; are you sure this is to be done in C instead of C++?
    How to store the tables file, SQL database, memory or combination of these or something else.

    Step 1. define the structure of the record.

    The next step is decide how to program it.

    Break the problem into sub-problems
    Write functions to do each sub-problem.

    Seems like the menu function would be a place to start.

    Tim S.
    Last edited by stahta01; 10-30-2011 at 03:11 PM.

  3. #3
    Registered User
    Join Date
    Jan 2010
    Posts
    31
    If you realize that it says "different uses have different privileges" i was wonder if i could write two different C files to achieve this and depending on what password the user enter it would then select the appropriate program

  4. #4
    Registered User
    Join Date
    May 2009
    Posts
    2,372
    I would have a table that holds the username, password, and access level; but, I would be doing a real design.
    Some instructors do not want a real world type design.

    Tim S.

  5. #5
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by teensicle View Post
    If you realize that it says "different uses have different privileges" i was wonder if i could write two different C files to achieve this and depending on what password the user enter it would then select the appropriate program
    Ok... for starts, how long have you been studying C?

    What I'm looking at is a more detailed specification than I usually get when invited to bid professionally on a job. This is not some minor programming exercise to demonstrate principles... this is a full out commercial application they are tossing at you. Software at this level will sell for $500 or more in commercial distribution... $10,000 or more as a custom application.

    If this leaves you totally lost for where to start...

    1) Your teacher sucks.
    2) You haven't been listening in class.
    3) This is way ahead of your skill level.
    4) Somebody's trying to make a little money on the side.

    (Pick one or more answers as appropriate.)

  6. #6
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    This just sounds like a homework assignment to me.


    Quzah.
    Hope is the first step on the road to disappointment.

  7. #7
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by quzah View Post
    This just sounds like a homework assignment to me.
    Quzah.
    All you have to do is look at the complexity of the database required....

    We're talking about :
    --> files for animals, cross referenced to owners
    --> files for owners, cross referenced to animals
    --> treatment histories
    --> lists of doctors
    --> client appraisals of doctors (scoring system)
    --> billing
    --> accounts receivable
    --> reporting
    --> dynamic menus
    --> user lists with passwords and access levels
    --> secure access with lockout features

    This is not a trivial program to write.

    Any ONE of these requirments would qualify as a homework assignment...
    The sum of them is a commecially marketable application.
    Last edited by CommonTater; 10-31-2011 at 02:26 AM.

  8. #8
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    He said he has a programming project. I figured it was his end of semester assignment. Besides, all that stuff is simple.
    We're talking about :
    --> files for animals, cross referenced to owners
    --> files for owners, cross referenced to animals
    Code:
    struct animal
    {
        ...
        unsigned long ownderID;
    };
    struct owner
    {
        struct animalList *animals;
        ...
    }
    Simple stuff.
    --> treatment histories
    Code:
    struct procedure
    {
        ...
    };
    struct treatment
    {
        struct procedureList *procedures;
        ...
    };
    Do I really need to go through all of this? I could bang this out in an evening.
    --> billing
    --> accounts receivable
    --> reporting
    A way to search and a loop does all of this.
    --> dynamic menus
    Dynamic menus are not needed, but if you want them, they're easy to do:
    Code:
    for( x = 0; x < MAXMENUTHINGS; x++ 
    {
        if( menu[ x ].authorization == my->level )
        {
            printf( "%d) %s\n", x, menu[ x ].optionName );
        }
    }
    printf( "Enter a choice: " );
    Dynamic menus are simple. You find out what option they picked the same way you decided what to show them.
    --> user lists with passwords and access levels
    --> secure access with lockout features
    Maybe I overestimate the average student.


    Quzah.
    Hope is the first step on the road to disappointment.

  9. #9
    a_capitalist_story
    Join Date
    Dec 2007
    Posts
    2,639
    Actually, looks like he's looking to use Access: Creating Access Databases and Tables Using C - #HELP so the structs and associated lists are probably moot, as he'll be using ODBC (I guess? Not sure how Access and C interface).

    I just hate these "here's my end-of-semester programming project, how do I start questions". How the heck are we supposed to know what this person's skill level is, what they've learned, etc.? These types of questions are much better addressed to the student's TA or professor; the people who do know this information.

  10. #10
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by quzah View Post
    I could bang this out in an evening.
    No offense my friend... but I seriously doubt anyone could do coding that complex in an evening (and not produce garbage).

    It's one thing if you envision a class project with 10 customers, 10 animals and 2 doctors... It's something else entirely in the real world were you could be looking at storing data for thousands of customers, thousands of animals and a dozen or so doctors.

    As I said before... I get paid to do jobs far less complex than this one.
    Last edited by CommonTater; 10-31-2011 at 05:37 AM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Where To Start?
    By Dark Dude in forum Game Programming
    Replies: 5
    Last Post: 10-15-2008, 11:13 AM
  2. Where to start...
    By skim in forum Game Programming
    Replies: 6
    Last Post: 03-18-2004, 07:13 PM
  3. Where to Start?
    By L_burna225 in forum C++ Programming
    Replies: 2
    Last Post: 04-22-2003, 10:25 AM
  4. Don't even know where to start.... do while...
    By thynksheraze in forum C++ Programming
    Replies: 6
    Last Post: 02-05-2003, 04:30 PM
  5. should I start with C++?
    By Unregistered in forum C++ Programming
    Replies: 9
    Last Post: 05-02-2002, 12:33 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21