How to approach Julian date?

 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions How to approach Julian date?
# 1  
Old 03-06-2011
Java How to approach Julian date?

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:
This function is given the day, month and year and returns the Julian date. The Julian date is the ordinal day number for that day. For example, 1 Jan is day 1 of any year, 31 Dec is day 365 for any non-leap year and 1 Feb is day 32 for any year. Use your days_in_month() function from the previous problem to calculate the Julian date. Put the code for the function julian_date() in the file julian.c, and the prototype in the file julian.h Write a driver, main(), which asks the user to enter a month, day, year and prints the Julian date. Terminate with EOF. Put the driver in the file driver3.c. You will compile this program with the command:



2. Relevant commands, code, scripts, algorithms:
Other code that relates to it would be the days.h and leap.h


3. The attempts at a solution (include all code and scripts):
for julian.c
Code:
#include <stdio.h>
#include "julian.h"
#include "days.h"
#include "leap.h"

int julian_date(int day, int month, int year)
{
int days;
int yr;
int month;
 #ifdef DEBUG
 printf("debug:Enter julian_date: day = %d, month = %d, year %d\n", day, month, year);
 #endif
        while(month>0 && month<13)
        {days=days_in_month;
                if (year==leap) 
                {       
                        if(month==1)
                        {
                         days= days +1  ;
                        #ifdef DEBUG
                        printf("debug:Exit amount of days: %d January is \n", days);
                        #endif

                        return days;
                        }
                        if(month==2)
                        {
                        days=31+day;
                        }
                        if (month==3)
                        {
                        days=




        #ifdef DEBUG
        {
        printf("debug:Exit julian_date: %d\n");
        #endif
        return days;
        }
        }
}

4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
University of Hawaii at Manoa, Honolulu (HI), Oahu (Hawaii), Tep Dobry, EE 160
( i can't post any URL for i am new to this forum but type tep dobry in google and the link to the course should be titled with 2011 after the link is connected the information is in its in the homework section)
If you need more info i'll post up more
Thank you for your time
Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).

Last edited by Scott; 03-06-2011 at 06:40 PM.. Reason: Added code tags
# 2  
Old 03-06-2011
First, I must say that year professor has thrown you a curve. As this page says:
Quote:
The use of Julian date to refer to the day-of-year (ordinal date) is usually considered to be incorrect although it is widely used that way in the earth sciences, computer programming, and the food industry.
The description of the algorithm given is clearly day-of-year, not a real Julian Day. This may confuse you as you research the subject.

I won't write this for you, but a few comments on your code...
year==leap That can't be right. Even if there was only one leap year, you never set the variable called leap to anything. You need to calculate whether a year is a leap year or not. A good algorithm is on the Wikipedia page for leap year. And remember that C has a % to indicate modulus. So the expression year%400 is the remainder when year is divided by 400. If this is zero then year was an exact multiple of 400.

In January,the day-of-year and the day-of-month are the same. Why do you have day=day+1?

I don't see any driver... What this means is a main program that calls your function and returns the result.

I also don't see your days_in_month() function mentioned in the problem. Ideally I think it should take both a year and and a month because February changes in a leap year. But it may have been defined differently.

I think there are enough clues here for you to take another crack at this routine. Good luck!

Last edited by Perderabo; 03-06-2011 at 07:49 PM.. Reason: Correct grammer
This User Gave Thanks to Perderabo For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate Julian date of a given date

How to get Julian date (Three digit) of a given date (Not current date)? I do not have root privilege - so can not use date -d. Assume that we have three variables year, month and date. Thx (5 Replies)
Discussion started by: Soham
5 Replies

2. Shell Programming and Scripting

Addition to Julian date

Need assistance . Below code gets me julian date . I wanted to add hour/24 to julian date and output it. Is there a way to do the calculation? use Time::Local; use POSIX qw(strftime); my $time=timelocal(1,2,3,9,11,2013); printf strftime "%j", localtime($time); 343 (3 Replies)
Discussion started by: ajayram_arya
3 Replies

3. Shell Programming and Scripting

Julian date to Calendar date conversion

Hi all, I require to convert julian date to normal calander date in unix for eg julian date=122 now i want corresponding calander date ---------------------------------------- gr8 if give very small command/script and please explain the steps as well(imp) Thanks ... (3 Replies)
Discussion started by: RahulJoshi
3 Replies

4. Homework & Coursework Questions

Get Julian date from date string

Hi, im new for UNIX. i have a problem in date function. please help me to find a solution. batchdate="29/10/2010" nextdate="01/11/2010" i want compare this two date. if my batch date greater than nextdate should prompt error message. how can i do that? as i know its better and safer if i... (2 Replies)
Discussion started by: ananth4mu
2 Replies

5. Shell Programming and Scripting

Conversion of date to Julian date

Hi Gurus, Need help in Conversion of date(2007-11-30) to Julian date(YYDDD)... '+%J' 2007-11-30 to 'YYDDD' Thanks (4 Replies)
Discussion started by: SeenuGuddu
4 Replies

6. Shell Programming and Scripting

need help using find and date (julian)

I'm trying to put together a little script that will move some files to a directory, uncompress the file then delete the file when processing is complete. The files are all named using julian date 2009072.Z 2009071.Z 2009070.Z 2009069.Z 2009068.Z 2009067.Z 2009066.Z 2009065.Z... (8 Replies)
Discussion started by: 1buckeye_fan
8 Replies

7. UNIX for Dummies Questions & Answers

How to get yesterdays julian date

Hi, Was using date +%Y%j to get current julian date. Can anyone let me know how can I get y'day's julin date. Thx Did check FAQ but couldn't find anything. Thanks. (3 Replies)
Discussion started by: er_ashu
3 Replies

8. Shell Programming and Scripting

convert Julian date to calender date

Hi, I have script in unix which creates a julian date like 126 or 127 I want convert this julian date into calender date ex : input 127 output 07/may/2007 or 07/05/2007 or 07/05/07 rgds srikanth (6 Replies)
Discussion started by: srikanthus2002
6 Replies

9. Shell Programming and Scripting

Find julian date for given corresponding date

Hi, is there any possibility to find julian date for given corresping date. I will be gladfull if i get it. Requirement : Input : 10 09 2006 output: julian date: 283 thanks srikanth (2 Replies)
Discussion started by: srikanthus2002
2 Replies

10. Shell Programming and Scripting

Julian Date

I have a shell script which gets passed a parameter which is a combination of Year and Julian Date <YYYYj>. So April 11th, julian date is 101. So if I wanted April 11th for 2003 I would get the following value 2003101. How would I convert that in unix to be 20030411? I am using the korn shell. (3 Replies)
Discussion started by: lesstjm
3 Replies
Login or Register to Ask a Question