What statement should I put in a case if I want it to go back to the previous menu? For example:
int main()
{
int nNum;
int nNum2;
int nNum3, nInTime, nOutTime, nTimeDiff, nNum4, nNum5 nOvertimeHours;
float fBaseSalary;
printf("1-Regular Weekly Salary Computation \n2-Cutomized Salary Computation \n3 -Exit \n\nEnter number: ");
scanf("%d",&nNum);
switch(nNum)
{
case 1:
printf("\nYou have selected Regular Salary Computation!\nDetails:\nDaily Rate:500\nDay Type:Normal\nIn Time:900\nOut Time:900\nNumber of Work Days:5\nWeekly Salary:2500");
break;
case 2:
printf("\nYou have selected Cutomized Salary Computation!\n\nPlease enter number to choose corresponding details:");
printf("\n\nType of Day:\n1-Overtime \n2-Regular Work hours\n\nPlease select number: ");
scanf("%d", &nNum2);
printf("IN time:");
scanf("%d", &nInTime);
printf("OUT time:");
scanf("%d", &nOutTime);
printf("Base Salary:");
scanf("%f", &fBaseSalary);
nTimeDiff = nOutTime - nInTime;
switch(nNum2)
{
case 1:
if(nTimeDiff > 800)
{ printf("\n1-Non-night shift overtime\n2-Night shift overtime\nPlease select number:");
scanf("%d",&nNum3);
switch(nNum3)
{
case 1:
printf("1-Normal Day\n2-Rest Day\n3-Special Non-Working Day\n4-Special Non-Working Day and Rest Day\n5-Regular Holiday\n6-Regular Holiday and Rest Day\nSelect Number:");
scanf("%d", &nNum4);
switch(nNum4)
{
case 1:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Normal Day with Overtime\n");
printf("Salary of the Day |%f", getNormalDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
case 2:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Rest Day with Overtime\n");
printf("Salary of the Day |%f", getRestDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
case 3:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Special Non-Working Holiday with Overtime\n");
printf("Salary of the Day |%f", getSpecialNonWorkingDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
case 4:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Special Non-Working and Rest Day with Overtime\n");
printf("Salary of the Day |%f", getSpecialNonWorkingAndRestDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
case 5:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Regular Holiday with Overtime\n");
printf("Salary of the Day |%f", getRegularHoliDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
case 6:
printf("Base Salary | %f\n", fBaseSalary);
nOvertimeHours = (nTimeDiff - 800 ) / 100;
printf("Overtime Hours(Night Shift OT Hours)| %d(0)\n", nOvertimeHours);
printf("IN Time | %d\n", nInTime);
printf("OUT Time | %d\n", nOutTime);
printf("Day Type |Regular Holiday and Rest Day with Overtime\n");
printf("Salary of the Day |%f", getRegularHolidayAndRestDayNonNightShiftOT(fBaseSalary, nOutTime, nInTime));
break;
}
}
}
else if(nTimeDiff <= 800)
{
printf("Work hours did not exceed 8 hours. Overtime computation invalid.");
return 0;
}
} case 2:
if(nInTime => 2200 || nIntime <=0600 || nOutTime => 2200 || nOutTime <= 600)
printf("1-Normal Day\n2-Rest Day\n3-Special Non-Working Day\n4-Special Non-Working Day and Rest Day\n5-Regular Holiday\n6-Regular Holiday and Rest Day\nSelect Number:");
scanf("%d", &nNum5);
switch(nNum5)
case 1:
}
return 0;
}
Im still working on it, but I intend to put an additional case in every switch which will enable the user to go back to the previous switch statement. For example, pressing 3 would bring back the user to the previous menu if he/she pressed the wrong button in the first place and chose the wrong option