#include using namespace std; struct Personne { char nom[32]; char numero[32]; }; void nouveau_numero(Personne *nouveau) { cout << "Nouvelle entree dans la base de donnees:" << endl; cout << "Entrez le nom: "; cin >> nouveau->nom; cout << "Entrez le numero: "; cin >> nouveau->numero; if (nouveau->nom[0] >= 'a' && nouveau->nom[0] <= 'z') // minuscule nouveau->nom[0] += 'A' - 'a'; // majuscule } void recherche(Personne *db, int taille) { char search[32]; cout << " Entrez le nom a chercher: "; cin >> search; int index = 0; while (index < taille && strcmp(db[index].nom, search) != 0) index++; if (index < taille) cout << "Le numero de " << search << " est " << db[index].numero << endl; else cout << "Le nom '" << search << "' n'existe pas dans la base de donnees." << endl; } void liste(Personne *db, int taille) { cout << endl << "Liste:" << endl; for (int i=0; i<taille; i++) cout << i+1 << ") " << db[i].nom << " " << db[i].numero << endl; cout << endl; } int main(int argc, char **argv) { const int max_adresses = 20; Personne db[max_adresses]; int nombre_adresses = 0; bool fin = false; char choix; do { cout << "1) Nouveau numero" << endl; cout << "2) Recherche" << endl; cout << "3) Liste" << endl; cout << "4) Quitter" << endl; cin >> choix; switch (choix) { case '1': if (nombre_adresses < max_adresses) { nouveau_numero(db + nombre_adresses); nombre_adresses++; } else cout << "Base de donnees pleine\n"; break; case '2': recherche(db, nombre_adresses); break; case '3': liste(db, nombre_adresses); break; case '4': fin = true; break; } } while (!fin); return 0; }
Pages: 1 2