Partage
  • Partager sur Facebook
  • Partager sur Twitter

Passer en parametre une collonne en c

Tableau en dimension 2D

    17 février 2022 à 17:59:16

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <windows.h>
    #include "entete.h"
    
    
    #define NORD 0.0
    #define SUD 1.0
    #define EST 2.0
    #define OUEST 3.0
    
    /*********************************************************************/
    // Ce programme permet de convertir une coordonnée GPS
    // de la forme degré décimal en coordonnée DMS -> degré, minute, seconde
    /*********************************************************************/
    
    float Gps[5][4] = {
    
    {45.3212,NORD,73.7936,OUEST},
    {0.0552,SUD,124.1115,OUEST},
    {25.3651,NORD,40.7537,EST},
    {36.4723,SUD,65.8853,EST},
    {20.6545,SUD,95.4225,EST},
    };
    
    char direction[4][6] = {{"NORD"},{"SUD"},{"EST"},{"OUEST"}};
    char titre[2][10] = {{"Latitude"},{"Longitude"}};
    
    int main(){
    
        float  *pointeurCoordonnee = NULL;             
        char   *pointeurDirection =NULL;
        char   *pointeurTitre =NULL;
        char c = '0';                                  
        pointeurCoordonnee =(float *)Gps;              //pointeurCoordonnee contient l'adresse de GPS
        pointeurDirection = (char * )direction;        //pointeurDirection contient L'adresseDirection
        pointeurTitre = (char *)titre;                 //pointeurTitre contient l'adresse de titre
    
        int tailleDutableauComplet = sizeof(Gps);      //contient la taille du tableau complet
        int tailleDuLigneDuTableau = sizeof(Gps[0]);   //contient la taille d'une collonne
        int NombrederangerDutableau = tailleDutableauComplet / tailleDuLigneDuTableau;  //contient le nombre de ligne du tableau
    
        do{
    
        printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
        c = getch();
        printf("%c",c);
    
        if (c =='1'){
    
        int numeroLigne = 0;
        convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,numeroLigne,pointeurDirection,pointeurTitre);
    
        }else if( c =='2'){
    
        int numeroLigne = 1;
       convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,numeroLigne,pointeurDirection,pointeurTitre);
    
        }else if (c =='3'){
    
        int numeroLigne = 2;
        convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,numeroLigne,pointeurDirection,pointeurTitre);
    
        }else if (c =='4'){
    
        int numeroLigne = 3;
       convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,numeroLigne,pointeurDirection,pointeurTitre);
    
        }else if (c == '5'){
    
        int numeroLigne = 4;
       convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,numeroLigne,pointeurDirection,pointeurTitre);
    
        }else if(c =='0'){
         printf("\n\n");
         printf("Au revoir");
       }else {
    
        system("CLS");
        }
        }while(c!='0');
     printf("\n\n");
     printf("Pesez une touche pour continuer : ");
     getch();
     exit(0);
     return 0;
    }
    

    Quand l'utilisateur choisit 1 par exemple , je veux selectionner seulement la collonne  du tableau .Je sais qu'il y a un syntaxe , mais souvent en c , on le trouve pas facilement.Des idée?? 

    Merc!!

    -
    Edité par JonathanOlivier2 17 février 2022 à 18:00:17

    • Partager sur Facebook
    • Partager sur Twitter
      17 février 2022 à 18:13:22

      Hello,

      Ce programme ne peut pas fonctionner. ptrcoo est de type float *, alors que Gps est type tableau de pointeurs sur tableau de floats. C'est tout à fait différent. Alors, oui, tu n'as pas de warning à la compilation, mais ça c'est parce que tu castes Gps en float *.  Par contre, écrire ptrcoo=Gps[0], ça c'est correct. Idem pour les deux autres pointeurs évidemment.

      Question: quand tu écris en commentaire "contient la taille du tableau complet", de quelle taille parles-tu ? La taille du tableau en octects ou le nombre d'élements ? Car là, tu as la taille du tableau en octets.

      Edit: ortho

      -
      Edité par edgarjacobs 17 février 2022 à 18:19:14

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        17 février 2022 à 19:08:17

        edgarjacobs a écrit:

        Hello,

        Ce programme ne peut pas fonctionner. ptrcoo est de type float *, alors que Gps est type tableau de pointeurs sur tableau de floats. C'est tout à fait différent. Alors, oui, tu n'as pas de warning à la compilation, mais ça c'est parce que tu castes Gps en float *.  Par contre, écrire ptrcoo=Gps[0], ça c'est correct. Idem pour les deux autres pointeurs évidemment.

        Question: quand tu écris en commentaire "contient la taille du tableau complet", de quelle taille parles-tu ? La taille du tableau en octects ou le nombre d'élements ? Car là, tu as la taille du tableau en octets.

        Edit: ortho

        -
        Edité par edgarjacobs il y a environ 1 heure

               Mais GPs est pas un tableau en deux dimension , moi je voulais faire si l'utilisateur tape 1 , on selectionne la premiere colonne du tableau de GPS ,      Je sais qu'on peut faire ca je pense



        • Partager sur Facebook
        • Partager sur Twitter
          17 février 2022 à 19:20:54

          JonathanOlivier2 a écrit:

                 Mais GPs est pas un tableau en deux dimension

          Mais bien sur que si, il a 5 lignes et 4 colonnes:

          float Gps[5][4]

          Si tu expliquais ce que tu veux que ton programme fasse ? *

          Tant que j'y suis, lle do....while peut se résumer à

             do {
          		printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
          		c = getch();
          		printf("%c",c);
          	
          		if(c=='0')
          			printf("\n\nAu revoir");
          		else
          			if(c<'6')
          				convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,c-'1',pointeurDirection,pointeurTitre);
          			else
          				system("cls");
              } while(c!='0');


          * Edit: tu voudrais que l'utilisateur entre la ligne de la coordonnées qui doit être convertie, c'est bien ça ?

          -
          Edité par edgarjacobs 17 février 2022 à 19:26:40

          • Partager sur Facebook
          • Partager sur Twitter

          On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

            17 février 2022 à 19:34:23

            edgarjacobs a écrit:

            JonathanOlivier2 a écrit:

                   Mais GPs est pas un tableau en deux dimension

            Mais bien sur que si, il a 5 lignes et 4 colonnes:

            float Gps[5][4]

            Si tu expliquais ce que tu veux que ton programme fasse ? *

            Tant que j'y suis, lle do....while peut se résumer à

               do {
            		printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
            		c = getch();
            		printf("%c",c);
            	
            		if(c=='0')
            			printf("\n\nAu revoir");
            		else
            			if(c<'6')
            				convertirDMS(pointeurCoordonnee,tailleDuLigneDuTableau,c-'1',pointeurDirection,pointeurTitre);
            			else
            				system("cls");
                } while(c!='0');


            * Edit: tu voudrais que l'utilisateur entre la ligne de la coordonnées qui doit être convertie, c'est bien ça ?

            -
            Edité par edgarjacobs il y a moins de 30s

            Wow , ton programme fait moins de ligne que le mien et fait la meme chose , j'ai encore pas mal a assimiler pour etre bon en c , 

            Il faut écrire un programme qui fera la traduction du contenu d’un des cinq tableaux du tableau Gps contenant les coordonnées de longitude Nord ou Sud et de la latitude Est ou Ouest en une traduction ayant l’aspect montré dans la section « aspect du résultat de l’exécution ». Les coordonnées sont données en degrés et vous devez donner le résultat sous forme degrés, minutes, secondes

            Oui , je me suis tromper , c'est bien un tableau en deux dimension , ce qui ma confus c'est quand tu a ecrit : « Gps est type tableau de pointeurs sur tableau de floats» 

            -
            Edité par JonathanOlivier2 17 février 2022 à 19:37:23

            • Partager sur Facebook
            • Partager sur Twitter
              17 février 2022 à 19:41:58

              Un petit coup de pouce:
              #include <stdio.h>
              #include <conio.h>
              #include <stdlib.h>
              
              #define NORD	0
              #define SUD		1
              #define EST		2
              #define OUEST	3
              
              float Gps[5][4] = {
              	{45.3212,NORD,73.7936,OUEST},
              	{0.0552,SUD,124.1115,OUEST},
              	{25.3651,NORD,40.7537,EST},
              	{36.4723,SUD,65.8853,EST},
              	{20.6545,SUD,95.4225,EST},
              };
              char direction[4][6] = {{"NORD"},{"SUD"},{"EST"},{"OUEST"}};
              char titre[2][10] = {{"Latitude"},{"Longitude"}};
              
              int main(void) {
              	char c;
                  do {
              		printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
              		c = getch();
              
              		if(c=='0')
              			printf("\n\nAu revoir");
              		else
              			if(c<'6') {
              				int line=c-'1';
              				printf("%c: %.4f %s %.4f %s\n",c,Gps[line][0],direction[(int)Gps[line][1]],Gps[line][2],direction[(int)Gps[line][3]]);
              			}
              			else
              				system("cls");
                  } while(c!='0');
              
              	return(0);
              }

              Moi j'affiche pour montrer que ça fonctionne. A toi la conversion.

              Edit: connais-tu les structures ? Car si oui, Gps pourait être un tableau de structures

              -
              Edité par edgarjacobs 17 février 2022 à 20:07:26

              • Partager sur Facebook
              • Partager sur Twitter

              On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                17 février 2022 à 19:59:18

                edgarjacobs a écrit:

                Un petit coup de pouce:

                #include <stdio.h>
                #include <conio.h>
                
                #define NORD	0
                #define SUD		1
                #define EST		2
                #define OUEST	3
                
                float Gps[5][4] = {
                	{45.3212,NORD,73.7936,OUEST},
                	{0.0552,SUD,124.1115,OUEST},
                	{25.3651,NORD,40.7537,EST},
                	{36.4723,SUD,65.8853,EST},
                	{20.6545,SUD,95.4225,EST}
                };
                char direction[4][6] = {{"NORD"},{"SUD"},{"EST"},{"OUEST"}};
                char titre[2][10] = {{"Latitude"},{"Longitude"}};
                
                int main(void) {
                	char c;
                    do {
                		printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
                		c = getch();
                
                		if(c=='0')
                			printf("\n\nAu revoir");
                		else
                			if(c<'6') {
                				int line=c-'1';
                				printf("%c: %f %s %f %s\n",c,Gps[line][0],direction[(int)Gps[line][1]],Gps[line][2],direction[(int)Gps[line][3]]);
                			}
                			else
                				system("cls");
                    } while(c!='0');
                
                	return(0);
                }

                Moi j'affiche pour montrer que ça fonctionne. A toi la conversion.

                Edit: connais-tu les structures ? Car si oui, Gps pourait être un tableau de structures

                -
                Edité par edgarjacobs il y a 3 minutes

                Je vais essayer de m'inspirer du tien en essayant de comprendre comment ta fait , Wow tes fort!
                • Partager sur Facebook
                • Partager sur Twitter
                  19 février 2022 à 16:52:35

                  Correction à apporter à la ligne 28: (j'ai honte :honte: )

                  if(c>'0' && c<'6')



                  -
                  Edité par edgarjacobs 19 février 2022 à 16:58:17

                  • Partager sur Facebook
                  • Partager sur Twitter

                  On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                    19 février 2022 à 17:32:25

                    Une version rafistolée, avec structure, énumération

                    #include <stdio.h>
                    #include <conio.h>
                    
                    enum Direction {
                        NORD, SUD, EST, OUEST
                    };
                    
                    char *nom_direction[]  = {"NORD", "SUD", "EST", "OUEST"};
                    char *nom_coordonnee[] = {"Latitude", "Longitude"}; // Pas utilisé
                    
                    struct Coord {
                        float latitude;
                        enum Direction dir_latitude;
                        float longitude:
                        enum Direction dir_longitude;
                    };
                    
                    struct Coord Gps = {
                        {45.3212, NORD, 73.7936, OUEST},
                        {0.0552, SUD, 124.1115, OUEST},
                        {25.3651, NORD, 40.7537, EST},
                        {36.4723, SUD, 65.8853, EST},
                        {20.6545, SUD, 95.4225, EST}
                    };
                    
                    int main(void)
                    {
                        for (;;) {
                            printf("Entrez un chiffre entre 1 et 5 (0 pour quitter) : ");
                            char c = getch();
                            if (c == '0') {
                                break;
                            }
                            if ('1' <= c &&c <= '5') {
                                int line = c - '1';
                                printf("%c: %f %s %f %s\n",c,
                                       Gps[line].latitude,
                                       nom_direction[Gps[line].dir_latitude],
                                       Gps[line].longitude
                                       nom_direction[Gps[line].dir_longitude],
                                      );
                            } else {
                                system("cls");
                            }
                        }
                        printf("Au revoir\n");
                    
                        return(0);
                    }
                    

                    On pourrait simplifier avec un tableau des coordonnées signées : positif = Nord ou Ouest, négatif = Sud ou Est.



                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 février 2022 à 0:16:45

                      #include <stdio.h>

                      #include <stdlib.h>

                      #include <conio.h>

                      #include <windows.h>

                      #include <math.h>

                      #define  MINUTE 60

                      #define  SECONDE 3600

                      void convertirDMS (float pointeur[5][4],int tailleDuLigneDeTableau,int numeroLigne,char *pointeurDirection,char *pointeurTitre){
                      
                      float tableauConverti[4]={0};
                      int   degre[1] = {0};
                      int   minute[1] = {0};
                      float seconde[1] = {0};
                      int k=0;
                      int compteur=0;
                      
                           for ( k =0 ;k < tailleDuLigneDeTableau;k++){
                             tableauConverti[k] =  pointeur[numeroLigne][k];  //rajoute les elements du tableau dimension dans un tableau a 1 dimension
                            }
                      
                          float valeurpremiereRanger = 0;
                          float valeurDeuxiemeRanger = 0;
                      
                          valeurpremiereRanger = tableauConverti[0];
                          valeurDeuxiemeRanger = tableauConverti[2];
                      
                          degre[0] =  fabs(valeurpremiereRanger); //Mets en valeur absolue
                          degre[1] =  fabs(valeurDeuxiemeRanger); //Mets en valeur absolue
                          
                      
                          minute[0] = ((valeurpremiereRanger-degre[0])* MINUTE);
                          seconde[0] =((valeurpremiereRanger-degre[0])-(float)(minute[0])/60)*SECONDE;
                          
                      
                          minute[1] = (valeurDeuxiemeRanger-degre[1])* MINUTE;
                          seconde[1] = ((valeurDeuxiemeRanger-degre[1])-(float)(minute[1])/60)*SECONDE;

                       
                      Bonjour , j'ai un probleme que j'arrive pas a identifier dans ma fonction conversion , lorsque le programme arrive a l'instruction suivante et l'execute :  minute[1] = (valeurDeuxiemeRanger-degre[1])* MINUTE; , Mon tableau degre[0] est rendu a 47 et non a 45 degre , car je met en absolu le nombre 45 dans le tableau gps dans le main voir en haut de la page.J'ai ce probleme ou l'ordinateur incremente pour sans raison le nombre 45 pour 47.Avez vous des idées? Merci 

                      -
                      Edité par JonathanOlivier2 22 février 2022 à 0:29:40

                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 février 2022 à 4:41:15

                        Quelle grandeur penses-tu réserver avec cet énoncé?
                        int   degre[1] = {0};
                        et ensuite ...
                            degre[0] =  fabs(valeurpremiereRanger); //Mets en valeur absolue
                            degre[1] =  fabs(valeurDeuxiemeRanger); //Mets en valeur absolue
                        tu écris sur autre chose.

                        degre[1] a peut-être été détruit par minute[0]
                            minute[1] = (valeurDeuxiemeRanger-degre[1])* MINUTE;

                        Je ne veux pas présumer de l'endroit relatif où se trouvent en mémoire les tableaux degre, minute, seconde.
                        Si tu veux réserver 2 positions (nommées 0 et 1) il faut faire ...[2]

                        -
                        Edité par PierrotLeFou 22 février 2022 à 5:14:57

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le Tout est souvent plus grand que la somme de ses parties.

                          22 février 2022 à 13:59:47

                          PierrotLeFou a écrit:

                          Quelle grandeur penses-tu réserver avec cet énoncé?
                          int   degre[1] = {0};
                          et ensuite ...
                              degre[0] =  fabs(valeurpremiereRanger); //Mets en valeur absolue
                              degre[1] =  fabs(valeurDeuxiemeRanger); //Mets en valeur absolue
                          tu écris sur autre chose.

                          degre[1] a peut-être été détruit par minute[0]
                              minute[1] = (valeurDeuxiemeRanger-degre[1])* MINUTE;

                          Je ne veux pas présumer de l'endroit relatif où se trouvent en mémoire les tableaux degre, minute, seconde.
                          Si tu veux réserver 2 positions (nommées 0 et 1) il faut faire ...[2]

                          -
                          Edité par PierrotLeFou il y a environ 8 heures

                          Oh ok merci la maintenant , ca marche ,je pensais que degre[1] veut dire deux espace memoire , l'adresse 0 et l'adresse 1 (exemple) , donc deux espace pour stocker deux nombre. Je pensais pas que l'ordinateur allait piétiner sur une espace memoire d'une autre variable 

                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 février 2022 à 18:28:54

                            Pourquoi passer tout le tableau et le numéro de la ligne à traiter ? Il suffit de passer la ligne à traiter:
                            void convertirDMS(float pointeur[],...) {
                            
                            }
                            
                            // appel
                            
                            convertirDMS(Gps[numero_de_ligne],....);

                            -
                            Edité par edgarjacobs 22 février 2022 à 18:29:10

                            • Partager sur Facebook
                            • Partager sur Twitter

                            On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                              22 février 2022 à 21:24:22

                              edgarjacobs a écrit:

                              Pourquoi passer tout le tableau et le numéro de la ligne à traiter ? Il suffit de passer la ligne à traiter:

                              void convertirDMS(float pointeur[],...) {
                              
                              }
                              
                              // appel
                              
                              convertirDMS(Gps[numero_de_ligne],....);

                              -
                              Edité par edgarjacobs il y a environ 1 heure

                              Salut , j'ai reussi a faire la conversion , mais je me suis casser la tete un peu trop, c'est pour ca je vais reviser et essayer de le simplifier tout en ayant la meme fonctionalité du programme demandé!Oui ,c'est sur qu'il y a plein de solution , je vais regarder ceux que je peux faire! J'avais fait ca de passer la ligne de mon tableau, mais javais tout le temps une erreur d'incompatibilité , donc j'ai envoyer GPS et mis conversionDMS(float pointeur[][4], et la ca a marcher

                              -
                              Edité par JonathanOlivier2 22 février 2022 à 21:28:02

                              • Partager sur Facebook
                              • Partager sur Twitter
                                23 février 2022 à 0:06:20

                                De mon côté, j'avais écrit ceci de manière basique
                                void dd2dms(float degree,int *dd,int *mm,float *ss) {
                                	*dd=degree;
                                	degree-=*dd;
                                	degree*=60;
                                	*mm=degree;
                                	degree-=*mm;
                                	*ss=degree*60;
                                }
                                
                                // dans le main()
                                int dd,mm;
                                float ss;
                                dd2dms(Gps[line][0],&dd,&mm,&ss);
                                printf("%d° %d' %.3f\"  -  ",dd,mm,ss);
                                dd2dms(Gps[line][2],&dd,&mm,&ss);
                                printf("%d° %d' %.3f\"\n",dd,mm,ss);
                                


                                Edit: ajout des lignes 15 et 16 pour être "complet"

                                -
                                Edité par edgarjacobs 23 février 2022 à 17:20:15

                                • Partager sur Facebook
                                • Partager sur Twitter

                                On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                  23 février 2022 à 20:21:02

                                  edgarjacobs a écrit:

                                  je sais tu vas rire et dire que je me suis compliquer la tete , mais voici ma fonction.c , non le main 

                                  #include <stdio.h>
                                  #include <stdlib.h>
                                  #include <conio.h>
                                  #include <windows.h>
                                  #include <math.h>
                                  #include <string.h>
                                  
                                  #define  MINUTE 60
                                  #define  SECONDE 3600
                                  
                                  #define NORD 0.0
                                  #define SUD 1.0
                                  #define EST 2.0
                                  #define OUEST 3.0
                                  
                                  void doubleEspace(void){
                                  
                                  printf("\n\n"); //double espace
                                  }
                                  void convertirDMS (float pointeur[5][4],int tailleDuLigneDeTableau,int numeroLigne,char pointeurDirection[][6],char pointeurTitre[2][10]){
                                  float tableauConverti[4]={0};
                                  char  tableauDirection[2][6]={{" "},{" "}};
                                  
                                  int   degre[2] = {0};
                                  int   minute[2] = {0};
                                  float seconde[2] = {0};
                                  int g=0;
                                  int s=0;
                                  int k=0,rappel=0;
                                  
                                        for ( k =0 ;k < tailleDuLigneDeTableau;k++){
                                             tableauConverti[k] =  pointeur[numeroLigne][k];   //rajoute les elements du tableau dimension dans un tableau a 1 dimension
                                        }
                                  
                                       for(g =0; g < 2 ; g++){
                                  
                                          for(s =0; s < 4; s++ ){
                                              s=rappel;
                                               if(tableauConverti[s]== NORD){
                                                   for(int z =0; z <sizeof(pointeurDirection[0]);z++){
                                                   tableauDirection[g][z]=pointeurDirection[0][z];
                                                   }
                                               rappel = s;
                                               rappel++;
                                               break;
                                               }else if (tableauConverti[s] == SUD){
                                  
                                                   for(int t =0; t <sizeof(pointeurDirection[0]); t++){
                                                      tableauDirection[g][t]=pointeurDirection[1][t];
                                                   }
                                               rappel = s;
                                               rappel++;
                                               break;
                                  
                                               }else if (tableauConverti[s] == OUEST){
                                  
                                                   for(int w =0; w <sizeof(pointeurDirection[0]); w++){
                                                   tableauDirection[g][w]=pointeurDirection[3][w];
                                                   }
                                               rappel = s;
                                               rappel++;
                                                break;
                                  
                                               }else if(tableauConverti[s]==EST){
                                  
                                                    for(int d =0; d <sizeof(pointeurDirection[0]); d++){
                                                   tableauDirection[g][d]=pointeurDirection[2][d];
                                                    }
                                               rappel = s;
                                               rappel++;
                                               break;
                                                 }
                                              rappel++;
                                          }
                                       }
                                  
                                      float valeurpremiereRanger = 0;
                                      float valeurDeuxiemeRanger = 0;
                                  
                                      valeurpremiereRanger = tableauConverti[0];
                                      valeurDeuxiemeRanger = tableauConverti[2];
                                  
                                      degre[0] =  fabs(valeurpremiereRanger); //Mets en valeur absolue
                                      degre[1] =  fabs(valeurDeuxiemeRanger); //Mets en valeur absolue
                                  
                                      minute[0] = ((valeurpremiereRanger-degre[0])* MINUTE);
                                      seconde[0] =((valeurpremiereRanger-degre[0])-(float)(minute[0])/60)*SECONDE;
                                  
                                      minute[1] = (valeurDeuxiemeRanger-degre[1])* MINUTE;
                                      seconde[1] = ((valeurDeuxiemeRanger-degre[1])-(float)(minute[1])/60)*SECONDE;
                                  
                                  
                                    doubleEspace();
                                  
                                  for(int i=0;i <2; i++){
                                  
                                  printf("%d degre(s)  %d minute(s)  %.2f seconde(s)  ",degre[i],minute[i],seconde[i]);
                                  
                                    for(int z =0; z<sizeof(pointeurTitre[0]); z++){
                                      printf("%c",pointeurTitre[i][z]);
                                      }
                                    printf("  ");
                                  
                                    for(int o =0; o<sizeof(tableauDirection[0]); o++){
                                      printf("%c",tableauDirection[i][o]);
                                      }
                                  printf("\n");
                                  }
                                  }
                                  void Aurevoir(void){
                                  
                                  doubleEspace();
                                  printf("Au revoir");
                                  }
                                  void EffacerLecran(void){
                                  
                                  system("CLS");
                                  }
                                  
                                  void ContinuerLeJeu(void){
                                  
                                   doubleEspace();
                                   printf("Pesez une touche pour continuer : ");
                                   getch();
                                   EffacerLecran();
                                  }
                                  
                                  char InstructionJeu(void){
                                  
                                  char c = '0';
                                  printf("\nEntrez un chiffre entre 1 et 5 (0 pour quitter) : ");
                                  c = getch();
                                  printf("%c",c);
                                  return c;
                                  }
                                  void QuitterLeJeu(void){
                                  
                                   doubleEspace();
                                   printf("Pesez une touche pour continuer : ");
                                   getch();
                                   exit(0);
                                  }
                                  
                                  Je vais essayer de tout simplifier ca , parce que c'est trop de ligne de code 

                                  -
                                  Edité par JonathanOlivier2 23 février 2022 à 20:24:37

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 février 2022 à 20:40:15

                                    Non, je ne vais pas me moquer.

                                    Remarque quand même que pour la conversion degrés décimaux → degrés minutes secondes, on se moque que la coordonnées soit N, S, E, ou O. Ça, ça concerne uniquement l'affichage.

                                    Mais oui, ta fontion est très très (trop) compliquée.

                                    De plus, la présentation de ton code (indentation) ne pousse pas à le lire.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                                    Passer en parametre une collonne en c

                                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                    • Editeur
                                    • Markdown