1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| #include<iostream>
using std::cout;
using std::cin;
using std::endl;
struct piece{
char nom[30];
char code[12];
char description[120];
int stock;
};
int main(int argc, char * argv[])
{
piece *unePiece =new piece[1], *tpiece=NULL;
int reponse=1,num_piece=0;
bool continuer=true;
while(continuer)
{
cout << "Voulez-vous inseser une piece? [1 --> oui] [2 --> non]:";
cin >> reponse;
if(reponse==2)
{
delete[] unePiece;
continuer=false;
}
else
{
num_piece++; //on ajoute une piece
tpiece=new piece[num_piece]; //on crée un tableau temporaire avec le nombre de pièce incrémenté
for(int i=0;i<num_piece-1 ;i++) //Si il y a une seule piece, ne rentre pas
{
tpiece[i]=unePiece[i]; // copie les deux tableaux
}
delete [] unePiece;
cout << "Nom de la piece : "<<endl;
cin >> tpiece[num_piece-1].nom; // rajoute le nom dans le dernier maillon du tableau
cout<<tpiece[0].nom;
cout<<endl<<num_piece-1<<endl;// rajoute le nom dans le dernier maillon du tableau
// efface le tableau obsolete
unePiece=tpiece; // repasse la main au tableau principal
cout<<endl<<"unePiece[0]"<<unePiece[0].nom<<endl;
}
}
/*le passage du while au reste de la fonction main provoque la "perte" du premier maillon du tableau de structure piece*/
cout<<endl;
cout<<"Piece [0] : "<<unePiece[0].nom<<endl;
for(int i=0;i<num_piece;i++)
{
cout<<"------------------------------"<<endl;
cout<<"Piece num "<< i+1 << " :"<<endl;
cout<<"Nom : "<< unePiece[i].nom<<endl;
}
delete []unePiece;
return 0;
} |
Partager