Question: in C, Complete addUser, which by calling realloc, allocates enough memory space to include the information about the new user. The function then updates the

in C, Complete addUser, which by calling realloc, allocates enough memory space to include the information about the new user. The function then updates the count and returns the pointer of the new array. Keep in mind that password stored in struct user must be in a hashed form.

struct user { char username[50]; char password[256]; char firstname[50]; char lastname[50]; int admin; };

struct user* addUser(struct user* users, int* count, char* username, char* password, char* firstname, char* lastname, int admin) {

//CODE GOES HERE }

int checkAdminPassword(char* password, struct user* users, int count) { for (int i = 0; i < count; ++i) { if (strcmp((users + i)->username, "admin") == 0) { if (// Complete this part//) { return 1; } else { return 0; } } } return 0; }

int main(void) { int user_count = 0; struct user* users = createUsers(&user_count); if (users == NULL) { return EXIT_FAILURE; } populateUsers(users);

printf("Enter admin password to add new users:"); char entered_admin_password[50]; scanf("%s", entered_admin_password); if (checkAdminPassword(entered_admin_password, users, user_count)) { struct user new_user; printf("Enter username:"); scanf("%s", new_user.username); printf("Enter first name:"); scanf("%s", new_user.firstname); printf("Enter last name:"); scanf("%s", new_user.lastname); printf("Enter password:"); scanf("%s", new_user.password); printf("Enter admin level:"); scanf("%d", &(new_user.admin)); users = addUser(users, &user_count, new_user.username, new_user.password, new_user.firstname, new_user.lastname, new_user.admin); if (users == NULL) { return EXIT_FAILURE; } } saveUsers(users, user_count); free(users); return EXIT_SUCCESS; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!