Question

In: Computer Science

#include <stdio.h> int isLeapYear(int year) {    if (year % 400 == 0 || (year %...

#include <stdio.h>

int isLeapYear(int year) {
   if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {
       return 1;
   }
   else {
       return 0;
   }
}


int toJulianLeap(int month, int day) {


   month--;
   switch (month)
   {
   case 1: day += 31;
       break;
   case 2: day += 60;
       break;
   case 3: day += 91;
       break;
   case 4: day += 121;
       break;
   case 5: day += 152;
       break;
   case 6: day += 182;
       break;
   case 7: day += 213;
       break;
   case 8: day += 244;
       break;
   case 9: day += 274;
       break;
   case 10: day += 305;
       break;
   case 11: day += 335;
       break;
   case 12: day = 366;
       break;

   }
   return day;
}

int toJulianNonLeap(int month, int day) {


   month--;
   switch (month)
   {
   case 1: day += 31;
       break;
   case 2: day += 59;
       break;
   case 3: day += 90;
       break;
   case 4: day += 120;
       break;
   case 5: day += 151;
       break;
   case 6: day += 181;
       break;
   case 7: day += 212;
       break;
   case 8: day += 243;
       break;
   case 9: day += 273;
       break;
   case 10: day += 304;
       break;
   case 11: day += 334;
       break;
   case 12: day = 365;
       break;

   }
   return day;
}


int toJulian(int month, int day, int year) {


  
}


int main(void) {
   int month, day, year;

   while (1)
   {
      

       scanf("%d%d%d\n", &month, &day, &year);
       printf("%d%d\n",);
   }
   return 0;
}

How would i convert the input of month and days to Julian days?

Solutions

Expert Solution

Please Refer to the following Code:-

#include <stdio.h>

int
isLeapYear (int year)
{
if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))
{
return 1;
}
else
{
return 0;
}
}


int
toJulianLeap (int month, int day)
{


month--;
switch (month)
{
case 1:
day += 31;
break;
case 2:
day += 60;
break;
case 3:
day += 91;
break;
case 4:
day += 121;
break;
case 5:
day += 152;
break;
case 6:
day += 182;
break;
case 7:
day += 213;
break;
case 8:
day += 244;
break;
case 9:
day += 274;
break;
case 10:
day += 305;
break;
case 11:
day += 335;
break;
case 12:
day = 366;
break;

}
return day;
}

int
toJulianNonLeap (int month, int day)
{


month--;
switch (month)
{
case 1:
day += 31;
break;
case 2:
day += 59;
break;
case 3:
day += 90;
break;
case 4:
day += 120;
break;
case 5:
day += 151;
break;
case 6:
day += 181;
break;
case 7:
day += 212;
break;
case 8:
day += 243;
break;
case 9:
day += 273;
break;
case 10:
day += 304;
break;
case 11:
day += 334;
break;
case 12:
day = 365;
break;

}
return day;
}


int
toJulian (int month, int day, int year)
{
// checking if leap Year
if (isLeapYear (year))
{
// Calling leap year function to julian
return toJulianLeap (month, day);
}
else
{
// Calling non leap year function to julian
return toJulianNonLeap (month, day);
}

}


int
main ()
{
int month, day, year;

printf("Enter month day and year::");
// Taking input
scanf ("%d %d %d", &month, &day, &year);
// Calling Function and printing result
printf ("Julian Day is %d\n", toJulian (month, day, year));
return 0;
}

******** Text in Bold are the Only changes i made************

OUTPUT:-

Enter month day and year::3 2 2011                                                                                                                                          

Julian Day is 61

Enter month day and year::3 2 2012                                                                                                                                          

Julian Day is 62   

SnapShot of the Changes i made:-

OUTPUT Snapshot:-

============================

Give Upvote

============================


Related Solutions

