Supprimer un etudiant de la list
science smi
-
Azer_Ty Messages postés 108 Statut Membre -
Azer_Ty Messages postés 108 Statut Membre -
Bonjour,
j'ai un probleme de faire un fonction pour supprimer un etudiant de la list en utilisant struct ;
j'ai fait une tentative le programme est marche mais pour faie fonction je ne sais pas comment ?
aidez moi svp
le prog est :#include<iostream> // library
using namespace std ;
struct etudiant // structure pour definir un etd
{
char nom;
long int cne;
};
int main() // ft pincipal
{
etudiant D,D2, D1[10];
int i,n,k;
cout<<"_____________________________________start___________________________________"<<endl;
cout<<"saisir le nbr de n="; // la dim de la list
cin>>n;
cout<<"_______________________________saisir les donnees_____________________________"<<endl;
for(i=0;i<n;i++)
{
cout<<"saisir pour le ["<<i <<"] etudiant "<<endl;
cout<<"le nom puis son CNE"<<endl;
cin>>D1[i].nom;
cin>>D1[i].cne;
cout<<endl;
}
cout<<"__________________________________la list est_________________________________"<<endl;
for(i=0;i<n;i++)
{
cout<<"*"<<D1[i].nom;
cout<<"..........................................."<<D1[i].cne;
cout<<endl;
}
cout<<"_______________________________________remove_________________________________"<<endl;
cout<<"saisir l'etudiant qui voulez vous supprimer "<<endl;
cout<<"le nom puis le numero:"<<endl;
cin>>D.nom>>D.cne;
for(i=0;i<=n;i++)
{
if((D1[i].nom==D.nom)&&(D1[i].cne==D.cne))
{
D2.nom=D1[i].nom;
D2.cne=D1[i].cne;
k=i;
}}
cout<<"__________________________________new-list____________________________________"<<endl;
for(i=k;i<n;i++)
{
D1[i].nom=D1[i+1].nom;
D1[i].cne=D1[i+1].cne;
}
// re-initialisier la dim de la list
n=n-1;
// affichage apres la supprission
cout<<"la list est:"<<endl;
for(i=0;i<n;i++)
{
cout<<"*****"<<D1[i].nom;
cout<<"..........................................."<<D1[i].cne;
cout<<endl;
}
cout<<"_________________________________FIN_______________________________________"<<endl;
return 0;
}
j'ai un probleme de faire un fonction pour supprimer un etudiant de la list en utilisant struct ;
j'ai fait une tentative le programme est marche mais pour faie fonction je ne sais pas comment ?
aidez moi svp
le prog est :#include<iostream> // library
using namespace std ;
struct etudiant // structure pour definir un etd
{
char nom;
long int cne;
};
int main() // ft pincipal
{
etudiant D,D2, D1[10];
int i,n,k;
cout<<"_____________________________________start___________________________________"<<endl;
cout<<"saisir le nbr de n="; // la dim de la list
cin>>n;
cout<<"_______________________________saisir les donnees_____________________________"<<endl;
for(i=0;i<n;i++)
{
cout<<"saisir pour le ["<<i <<"] etudiant "<<endl;
cout<<"le nom puis son CNE"<<endl;
cin>>D1[i].nom;
cin>>D1[i].cne;
cout<<endl;
}
cout<<"__________________________________la list est_________________________________"<<endl;
for(i=0;i<n;i++)
{
cout<<"*"<<D1[i].nom;
cout<<"..........................................."<<D1[i].cne;
cout<<endl;
}
cout<<"_______________________________________remove_________________________________"<<endl;
cout<<"saisir l'etudiant qui voulez vous supprimer "<<endl;
cout<<"le nom puis le numero:"<<endl;
cin>>D.nom>>D.cne;
for(i=0;i<=n;i++)
{
if((D1[i].nom==D.nom)&&(D1[i].cne==D.cne))
{
D2.nom=D1[i].nom;
D2.cne=D1[i].cne;
k=i;
}}
cout<<"__________________________________new-list____________________________________"<<endl;
for(i=k;i<n;i++)
{
D1[i].nom=D1[i+1].nom;
D1[i].cne=D1[i+1].cne;
}
// re-initialisier la dim de la list
n=n-1;
// affichage apres la supprission
cout<<"la list est:"<<endl;
for(i=0;i<n;i++)
{
cout<<"*****"<<D1[i].nom;
cout<<"..........................................."<<D1[i].cne;
cout<<endl;
}
cout<<"_________________________________FIN_______________________________________"<<endl;
return 0;
}
A voir également:
- Supprimer un etudiant de la list
- Supprimer rond bleu whatsapp - Guide
- Impossible de supprimer un fichier - Guide
- Impossible de supprimer une page word - Guide
- Supprimer liste déroulante excel - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
Salut.
Tu n'as pas la bonne façon de faire.
En C++, il existe la STL qui propose différents conteneur, comme std::list ou std::vector.
Je te conseil d'utiliser ça, c'est beaucoup plus facile à gérer.
http://www.fredosaurus.com/notes-cpp/index.html#STL
et
https://en.cppreference.com/w/Main_Page
Tu n'as pas la bonne façon de faire.
En C++, il existe la STL qui propose différents conteneur, comme std::list ou std::vector.
Je te conseil d'utiliser ça, c'est beaucoup plus facile à gérer.
http://www.fredosaurus.com/notes-cpp/index.html#STL
et
https://en.cppreference.com/w/Main_Page
Tiens essaye
Lorsque tu saisie le nombre d'étudiants je te suggère de vérifier que l'utilisateur ne rentre pas plus de 10 personnes.
cout<<"__________________________________new-list____________________________________"<<endl;
for(i=k;i<n-1;i++)
{
D1[i].nom=D1[i+1].nom;
D1[i].cne=D1[i+1].cne;
}
// re-initialisier la dim de la list
Lorsque tu saisie le nombre d'étudiants je te suggère de vérifier que l'utilisateur ne rentre pas plus de 10 personnes.
cout<<"_____________________________________start___________________________________"<<endl;
do{
cout<<"saisir le nbr de n="; // la dim de la list
cin>>n;
}while(n<0 || n>10);
cout<<"_______________________________saisir les donnees_____________________________"<<endl;