مثال : برنامه ای که با استفاده از نوع های شمارشی دستمزد هفته ای کارمندان
موسسه ای را محاسبه می کند .
#include "stdio.h"
#define SATJUST 1.5
#define SUNJUST 2.0
enum weekday {
SUN /
MON /
TUE /
WED /
THU /
FRI /
SAT } ;
typedef enum weekday WEEKDAY ;
main)(
{
int hours ;
float baserate / rate /wages ;
WEELDAY day ;
WEELDAY tomorro )(;
printf("\n enter the basic");
printf(" hourly rate : " );
scanf("%f"/&baserate );
wages=0.0 ;
printf("\nenter the hours worked\n");
printf("for monday through sunday:");
printf("\n" );
day=SUN ;
do {
day=tomorrow(day );
scanf("%d"/&hours );
switch(day)
{
case MON:
case TUE:
case WED:
case THU:
case FRI:
rate=baserate ;
break ;
case SAT:
rate=SATJUST * baserate;
break ;
case SUN:
rate=SUNJUST * baserate;
break ;
}
wages+=rate * hours ;
} while( day != SUN );
printf("\ntotal wages for the");
printf(" week is: %.2f"/wages );
}
tomorrow(WEEKDAY d)
{
WEEKDAY nextd ;
switch( d)
{
case SUN : nextd=MON ; break ;
case MON : nextd=TUE ; break ;
case TUE : nextd=WED ; break ;
case WED : nextd=THU ; break ;
case THU : nextd=FRI ; break ;
case FRI : nextd=SAT ; break ;
case SAT : nextd=SUN ; break ;
}
return(nextd );
}
نمونه ای از خروجی برنامه مثال بالا : enter the basic hourly rate : 1
enter the hours worked
for monday through sunday:
12 43 56 78 98 64 23
total wages fo
