romarius | j'ai programmé un code qui n'est pas très joli, pourriez vous m'aider SVP?
Un bug: le choix 2 si je choisissais le numéro pour créer une nouvelle figure ou il y a déjà une figure, il sait pas remplacer.
Code :
- #include<stdio.h>
- #include<stdlib.h>
- #include<conio.h>
- #include<time.h>
- #include<math.h>
- void afficherLesChoix()
- {
- printf("\n1. Lister les figures d%cj%c cr%c%ces", 130, 133, 130, 130);
- printf("\n2. Cr%cer une nouvelle figure", 130);
- printf("\n3. Modifier les caract%cristiques d'une figure", 130);
- printf("\n4. Supprimer une figure" );
- printf("\n5. D%ccaler une figure", 130);
- printf("\n6. Permuter 2 figures" );
- printf("\n7. Quitter l'application\n" );
- }
- int main()
- {
- const int NBETIQ = 10;
- typedef char etiquettetype[NBETIQ];
- const int NBFIG = 11;
- int i;
- int j;
- int accu = 0;
- int choix;
- int choose;
- int choosetype;
- int numsupprime;
- int decaler;
- int perm1, perm2;
- int sens, decalage;
- float longueur;
- float numlettre;
- char replace;
- struct point
- {
- float x; float y;
- };
- struct line
- {
- struct point p1;
- struct point p2;
- };
- struct rectangle
- {
- struct point pcoin;
- float largeur; float hauteur;
- };
- struct cercle
- {
- struct point pcentre;
- float rayon;
- };
- struct figures
- {
- etiquettetype etiquette;
- int RVB1, RVB2, RVB3;
- struct point figurespoint;
- struct line figuresline;
- struct rectangle figuresrectangle;
- struct cercle figurescercle;
- int type;
- };
- struct figures fig[NBFIG];
- struct figures temp[0];
- for(i = 1; i < NBFIG; i++)
- {
- fig[i].etiquette[0]= 'N';
- fig[i].etiquette[1]= 'O';
- fig[i].etiquette[2]= 'N';
- fig[i].etiquette[3]= 'E';
- fig[i].etiquette[4]= '\0';
- fig[i].RVB1 = 0;
- fig[i].RVB2 = 0;
- fig[i].RVB3 = 0;
- fig[i].figurespoint.x = 0.0;
- fig[i].figurespoint.y = 0.0;
- fig[i].figuresline.p1.x = 0.0;
- fig[i].figuresline.p1.y = 0.0;
- fig[i].figuresline.p2.x = 0.0;
- fig[i].figuresline.p2.y = 0.0;
- fig[i].figuresrectangle.pcoin.x = 0.0;
- fig[i].figuresrectangle.pcoin.y = 0.0;
- fig[i].figuresrectangle.largeur = 0.0;
- fig[i].figuresrectangle.hauteur = 0.0;
- fig[i].figurescercle.pcentre.x = 0.0;
- fig[i].figurescercle.pcentre.y = 0.0;
- fig[i].figurescercle.rayon = 0.0;
- fig[i].type = 0;
- }
- temp[0].etiquette[0] = '\0';
- temp[0].RVB1 = 0;
- temp[0].RVB2 = 0;
- temp[0].RVB3 = 0;
- temp[0].figurespoint.x = 0.0;
- temp[0].figurespoint.y = 0.0;
- temp[0].figuresline.p1.x = 0.0;
- temp[0].figuresline.p1.y = 0.0;
- temp[0].figuresline.p2.x = 0.0;
- temp[0].figuresline.p2.y = 0.0;
- temp[0].figuresrectangle.pcoin.x = 0.0;
- temp[0].figuresrectangle.pcoin.y = 0.0;
- temp[0].figuresrectangle.largeur = 0.0;
- temp[0].figuresrectangle.hauteur = 0.0;
- temp[0].figurescercle.pcentre.x = 0.0;
- temp[0].figurescercle.pcentre.y = 0.0;
- temp[0].figurescercle.rayon = 0.0;
- temp[0].type = 0;
- afficherLesChoix();
- printf("\nEntrez un choix: " );
- scanf("%d",&choix);
-
- do
- {
- if (choix < 1 || choix > 7)
- {
- printf("Please pick a number between 1 and 7" );
- getch();
- }
- switch (choix)
- {
- case 0 : break;
- case 1 :
- {
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- }
- break;
- case 2 :
-
- {
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- //if (fig[i].type == 0)
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- printf("\nplease choose the number of the figure that you wish to modify: " );
- scanf("%d", &choose);
- if(fig[choose].type != 0)
- {
- printf("The figure already exists, replace it? O/N" );
- scanf("%c", &replace); getch();
- if (replace !='o')
- {
- choix = 2;
- continue;
- }
- }
- printf("\nplease choose the type of the figure: " );
- printf("\n 1. point" );
- printf("\n 2. line" );
- printf("\n 3. rectangle" );
- printf("\n 4. cercle\n" );
- scanf("%d", &choosetype);
- switch(choosetype)
- {
- case 1:
- {
- fig[choose].type = 1;
- printf("please type the x: " );
- scanf("%f", &fig[choose].figurespoint.x);
- printf("please type the y: " );
- scanf("%f", &fig[choose].figurespoint.y);
- }
- break;
- case 2:
- {
- fig[choose].type = 2;
- printf("please type the point 1 x: " );
- scanf("%f", &fig[choose].figuresline.p1.x);
- printf("please type the point 1 y: " );
- scanf("%f", &fig[choose].figuresline.p1.y);
- }
- break;
- case 3:
- {
- fig[choose].type= 3;
- printf("please type the point x: " );
- scanf("%f", &fig[choose].figuresrectangle.pcoin.x);
- printf("please type the point y: " );
- scanf("%f", &fig[choose].figuresrectangle.pcoin.y);
- printf("please enter the largeur: " );
- scanf("%f", &fig[choose].figuresrectangle.largeur);
- printf("please enter the hauteur: " );
- scanf("%f", &fig[choose].figuresrectangle.hauteur);
- }
- break;
- case 4:
- {
- fig[choose].type = 4;
- printf("please pick the centre point x: " );
- scanf("%f", &fig[choose].figurescercle.pcentre.x);
- printf("please pick the centre point y: " );
- scanf("%f", &fig[choose].figurescercle.pcentre.y);
- printf("please pick the rayon: " );
- scanf("%f", &fig[choose].figurescercle.rayon);
- }
- break;
- }
- printf("\nPlease enter the RVB color: " );
- printf("\nRVB 1: " ); scanf("%d", &fig[choose].RVB1);
- printf("RVB 2: " ); scanf("%d", &fig[choose].RVB2);
- printf("RVB 3: " ); scanf("%d", &fig[choose].RVB3);
- printf("\nMake a ticket: " );
- scanf("%s", fig[choose].etiquette);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- }break;
-
-
- case 3 :
-
- {
- for(i = 1; i < NBFIG; i++)
- {accu += fig[i].type;}
- if (accu == 0)
- {
- printf("\nYou have not yet created any figure, press any key to return to the menu: " );
- getch();
- break;
- }
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- if (fig[i].type != 0)
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- printf("\nplease choose the number to modify: " );
- scanf("%d", &choose);
-
- printf("\nplease choose the type of the figure: " );
- printf("\n 1. point" );
- printf("\n 2. line" );
- printf("\n 3. rectangle" );
- printf("\n 4. cercle\n" );
- scanf("%d", &choosetype);
- switch(choosetype)
- {
- case 1:
- {
- fig[choose].type = 1;
- printf("please type the x: " );
- scanf("%f", &fig[choose].figurespoint.x);
- printf("please type the y: " );
- scanf("%f", &fig[choose].figurespoint.y);
- }
- break;
- case 2:
- {
- fig[choose].type = 2;
- printf("please type the point 1 x: " );
- scanf("%f", &fig[choose].figuresline.p1.x);
- printf("please type the point 1 y: " );
- scanf("%f", &fig[choose].figuresline.p1.y);
- }
- break;
- case 3:
- {
- fig[choose].type= 3;
- printf("please type the point x: " );
- scanf("%f", &fig[choose].figuresrectangle.pcoin.x);
- printf("please type the point y: " );
- scanf("%f", &fig[choose].figuresrectangle.pcoin.y);
- printf("please enter the largeur: " );
- scanf("%f", &fig[choose].figuresrectangle.largeur);
- printf("please enter the hauteur: " );
- scanf("%f", &fig[choose].figuresrectangle.hauteur);
- }
- break;
- case 4:
- {
- fig[choose].type = 4;
- printf("please pick the centre point x: " );
- scanf("%f", &fig[choose].figurescercle.pcentre.x);
- printf("please pick the centre point y: " );
- scanf("%f", &fig[choose].figurescercle.pcentre.y);
- printf("please pick the rayon\n" );
- scanf("%f", &fig[choose].figurescercle.rayon);
- }
- break;
- }
- printf("\nPlease enter the RVB color: " );
- printf("\nRVB 1" ); scanf("%d", &fig[choose].RVB1);
- printf("RVB 2" ); scanf("%d", &fig[choose].RVB2);
- printf("RVB 3" ); scanf("%d", &fig[choose].RVB3);
- printf("\nMake a ticket" );
- scanf("%s", fig[choose].etiquette);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- }break;
-
- case 4 :
-
- {
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
-
- printf("Please choose the figure to erase: " );
- scanf("%d", &numsupprime);
- fig[numsupprime].etiquette[0] = 'N';
- fig[numsupprime].etiquette[1] = 'O';
- fig[numsupprime].etiquette[2] = 'N';
- fig[numsupprime].etiquette[3] = 'E';
- fig[numsupprime].etiquette[4] = '\0';
- fig[numsupprime].RVB1 = 0;
- fig[numsupprime].RVB2 = 0;
- fig[numsupprime].RVB3 = 0;
- fig[numsupprime].figurespoint.x = 0.0;
- fig[numsupprime].figurespoint.y = 0.0;
- fig[numsupprime].figuresline.p1.x = 0.0;
- fig[numsupprime].figuresline.p1.y = 0.0;
- fig[numsupprime].figuresline.p2.x = 0.0;
- fig[numsupprime].figuresline.p2.y = 0.0;
- fig[numsupprime].figuresrectangle.pcoin.x = 0.0;
- fig[numsupprime].figuresrectangle.pcoin.y = 0.0;
- fig[numsupprime].figuresrectangle.largeur = 0.0;
- fig[numsupprime].figuresrectangle.hauteur = 0.0;
- fig[numsupprime].figurescercle.pcentre.x = 0.0;
- fig[numsupprime].figurescercle.pcentre.y = 0.0;
- fig[numsupprime].figurescercle.rayon = 0.0;
- fig[numsupprime].type = 0;
- } break;
-
- case 5 :
- {
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
-
- printf("\nPlease choose the figure to decaler: " );
- scanf("%d", &decaler);
- if(fig[decaler].type == 0)
- {
- printf("\ne figure that you have choosed doesn't exist!" );
- getch();
- break;
- }
- printf("\nPlease choose the direction" );
- printf("\n1. horizontal" );
- printf("\n2. vertical\n" );
- scanf("%d",&sens);
- printf("\nPlease choose the sign" );
- printf("\n1. positive" );
- printf("\n2. negative\n" );
- scanf("%d",&decalage);
-
-
- }
- break;
-
- case 6 :
- {
- printf("\nNum%cro\tType\tEtiquette\n",130);
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- printf("\nPlease pick the figure no1 to permutate: " );
- scanf("%d", &perm1);
- printf("\nPlease pick the figure no2 to permutate: " );
- scanf("%d", &perm2);
- if(fig[perm1].type == 0 || fig[perm2].type == 0)
- {
- printf("\nThe figure that you have choosed doesn't exist!" );
- break;
- }
- temp[0] = fig[perm1];
- fig[perm1] = fig[perm2];
- fig[perm2] = temp[0];
- for(i = 1; i < NBFIG; i++)
- {
- printf("\n%d\t%d\t%s",i,fig[i].type,fig[i].etiquette);
- }
- } break;
- case 7 :
- {
- printf("Thank you for choosing PTS system" );
- getch();
- choix = 0;
- }break;
- }
- if(choix == 0)
- break;
- else
- {
- printf("\n" );
- afficherLesChoix();
- printf("\nEntrez un choix: " );
- scanf("%d",&choix);
- }
- }
- while (choix != 0);
- getch();
- return 0;
- }
|
Message édité par gilou le 29-02-2012 à 12:31:27
|