#include #include #include #define EMPS_SIZE 20 #define SSN_SIZE 9 #define MAX_EMPS 19 typedef struct { int salary; int yearBorn; char ssn[SSN_SIZE]; char * name; } Employee; Employee * emps[EMPS_SIZE]; int totalEmps = 0; void main(void) { int end = 1; char * command; char buff[256]; char * findEmp; char findBuff[256]; char * sortType; char sortBuff[256]; char hire[] = "HIRE"; char list[] = "LIST"; char quit[] = "QUIT"; char find[] = "FIND"; char fire[] = "FIRE"; char _sort[] = "SORT"; char salary[] = "SALARY"; char name[] = "NAME"; char save[] = "SAVE"; printf("Welcome to the Employee Manager dashboard!\n"); while (end) { printf("Would you like to HIRE, LIST, FIND, FIRE, SORT,SAVE or QUIT?\n\n"); scanf("%s", buff); command = malloc(strlen(buff + 1)); strcpy(command, buff); printf("You entered the command: %s\n\n", command); if (!strcmp(command, hire)) { createEmployee(); } else if (!strcmp(command, list)) { listEmployees(); } else if (!strcmp(command, find)) { printf("Enter an employee name, to find if they are a current employee:\n\n"); scanf("%s", findBuff); findEmp = malloc(strlen(findBuff + 1)); strcpy(findEmp, findBuff); findEmployee(findEmp); } else if (!strcmp(command, fire)) { printf("Enter an employee name, to fire\n\n"); scanf("%s", findBuff); findEmp = malloc(strlen(findBuff + 1)); strcpy(findEmp, findBuff); fireEmployee(findEmp); } else if (!strcmp(command, _sort)) { printf("Would you like to sort by SALARY or NAME?\n\n"); scanf("%s", sortBuff); sortType = malloc(strlen(sortBuff + 1)); strcpy(sortType, sortBuff); if (!strcmp(sortType, name)) { printf("sorting by name\n\n"); sort(emps, EMPS_SIZE, nameComp); listEmployees(); } else if (!strcmp(sortType, salary)) { printf("sorting by salary\n\n"); sort(emps, EMPS_SIZE, salaryComp); listEmployees(); } else { printf("Improper sort type entered, exiting to main menu\n\n"); } } else if (!strcmp(command, save)) { printf("Enter file name:\n\n"); char filename[15]; scanf("%s", filename); FILE *f; f = fopen(filename,"wb"); writeEmpToFile(emps,f); } else if (!strcmp(command, quit)) { printf("Quitting the managers dashboard!\n\n"); end = 0; } else { printf("Please enter a proper command\n\n"); } } }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define EMPS_SIZE 20
#define SSN_SIZE 9
#define MAX_EMPS 19
typedef struct {
int salary;
int yearBorn;
char ssn[SSN_SIZE];
char * name;
}
Employee;
Employee * emps[EMPS_SIZE];
int totalEmps = 0;
void main(void) {
int end = 1;
char * command;
char buff[256];
char * findEmp;
char findBuff[256];
char * sortType;
char sortBuff[256];
char hire[] = "HIRE";
char list[] = "LIST";
char quit[] = "QUIT";
char find[] = "FIND";
char fire[] = "FIRE";
char _sort[] = "SORT";
char salary[] = "SALARY";
char name[] = "NAME";
char save[] = "SAVE";
printf("Welcome to the Employee Manager dashboard!\n");
while (end) {
printf("Would you like to HIRE, LIST, FIND, FIRE, SORT,SAVE or QUIT?\n\n");
scanf("%s", buff);
command = malloc(strlen(buff + 1));
strcpy(command, buff);
printf("You entered the command: %s\n\n", command);
if (!strcmp(command, hire)) {
createEmployee();
} else if (!strcmp(command, list)) {
listEmployees();
} else if (!strcmp(command, find)) {
printf("Enter an employee name, to find if they are a current employee:\n\n");
scanf("%s", findBuff);
findEmp = malloc(strlen(findBuff + 1));
strcpy(findEmp, findBuff);
findEmployee(findEmp);
} else if (!strcmp(command, fire)) {
printf("Enter an employee name, to fire\n\n");
scanf("%s", findBuff);
findEmp = malloc(strlen(findBuff + 1));
strcpy(findEmp, findBuff);
fireEmployee(findEmp);
} else if (!strcmp(command, _sort)) {
printf("Would you like to sort by SALARY or NAME?\n\n");
scanf("%s", sortBuff);
sortType = malloc(strlen(sortBuff + 1));
strcpy(sortType, sortBuff);
if (!strcmp(sortType, name)) {
printf("sorting by name\n\n");
sort(emps, EMPS_SIZE, nameComp);
listEmployees();
} else if (!strcmp(sortType, salary)) {
printf("sorting by salary\n\n");
sort(emps, EMPS_SIZE, salaryComp);
listEmployees();
} else {
printf("Improper sort type entered, exiting to main menu\n\n");
}
} else if (!strcmp(command, save)) {
printf("Enter file name:\n\n");
char filename[15];
scanf("%s", filename);
FILE *f;
f = fopen(filename,"wb");
writeEmpToFile(emps,f);
} else if (!strcmp(command, quit)) {
printf("Quitting the managers dashboard!\n\n");
end = 0;
} else {
printf("Please enter a proper command\n\n");
}
}
}
Step by step
Solved in 5 steps with 5 images