Reputation: 9
I was trying to write a code in c which converts a day month year format to dayRD day of Month Year
For example: 1 12 2020 must be converted like 1st day of december 2020.
I wrote the code as ı write down the page but the output is not the output that ı want.
#include<stdio.h>
int main() {
int day,month,year;
printf("Please enter date in a format of day month year");
scanf("%d%d%d",&day,&month,&year);
int dayconvert(day) {
switch (day) {
case 1:printf("%dst day of",day);
break;
case 2:printf("%dnd day of",day);
break;
case 3:printf("%drd day of",day);
break;
case 4:printf("%dth day of",day);
break;
case 5:printf("%dth day of",day);
break;
case 6:printf("%dth day of",day);
break;
case 7:printf("%dth day of",day);
break;
case 8:printf("%dth day of",day);
break;
case 9:printf("%dth day of",day);
break;
case 10:printf("%dth day of",day);
break;
case 11:printf("%dst day of",day);
break;
case 12:printf("%dnd day of",day);
break;
case 13:printf("%drd day of",day);
break;
case 14:printf("%dth day of",day);
break;
case 15:printf("%dth day of",day);
break;
case 16:printf("%dth day of",day);
break;
case 17:printf("%dth day of",day);
break;
case 18:printf("%dth day of",day);
break;
case 19:printf("%dth day of",day);
break;
case 20:printf("%dth day of",day);
break;
case 21:printf("%dst day of",day);
break;
case 22:printf("%dnd day of",day);
break;
case 23:printf("%drd day of",day);
break;
case 24:printf("%dth day of",day);
break;
case 25:printf("%dth day of",day);
break;
case 26:printf("%dth day of",day);
break;
case 27:printf("%dth day of",day);
break;
case 28:printf("%dth day of",day);
break;
case 29:printf("%dth day of",day);
break;
case 30:printf("%dth day of",day);
break;
}
}
int monthconvert(month) {
switch (month) {
case 1:printf("January");
break;
case 2:printf("February");
break;
case 3:printf("March");
break;
case 4:printf("April");
break;
case 5:printf("May");
break;
case 6:printf("June");
break;
case 7:printf("July");
break;
case 8:printf("August");
break;
case 9:printf("September");
break;
case 10:printf("October");
break;
case 11:printf("November");
break;
case 12:printf("December");
break;
}
}
printf("%d %d %d",dayconvert(day),monthconvert(month),year);
}
The output is January1st day of10 2020 when we enter 1 12 2020 values to day,month,year
Upvotes: 0
Views: 100
Reputation: 50180
at the end you do this
printf("%d %d %d",dayconvert(day),monthconvert(month),year);
there is no guarantee what order these function calls are made. In fact you have shown that printf calls monthconvert
, then dayconvert
.
Monthconvert
prints out the month name, then dayconvert
prints out the day name.
Upvotes: 2