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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started