#include <stdio.h> #include <stdlib.h> int play_game(int *); // Returns 0 if player won, 1 if the...
#include <stdio.h> #include <stdlib.h> int play_game(int *); // Returns 0 if player won, 1 if the computer won, 2 if there is a tie, and -1 if the player decides to quit int menu(int *); // Displays choices to user // Receives score array int main() { srand(42); // Seeding Random with 42 int score[3]; // Array keeping Player, Computer, and Tie Scores score [0] = 0; // Player - initialized to Zero score [1] = 0; // Computer -...
#include <stdlib.h> #include <stdio.h> #include <string.h> void clrScreen(int lines){     int i = 0;     for( i =...
#include <stdlib.h> #include <stdio.h> #include <string.h> void clrScreen(int lines){     int i = 0;     for( i = 0; i < lines; ++i ){         printf("\n");     }     return; } void printRules(void){     printf("\t|*~*~*~*~*~*~*~*~*~ How to Play ~*~*~*~*~*~*~*~*~*~|\n");     printf("\t|   This is a 2 player game. Player 1 enters the   |\n");     printf("\t|   word player 2 has to guess. Player 2 gets a    |\n");     printf("\t|   number of guesses equal to twice the number    |\n");     printf("\t|   of characters. EX: If the word is 'example'    |\n");     printf("\t|   player 2 gets 14 guesses.                      |\n");     printf("\t|*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~|\n");     clrScreen(10);     return; } //------------------------------------------------------------------------------------------------------------ /*...
example_thread.c #include <stdio.h> #include <stdlib.h> #include <pthread.h> int shared= 0; void race(void); int main(){     pthread_t...
example_thread.c #include <stdio.h> #include <stdlib.h> #include <pthread.h> int shared= 0; void race(void); int main(){     pthread_t player1, player2, player3;     pthread_create(&player1, NULL, (void *)race, NULL);     pthread_create(&player2, NULL, (void *)race, NULL);     pthread_create(&player3, NULL, (void *)race, NULL);     pthread_join(player1, NULL);     pthread_join(player2, NULL);     pthread_join(player3, NULL);     printf("Total Number = %d\n", shared);     return 0; } void race(void) {     long i,tmp;     for(i=1; i<=200000; i++) {         tmp = shared;         tmp = tmp + 1;         shared =...
#include <stdio.h> #include <ctype.h> int main(void) { int ch; unsigned long int charcount=0, wordcount=0, linecount=0; while((ch=getchar())!=EOF){...
#include <stdio.h> #include <ctype.h> int main(void) { int ch; unsigned long int charcount=0, wordcount=0, linecount=0; while((ch=getchar())!=EOF){ if(ch==' ' || ch=='\n' || ch=='\t' || ch=='\0' || ch=='\r') { wordcount++; } if(ch=='\n' || ch=='\0') { linecount++; } charcount++; } printf("%lu %lu %lu\n", charcount, wordcount, linecount); getchar(); return 0; } When my code reads a blank line, it increment my wordcount by one. How can I fix this problem? Could you help me with this problem?
#include <stdio.h> int main(void) { float funds = 1.0, cost = 0.1; int candies = 0;...
#include <stdio.h> int main(void) { float funds = 1.0, cost = 0.1; int candies = 0; while(cost <= funds) { candies += 1; funds -= cost; cost += 0.1; } printf("%d candies with $%.2f left over.\n",candies,funds); return 0; } When you compile and run this code you get 3 candies with $0.40 left over. Without knowing how floating point numbers work in a computer, would this result be expected? Explain why or why not. Explain why this result, in fact,...
#include <stdio.h> #include <stdlib.h> // required for atoi int main(void) {     int i=0,n,num,filenum[100],pos;     int...
#include <stdio.h> #include <stdlib.h> // required for atoi int main(void) {     int i=0,n,num,filenum[100],pos;     int c;    char line[100]; //declaring string for storing data in the line of text    FILE *fp; // declaring a FILE pointer    fp=fopen("numbers.txt","r"); // open a text file for reading    while(fgets(line, sizeof line, fp)!=NULL) {       // looping until end of the file         filenum[i]=atoi(line); //converting data in the line to integer and storing it into array        i++;    }...
#include <stdio.h> #include <math.h> int fun(int); int main(void)    {     int i = 5, x...
#include <stdio.h> #include <math.h> int fun(int); int main(void)    {     int i = 5, x = 3;     i = fun(x);     printf("%d\n", i);     return 0; } int fun(int i) {      int res = 0;      res = pow (i , 3.0);      return ( res); }
#include <stdio.h> #include <stdlib.h> #include <time.h> void sort(int a[], int size); void printArray(int a[], int size);...
#include <stdio.h> #include <stdlib.h> #include <time.h> void sort(int a[], int size); void printArray(int a[], int size); int main(){ int arraySize, limit, count, srand(time(0)); print f("Enter the size of array\n"); scanf("%d", arraySize); int array[arraySize]; printf("Enter the upper limit\n"); scanf("%d", &limit); count = 0; while(count <= arraySize){ array[count] = (rand() % (limit + 1)); count++; } printArray(array, &arraySize); sort(array, arraySize); printArray(array, arraySize); Return 0; } void printArray(int a[], int size){ int i = 0; printf("Array: ["); while(i < size){ if(i != size...
#include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char **argv) { int count; if ((argc...
#include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char **argv) { int count; if ((argc != 2) || (sscanf(argv[1],"%d",&count) != 1)) { fprintf(stderr,"Usage: %s <integer>\n", argv[0]); exit(1); } pid_t pid1, pid2; while (count > 0) { pid1 = fork(); if (pid1 > 0) { pid2 = fork(); count = count - 2; } else if (pid1 == 0) { count = count - 1; } } exit(0); } Question #1 [2 pts] If the command-line argument passed to this...
#include <cstring> #include <stdio.h> #include <iostream> using namespace std; int main() {        const int...
#include <cstring> #include <stdio.h> #include <iostream> using namespace std; int main() {        const int SIZE = 20;     char str[SIZE];     char str1[SIZE];     int n;     int k =1;        printf("Enter a word: \n");     fgets(str,SIZE,stdin);     printf("Enter another word: \n");     fgets(str1,SIZE,stdin);        if (str1[strlen(str1) - 1] == '\n')     {         str1[strlen(str1)-1] = '\0';     }     if (str[strlen(str) - 1] == '\n')     {         str[strlen(str)-1] = '\0';     }      ...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT