IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Problème de pointeur


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Problème de pointeur
    Bonjour a tous et toutes,

    Voilà j'essaye de réaliser une Fiche d'identité automatisé en C! J'ai un soucis au niveau des pointeurs! A savoir je ne comprend pas la synthaxe de ceux ci après avoir retourné page web et différentes pages de forum!
    En fait je souhaiterai utiliser les pointeur pour écrire et donc écraser les ombrage que j'ai crée précédement via les boucle for :
    Exemple : for (i=0;i<20;i=i++) printf ("%c",177);
    J'espère avoir été +- clair dans mes explication lol!

    Merci d'avance a tous et toutes pour votre patience et vos réponse!

    Voici mon programme a l'heure actuelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    #include <stdio.h>
    #include <conio.h>
    #include <stdio.h>
     
    void main (void)
    {
     
    char x,i;
    int num,cdp,prefixe,suitegsm,choix;
    clrscr();
    gotoxy(32,2);
    printf("Fiche signal‚tique\n\n");
    gotoxy(32,3);
    for (i=0;i<18;i=i++) printf ("%c",205);
    gotoxy(15,5);
    printf("Nom : ");
    gotoxy(21,5);
    for (i=0;i<20;i=i++) printf ("%c",177);
    gotoxy(42,5);
    printf("Prenom :\n ");
    gotoxy(51,5);
    for (i=0;i<20;i=i++) printf ("%c",177);
    gotoxy(5,8);
    printf("Adresse : ");
    gotoxy(15,8);
    printf("Rue : ");
    gotoxy(21,8);
    for (i=0;i<30;i=i++) printf ("%c",177);
    gotoxy(53,8);
    printf("Num‚ro :\n ");
    gotoxy(62,8);
    for (i=0;i<6;i=i++) printf ("%c",177);
    gotoxy(15,10);
    printf("Localit‚ :\n ");
    gotoxy(26,10);
    for (i=0;i<25;i=i++) printf ("%c",177);
    gotoxy(15,12);
    printf("Code postal :\n\r ");
    gotoxy(29,12);
    for (i=0;i<4;i=i++) printf("%c",177);
    gotoxy(5,15);
    printf("GSM : ");
    gotoxy(15,15);
    printf("Prefixe : ");
    gotoxy(25,15);
    for (i=0;i<4;i=i++) printf("%c",177);
    gotoxy(15,17);
    printf("Nø :\n\r ");
    gotoxy(20,17);
    for (i=0;i<6;i=i++) printf ("%c",177);
    gotoxy(5,20);
    printf("Etes vous : ");
    gotoxy(25,20);
    printf("1 : Demoiselle :\n ");
    gotoxy(25,21);
    printf("2 : Dame :\n ");
    gotoxy(25,22);
    printf("3 : Homme :\n ");
    gotoxy(25,23);
    printf("Faites votre choix : ");
    gotoxy(46,23);
    for (i=0;i<1;i=i++) printf ("%c",177);
     
     
     
    getch();
    }

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Peux mieux faire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     
    -------------- Build: Debug in hello ---------------
     
    Compiling: main.c
    Linking console executable: bin\Debug\hello.exe
    C:\dev\hello\main.c:6: warning: return type of 'main' is not `int'
    C:\dev\hello\main.c: In function `main':
    C:\dev\hello\main.c:10: warning: implicit declaration of function `clrscr'
    C:\dev\hello\main.c:11: warning: implicit declaration of function `gotoxy'
    C:\dev\hello\main.c:8: warning: unused variable `x'
    C:\dev\hello\main.c:9: warning: unused variable `num'
    C:\dev\hello\main.c:9: warning: unused variable `cdp'
    C:\dev\hello\main.c:9: warning: unused variable `prefixe'
    C:\dev\hello\main.c:9: warning: unused variable `suitegsm'
    C:\dev\hello\main.c:9: warning: unused variable `choix'
    Output size is 407.57 KB
    Process terminated with status 0 (0 minutes, 1 seconds)
    0 errors, 9 warnings
    A part ça, c'est quoi ça ?

    C'est soit i = i + 1 soit i++. Chez moi, ça produit une boucle infinie...

    Eviter les caractères exotiques et le mélange des genres (si on choisi conio, on utilise pas les fonctions de stdio...).

    ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    #ifdef __turboc__
    #include <conio.h>
    #else
    #include <conio2.h>
    #endif
     
    int main (void)
    {
       int i;
     
       clrscr ();
       gotoxy (32, 2);
       cprintf ("Fiche signaletique");
       gotoxy (32, 3);
       for (i = 0; i < 18; i++)
          cprintf ("%c", '-');
       gotoxy (15, 5);
       cprintf ("Nom : ");
       gotoxy (21, 5);
       for (i = 0; i < 20; i++)
          cprintf ("%c", '.');
       gotoxy (42, 5);
       cprintf ("Prenom :");
       gotoxy (51, 5);
       for (i = 0; i < 20;  i++)
          cprintf ("%c", '.');
       gotoxy (5, 8);
       cprintf ("Adresse : ");
       gotoxy (15, 8);
       cprintf ("Rue : ");
       gotoxy (21, 8);
       for (i = 0; i < 30; i++)
          cprintf ("%c", '.');
       gotoxy (53, 8);
       cprintf ("Numero :\n ");
       gotoxy (62, 8);
       for (i = 0; i < 6; i++)
          cprintf ("%c", '.');
       gotoxy (15, 10);
       cprintf ("Localite : ");
       gotoxy (26, 10);
       for (i = 0; i < 25;  i++)
          cprintf ("%c", '.');
       gotoxy (15, 12);
       cprintf ("Code postal :");
       gotoxy (29, 12);
       for (i = 0; i < 4;  i++)
          cprintf ("%c", '.');
       gotoxy (5, 15);
       cprintf ("GSM : ");
       gotoxy (15, 15);
       cprintf ("Prefixe : ");
       gotoxy (25, 15);
       for (i = 0; i < 4; i++)
          cprintf ("%c", '.');
       gotoxy (15, 17);
       cprintf ("Numero :");
       gotoxy (24, 17);
       for (i = 0; i < 6; i++)
          cprintf ("%c", '.');
       gotoxy (5, 20);
       cprintf ("Etes vous : ");
       gotoxy (25, 20);
       cprintf ("1 : Demoiselle :");
       gotoxy (25, 21);
       cprintf ("2 : Dame :");
       gotoxy (25, 22);
       cprintf ("3 : Homme :");
       gotoxy (25, 23);
       cprintf ("Faites votre choix : ");
       gotoxy (46, 23);
       for (i = 0; i < 1;  i++)
          cprintf ("%c",'.');
     
       getch ();
       return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
                                   Fiche signaletique
                                   ------------------
     
                  Nom : .................... Prenom : ....................
     
     
        Adresse : Rue : ..............................  Numero : ......
     
                  Localite : .........................
     
                  Code postal : ....
     
     
        GSM :     Prefixe : ....
     
                  Numero : ......
     
     
        Etes vous :         1 : Demoiselle :
                            2 : Dame :
                            3 : Homme :
                            Faites votre choix : .
    Mais la programmation, c'est pas copier coller du code en passant ensuite des heures à ajuster des constantes. Il faut chercher à automatiser les actions... Apprendre à faire des fonctions qui font que le programmeur n'aura plus qu'à se concentrer que sur l'essentiel.

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    afficher_centre (2, "Fiche signaletique");
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    afficher_saisie (15, 5, "Nom", 20);
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    70
    71
    72
    73
    74
    75
    76
     
    #ifdef __turboc__
    #include <conio.h>
    #else
    #include <conio2.h>
    #endif
     
    #include <string.h>
     
    #define NB_COL 80
     
    void afficher_saisie (int col, int lin, char const *txt, int larg)
    {
       gotoxy (col, lin);
       cprintf ("%s :", txt);
       gotoxy (col + strlen (txt) + 3, lin);
       {
          int i;
          {
             for (i = 0; i < larg; i++)
             {
                cprintf ("%c", '.');
             }
          }
       }
    }
     
    void afficher (int col, int lin, char const *txt)
    {
       gotoxy (col, lin);
       cprintf ("%s", txt);
    }
     
    void afficher_centre (int lin, char const *txt)
    {
       int const len = strlen (txt);
       int const col = (NB_COL - len) / 2;
       afficher (col, lin, txt);
       gotoxy (col, lin + 1);
       {
          int i;
          for (i = 0; i < len; i++)
          {
             putch ('-');
          }
       }
    }
     
    int main (void)
    {
       clrscr ();
     
       afficher_centre (2, "Fiche signaletique");
     
       afficher_saisie (15, 5, "Nom", 20);
       afficher_saisie (42, 5, "Prenom", 20);
     
       afficher (5, 8, "Adresse :");
       afficher_saisie (15, 8, "Rue", 30);
       afficher_saisie (53, 8, "Numero", 6);
       afficher_saisie (15, 10, "Localite", 25);
       afficher_saisie (15, 12, "Code postal", 4);
     
       afficher (5, 15, "GSM :");
       afficher_saisie (15, 15, "Prefixe", 4);
       afficher_saisie (15, 17, "Numero", 6);
     
       afficher (5, 20, "Etes vous :");
       afficher (25, 20, "1 : Demoiselle");
       afficher (25, 21, "2 : Dame");
       afficher (25, 22, "3 : Homme");
       afficher_saisie (25, 23, "Faites votre choix", 1);
     
       getch ();
       return 0;
    }
    On doit même pouvoir aller plus loin avec des constantes littérales plus ou moins liées entre elles...

    Au fait, pourquoi ce titre ? Je n'ai vu aucun problème de pointeur, ni même de pointeurs...
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oki oki merci je vais potasser tout ça en fait j'utilise Turbo C surement pour ça qu'il y avais autant d'erreur je me suis peut-être mal exprimé en tout cas merci beaucoup pour toutes ces infos

Discussions similaires

  1. Problème de pointeurs..embrouillé
    Par Frenchy dans le forum C++
    Réponses: 11
    Dernier message: 10/03/2005, 16h33
  2. Problème de pointeur avec un TQuery
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/01/2005, 13h57
  3. Problème de pointeur
    Par toma_lille dans le forum C++
    Réponses: 1
    Dernier message: 07/12/2004, 21h26
  4. [MFC] Problème de pointeur !!
    Par acastor dans le forum MFC
    Réponses: 7
    Dernier message: 19/03/2004, 15h50
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo