Hello, OnlineGDB Q&A section lets you put your programming query to fellow community users. Asking a solution for whole assignment is strictly not allowed. You may ask for help where you are stuck. Try to add as much information as possible so that fellow users can know about your problem statement easily.

Need Help With Testing For Something

0 votes
asked Oct 12, 2018 by Qibs (270 points)
MY CODE:

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#define SIZE 4

struct Employee {

int ID;

int AGE;

double SALARY;

};

int main(void) {

int option = 0,

i = 0,

employees = 0,

userID = 0,

new = 0,

flag = 0;

struct Employee emp[SIZE] = { { 0 } };

printf("---=== EMPLOYEE DATA ===---\n");

do {

printf("1. Display Employee Information\n");

printf("2. Add Employee\n");

printf("3. Update Employee Salary\n");

printf("4. Remove Employee\n");

printf("0. Exit\n\n");

printf("Please select from the above options: ");

scanf("%d", &option);

printf("\n");

switch (option) {

case 0:

printf("Exiting Employee Data Program. Goodbye!!!\n");

break;

case 1:

printf("EMP ID EMP AGE EMP SALARY\n");

printf("====== ======= ==========\n");

for (i = 0; i < SIZE && i >= 0; i++) {

if (emp[i].ID > 0) {

printf("%6d%9d%11.2lf", emp[i].ID, emp[i].AGE, emp[i].SALARY);

printf("\n");

}

}

break;

case 2:

printf("Adding Employee\n");

printf("===============\n");

if (employees < SIZE) {

printf("Enter employee ID: ");

scanf("%d", &emp[employees].ID);

printf("Enter employee Age: ");

scanf("%d", &emp[employees].AGE);

printf("Enter employee Salary: ");

scanf("%11lf", &emp[employees].SALARY);

employees++;

}

else {

printf("ERROR!!! Maximum Number of Employees Reached");

printf("\n");

}

break;

case 3:

do {

printf("Update Employee Salary\n");

printf("===========================\n");

printf("Enter Employee ID: ");

scanf("%d", &userID);

printf("\n");

for (i = 0; i < SIZE; i++) {

if (userID == emp[i].ID) {

printf("The current salary is %.2lf\n", emp[i].SALARY);

printf("Enter Employee New Salary: \n");

scanf("%lf", &emp[employees].SALARY);

flag = 1;

}

}

} while (flag != 1);

break;

case 4:

do {

printf("Remove Employee\n");

printf("===============\n");

printf("Enter Employee ID: ");

scanf("%d", &userID);

for (i = 0; i < SIZE - 1; i++)

{

if (userID == emp[i].ID) {

new = i;

}

}

while (new < SIZE)

{

if (new == SIZE - 1)

{

emp[new].ID = 0;

emp[new].AGE = 0;

emp[new].SALARY = 0;

}

else

{

emp[new] = emp[new + 1];

}

new++;

}

employees--;

printf("Employee %d will be removed\n", userID);

}

while (SIZE < i);

break;

default:

printf("ERROR: Incorrect Option: Try Again\n\n");

}

} while (option != 0);

return 0;

}

HOW WHAT I MAKE IT SO THAT IF I TYPE 3 THAN ENTER A EMPLOYEE ID THATS NOT FOUND. LIKE TEST FOR IT AND THAN PUT A PRINTF STATEMENT TO SAY IT DOESNT EXIST

1 Answer

0 votes
answered Oct 12, 2018 by Lukas (540 points)

this is wrong: };

commented Oct 13, 2018 by anonymous
edited Oct 13, 2018
....what do you mean? Can you help me with the testing code?
Welcome to OnlineGDB Q&A, where you can ask questions related to programming and OnlineGDB IDE and and receive answers from other members of the community.
...