USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 1 CORRIGE TYPE Exercice 2 : (8 pts) Soit une
USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 1 CORRIGE TYPE Exercice 2 : (8 pts) Soit une base de données de 1000 entrées, qui contient les informations suivantes (matricule, Nom, Prénom et état de vaccination). On considère que la base de données est pré chargé dans le programme, et que chaque information est stockée dans un tableau (val_mat pour le matricule ; val_nom pour le Nom ; val_prenom pour le Prénom et etat_vacc pour l’état de vaccination qui vaut 1 pour vacciné sinon 0 pour non-vacciné). Ecrivez un programme qui contient les fonctionnalités suivantes regroupées dans un menu : - Une fonctionnalité Recherche par matricule : qui affiche les différentes informations de la personne. - Une fonctionnalité d’affichage de la liste des personnes vacciné - Une fonctionnalité d’affichage de la liste des personnes non-vacciné - Une fonctionnalité de fermeture de programme #include <iostream> commentaires : 0.5 pts #include <string> using namespace std; void menu () //MENU principale { cout << "//////////////////////////////////////////////////////////" << endl; cout << "Taper 1 pour rechercher un nom" << endl; cout << "Taper 2 pour afficher la liste des personnes vacciné" << endl; cout << "Taper 3 pour afficher la liste des personnes non-vacciné" << endl; cout << "Taper 4 pour fermer le programme" << endl; cout << "//////////////////////////////////////////////////////////" << endl; } int main() { int size_data=1000; //taille 1000 int val_mat[size_data]={100,101,102,103,104,…}; //data matricule string val_nom[size_data]={"BAHI","AMRANE","AKLI","DAOUD","KARA",…}; //data nom 0.5 0.5 0.25 USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 2 string val_prenom[size_data]={"AKRAM","RIAD","CHAIMA","SORAYA","ABDERRAHMANE",…}; //data prenom int etat_vacc[size_data]={1,0,1,0,0,…}; //data vaccination int choix,matricule,fermeture=0; while (fermeture==0) //boucle while { menu(); //affichage du menu sur l'ecran cout << "votre choix:"; //affichage d'un texte sur la console cin >> choix; //le choix de l'utilisateur switch (choix) //condition switch { case 1: // si l'utilisateur a tapé 1 cout << "Entrer le matricule: " ; cin >> matricule; for (int i=0;i<size_data;i++) { if (val_mat[i]==matricule) //test si la condition est remplie { cout<<"/--------------------------/"<<endl; cout<<"Matricule: "<<val_mat[i]<<endl; //matricule cout<<"Nom: "<<val_nom[i]<<endl; //Nom cout<<"Prenom: "<<val_prenom[i]<<endl; //Prenom if (etat_vacc[i]==1) //etat vaccination cout<<"Etat: vaccine"<<endl; else cout<<"Etat: non-vaccine"<<endl; cout<<"/--------------------------/"<<endl; } } break; case 2: // si l'utilisateur a tapé 2 0.5 1 1 2 USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 3 cout<<"===Liste des perssones vaccine==="<<endl; cout<<"/--------------------------/"<<endl; cout<<"Matricule\t"<<"Nom\t"<<"Prenom"<<endl; for (int i=0;i<size_data;i++) { if (etat_vacc[i]==1) //test si la perssone est vaccine { cout<<val_mat[i]<<"\t\t"<<val_nom[i]<<"\t"<<val_prenom[i]<<endl; } } cout<<"/--------------------------/"<<endl; break; case 3: // si l'utilisateur a tapé 3 cout<<"===Liste des perssones non-vaccine==="<<endl; cout<<"/--------------------------/"<<endl; cout<<"Matricule\t"<<"Nom\t"<<"Prenom"<<endl; for (int i=0;i<size_data;i++) { if (etat_vacc[i]==0) //test si la perssone est non-vaccine { cout<<val_mat[i]<<"\t\t"<<val_nom[i]<<"\t"<<val_prenom[i]<<endl; } } cout<<"/--------------------------/"<<endl; break; case 4: // si l'utilisateur a tapé 4 fermeture=1; //femeture du programme cout<<"programme termine"<<endl; break; default: cout<<"Erreur choix !"<<endl; } } } 1 0.5 0.25 USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 4 Exercice 3 : (6 pts) 1) Ecrire un programme qui demande à l’utilisateur d’introduire les valeurs d’un tableau avec une taille définie par le même utilisateur. 2) Ajouter une fonctionnalité qui permet à l’utilisateur d’insérer une case à l’intérieur du même tableau avec un décalage à droite des valeurs. 3) Donner le schéma de fonctionnement (organigramme) de votre programme. #include <iostream> commentaires : 0.5 pts #include <vector> using namespace std; int main() { // 1- Entrer les valeurs d'un tableau int taille,size_tab,val_new, val_position; //initialisation cout << "Entrer la taille du tableau: "; cin >> size_tab; //choix de l'utilisateur vector<int> tableau(size_tab,0); for (int i=0;i<size_tab;i++) //boucle pour l'introduction des valeurs dans le tableau { cout << "val " << i <<": "; cin >> tableau[i]; } cout << "Votre tableau : " <<endl; for (int i=0;i<size_tab;i++) //affichage des valeurs entrées { cout << tableau[i]<<" "; } cout << endl; // 2- ajouter une case dans un emplacement choisie par l’utilisateur vector<int> new_tableau(size_tab+1,0); //initialisation d’un nouveau tableau avec une case en plus cout << "Entrer la nouvelle valeur : "; cin >> val_new; //choix de l'utilisateur 0.25 0.5 0.5 0.25 0.5 0.25 USTHB/FGE/DEPT. AUTO/L3 AUTO / C++ 5 cout << "Entrer le numero de la case : "; cin >> val_position; //choix de l'utilisateur for (int i=0;i<val_position-1;i++) //partie des valeurs avant position {new_tableau[i]=tableau[i];} new_tableau[val_position-1]=val_new; //valeurs position for (int i=val_position-1;i<size_tab;i++) //partie des valeurs après position {new_tableau[i+1]=tableau[i];} for (int i=0;i<size_tab+1;i++) //affichage des valeurs du nouveau tableaux { cout << new_tableau[i]<<" "; } return 0; } 3) Schéma juste : 1pts 6 2 5 7 2 3 1 6 2 5 7 2 3 0 1 2 3 4 5 0 1 3 4 5 6 2 Exemple : Nouvelle case à la 3e position de valeur 1 Décalage des valeurs à droite 0.25 2 uploads/Sante/ examn-p2.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 08, 2021
- Catégorie Health / Santé
- Langue French
- Taille du fichier 0.2010MB