Appliquer la comparaison de chaînes dans un scénario du monde réel
Dans cette étape, vous allez créer un simple système de gestion de mots de passe qui démontre des techniques pratiques de comparaison de chaînes de caractères.
- Créez un nouveau fichier nommé
password-manager.c
dans le répertoire ~/project
:
cd ~/project
touch password-manager.c
- Ouvrez le fichier dans WebIDE et ajoutez le code suivant :
#include <stdio.h>
#include <string.h>
#define MAX_USERS 3
#define MAX_USERNAME 50
#define MAX_PASSWORD 50
// User structure to store credentials
struct User {
char username[MAX_USERNAME];
char password[MAX_PASSWORD];
char role[20];
};
int main() {
// Predefined user database
struct User users[MAX_USERS] = {
{"admin", "admin123", "administrator"},
{"manager", "manager456", "manager"},
{"user", "user789", "regular"}
};
char input_username[MAX_USERNAME];
char input_password[MAX_PASSWORD];
int login_success = 0;
printf("=== Simple Password Management System ===\n");
printf("Enter username: ");
scanf("%s", input_username);
printf("Enter password: ");
scanf("%s", input_password);
// Authenticate user with string comparison
for (int i = 0; i < MAX_USERS; i++) {
if (strcmp(users[i].username, input_username) == 0) {
if (strcmp(users[i].password, input_password) == 0) {
printf("Login Successful!\n");
printf("Role: %s\n", users[i].role);
login_success = 1;
break;
}
}
}
if (!login_success) {
printf("Login Failed. Invalid username or password.\n");
}
return 0;
}
- Compilez le programme :
gcc password-manager.c -o password-manager
- Exécutez le programme :
./password-manager
Exemples d'interactions :
=== Simple Password Management System ===
Enter username: admin
Enter password: admin123
Login Successful!
Role: administrator
Enter username: user
Enter password: wrongpassword
Login Failed. Invalid username or password.
Points clés concernant ce scénario du monde réel :
- Utilise
strcmp()
pour une vérification sécurisée des identifiants.
- Démontre une application pratique de la comparaison de chaînes de caractères.
- Met en œuvre un simple système d'authentification.
- Montre comment comparer les identifiants de plusieurs utilisateurs.