Write a C program to input week number(1-7) and print the corresponding day of week name using if else. How to print day of week using if else in C programming. Logic to convert week number to day of week in C programming.
Input
Input week number: 1
Output
Monday
Required knowledge
Basic C programming, Relational operators, If else
Logic to find day of week
Step by step descriptive logic to print day name of week.
- Input week day number from user. Store it in some variable say week.
- Print Monday
if(week == 1)
. I have assumed Monday as first day of week. - Similarly, check condition for all 7 days and print the corresponding day name.
Program to print day name of week
/**
* C program to print day name of week
*/
#include <stdio.h>
int main()
{
int week;
/* Input week number from user */
printf("Enter week number (1-7): ");
scanf("%d", &week);
if(week == 1)
{
printf("Monday");
}
else if(week == 2)
{
printf("Tuesday");
}
else if(week == 3)
{
printf("Wednesday");
}
else if(week == 4)
{
printf("Thursday");
}
else if(week == 5)
{
printf("Friday");
}
else if(week == 6)
{
printf("Saturday");
}
else if(week == 7)
{
printf("Sunday");
}
else
{
printf("Invalid Input! Please enter week number between 1-7.");
}
return 0;
}
The above approach is easiest to code and understand. However, use of if…else is not recommended when checking condition with fixed constants.
You must prefer switch…case statement when checking conditions with fixed values.
Another approach to solve the program is by defining day name string constants in array. Using array you can easily cut length of the program. Below program illustrate how to print day of week using array.
Program to print day name of week using array constant
/**
* C program to print day of week
*/
#include <stdio.h>
int main()
{
/* Declare constant name of weeks */
const char * WEEKS[] = { "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday",
"Sunday"};
int week;
/* Input week number from user */
printf("Enter week number (1-7): ");
scanf("%d", &week);
if(week > 0 && week < 8)
{
/* Print week name using array index */
printf("%s", WEEKS[week-1]);
}
else
{
printf("Invalid input! Please enter week number between 1-7.");
}
return 0;
}
Output
Enter week number (1-7): 1 Monday
Happy coding 😉
Recommended posts
- If else programming exercise index.
- C program to enter month number and print total number of days in month.
- C program to count total number of notes in given amount.
- C program to enter cost price and selling price of a product and calculate profit or loss.
- C program to check whether a character is alphabet or not.
- C program to check whether an alphabet is vowel or consonant.
- C program to check whether a character is alphabet, digit or any special character.