Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5287 connectés 

  FORUM HardWare.fr
  Programmation
  C

  teste int*

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

teste int*

n°1430592
kiooik
Posté le 24-08-2006 à 13:00:17  profilanswer
 

Bonjours,
 
voila j'aimerais savoir comment faire pour comparer des int avec des int * ??
 
Merci

mood
Publicité
Posté le 24-08-2006 à 13:00:17  profilanswer
 

n°1430595
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:02:51  profilanswer
 

et c'est quoi l'intéret, sachant qu'on ne peut jamais prévoir la valeur d'un pointeur (qui n'est autre qu'une adresse mémoire) ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430598
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-08-2006 à 13:05:06  profilanswer
 

kiooik a écrit :

voila j'aimerais savoir comment faire pour comparer des int avec des int * ??


Code :
  1. int a = 123
  2. int b = 456
  3. int *pb = &b;
  4. if (a > *pb)


si c'est pas ça, essaye d'être plus précis...
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1430599
kiooik
Posté le 24-08-2006 à 13:06:26  profilanswer
 

Je me suis p-ê mal exprimé...
 
En fait, j'ai une fonction qui s'occupe de la saisie d'int et je voudrais vérifier que le nombre entré ne dépasse pas 4 chiffres.

n°1430600
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:06:37  profilanswer
 

Emmanuel Delahaye a écrit :


si c'est pas ça, essaye d'être plus précis...


ah ben moi j'avais compris qu'il voulait comparer avec la valeur du pointeur, et non avec la valeur pointée [:joce]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430602
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:08:26  profilanswer
 

kiooik a écrit :

Je me suis p-ê mal exprimé...
 
En fait, j'ai une fonction qui s'occupe de la saisie d'int et je voudrais vérifier que le nombre entré ne dépasse pas 4 chiffres.


Code :
  1. if (10000-valeur > 0)
  2. // la valeur est inférieure à 10000, donc est constituée de 4 chiffres


 
edit: en supposant évidemment que tu t'assures que l'utilisateur ne rentre pas autre chose que des chiffres [:aloy]

Message cité 1 fois
Message édité par Harkonnen le 24-08-2006 à 13:09:31

---------------
J'ai un string dans l'array (Paris Hilton)
n°1430610
kiooik
Posté le 24-08-2006 à 13:18:18  profilanswer
 

Bon je vais faire plus simple, voici le code source:
 
#include <stdio.h>
#include <conio.h>
 
 
struct nom
{
   char nom[20], prenom[20];
};
 
struct point
{
  int point[3], position[2];
};
 
 
 
 
 
 
void saisie(struct nom *, int);
void point(struct point*,int);
void main()
{
   struct nom tab[2];
   struct point bat[2];
 
 
   saisie(tab,2);
 
}
 
 
void saisie(struct nom *p,int l)
{    int i;
    struct point bat[2];
 
     for(i=0;i<l;i++)
     {
     printf("Entrez le nom: " );
     gets(p[i].nom);
     printf("Entrez le prenom: " );
     gets(p[i].prenom);
     }
 
     point(bat,2);
 
}
 
 
int point(struct point *m,int l)
{
    int i;
 
    for(i=0;i<l;i++)
    {
 
         printf("Entrez la position: " );
         scanf("%d",m[i].position);
 
 
         if(m[i].position < 999)
 
           printf("ok" );
 
           else
 
           printf("erreur" );
 
    }
 
    getch();
}
 
Quand je compile, il me dit: type mismatch in redeclaration of 'point                (point *, int) '
 
et il dit aussi: "cannot convert 'int'  to 'int *'

n°1430617
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:22:50  profilanswer
 

tu déclares la fonction point comme void point(), et tu l'implémentes en int point() [:pingouino]
et chuis pas sur que ça le fasse de donner le meme nom à la struct point et à la fonction point() [:pingouino]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430622
kiooik
Posté le 24-08-2006 à 13:29:19  profilanswer
 

Oups oui ya une petite erreur ds la déclaration de la fonction point mais je crois pas que ca soit interdit que la struct et la fonction ait le même nom...

n°1430627
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:32:52  profilanswer
 

sans doute, mais c'est jamais bon de donner le même nom à 2 types/fonctions différents


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 24-08-2006 à 13:32:52  profilanswer
 

n°1430630
kiooik
Posté le 24-08-2006 à 13:34:56  profilanswer
 

ok mais ca ne résoud pas mon probléme...

n°1430637
Emmanuel D​elahaye
C is a sharp tool
Posté le 24-08-2006 à 13:40:29  profilanswer
 

kiooik a écrit :

Bon je vais faire plus simple, voici le code source:


Horrible !  


Project   : Forums
Compiler  : GNU GCC Compiler (called directly)
Directory : C:\dev\forums\
--------------------------------------------------------------------------------
Switching to target: default
Compiling: main.c
main.c:23: warning: return type of 'main' is not `int'
main.c: In function `main':
main.c:25: warning: unused variable `bat'
main.c: At top level:
main.c:51: error: conflicting types for 'point'
main.c:21: error: previous declaration of 'point' was here
main.c:51: error: conflicting types for 'point'
main.c:21: error: previous declaration of 'point' was here
main.c: In function `point':
main.c:61: warning: comparison between pointer and integer
Process terminated with status 1 (0 minutes, 3 seconds)


Ton code mis au point. Pose des questions si tu ne comprends pas :  

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <conio.h>
  4. struct nom
  5. {
  6.    char nom[20];
  7.    char prenom[20];
  8. };
  9. struct point
  10. {
  11.    int point[3];
  12.    int position;
  13. };
  14. static void get_s (char *s, size_t size)
  15. {
  16.    fgets(s, size, stdin);
  17.    {
  18.       char *p = strchr (s, '\n');
  19.       if (p != NULL)
  20.       {
  21.          *p = 0;
  22.       }
  23.       else
  24.       {
  25.          int c;
  26.          while ((c = getchar ()) != '\n' && c != EOF)
  27.          {
  28.          }
  29.       }
  30.    }
  31. }
  32. static int point(struct point *m, int l)
  33. {
  34.    int i;
  35.    for (i = 0;i < l;i++)
  36.    {
  37.       printf("Entrez la position: " );
  38.       scanf("%d", &m[i].position);
  39.       if (m[i].position < 999)
  40.          printf("ok" );
  41.       else
  42.          printf("erreur" );
  43.    }
  44.    getch();
  45. }
  46. static void saisie(struct nom *p, int l)
  47. {
  48.    int i;
  49.    struct point bat[2];
  50.    for (i = 0;i < l;i++)
  51.    {
  52.       printf("Entrez le nom: " );
  53.       get_s(p[i].nom, sizeof p[i].nom);
  54.       printf("Entrez le prenom: " );
  55.       get_s(p[i].prenom, sizeof p[i].prenom);
  56.    }
  57.    point(bat, 2);
  58. }
  59. int main(void)
  60. {
  61.    struct nom tab[2];
  62.    saisie(tab, 2);
  63.    return 0;
  64. }


Message édité par Emmanuel Delahaye le 24-08-2006 à 13:52:48

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1430642
kiooik
Posté le 24-08-2006 à 13:46:39  profilanswer
 

Moi je veux bien! mais si quelqu'un pouvait me donner une solution, ca serait bien! merci

n°1430649
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 13:59:16  profilanswer
 

ah parce que tu trouves qu'on ne te l'a pas donnée ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430652
_darkalt3_
Proctopathe
Posté le 24-08-2006 à 14:00:34  profilanswer
 

[:collector]

n°1430681
kiooik
Posté le 24-08-2006 à 14:44:38  profilanswer
 

Je tiens a signaler que je suis DEBUTANT en langage c et donc que je n'ai que les bases! merci a Emmanuel D elahaye pour le code

n°1430684
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 14:46:25  profilanswer
 

oui, et Emmanuel t'a dit de poser des questions si tu ne comprenais pas


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430685
Elmoricq
Modérateur
Posté le 24-08-2006 à 14:47:29  profilanswer
 

Ben dans ce cas-là, regarde le code d'Emmanuel, compare avec le livre ou le tutorial C que tu as bien sûr sous le coude pour ton apprentissage, et pose les questions sur ce que tu ne comprends pas.
 
Pour t'aider, il faut bien qu'on ait des questions...

n°1430691
kiooik
Posté le 24-08-2006 à 14:51:36  profilanswer
 

Oui mais le code de Emmanuel a résolu mon probléme...donc je n'ai pas de question :)  Merci beaucoup

n°1430699
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 14:54:22  profilanswer
 

super... et si le prof te demande d'expliquer, tu fais quoi ? [:kiki]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430701
Elmoricq
Modérateur
Posté le 24-08-2006 à 14:55:27  profilanswer
 

kiooik a écrit :

Oui mais le code de Emmanuel a résolu mon probléme...donc je n'ai pas de question :)  Merci beaucoup


 
Je suis sûr que tu sais ce que signifie, par exemple, le mot-clef "static" que Emmanuel a placé au début de chacune de ses fonctions.  [:petrus75]

n°1430716
kiooik
Posté le 24-08-2006 à 15:11:10  profilanswer
 

nan mais je me suis pas contenté de prendre le code qu'il a donné ! et c'est vrai qui ya qlq truc que je ne sais pas mais ca m'a permit de comprendre l'erreur que j'ai fait!

n°1430718
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 15:13:06  profilanswer
 

kiooik a écrit :

nan mais je me suis pas contenté de prendre le code qu'il a donné ! et c'est vrai qui ya qlq truc que je ne sais pas mais ca m'a permit de comprendre l'erreur que j'ai fait!


tu aimes prendre un code sans en comprendre la totalité du fonctionnement ? [:petrus dei]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430965
Sve@r
Posté le 24-08-2006 à 19:49:35  profilanswer
 

Harkonnen a écrit :

Code :
  1. if (10000-valeur > 0)
  2. // la valeur est inférieure à 10000, donc est constituée de 4 chiffres



 
Euh... cela ne serait-il pas équivalent (mais en moins rapide) à

Code :
  1. if (valeur < 10000)

[:ddr555]


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1430974
farib
Posté le 24-08-2006 à 20:00:22  profilanswer
 

Sve@r a écrit :

Euh... cela ne serait-il pas équivalent (mais en moins rapide) à

Code :
  1. if (valeur < 10000)

[:ddr555]


 
 

Code :
  1. if (valeur < 10000 == true )

 [:wlitw]
 
[:chrisbk]

Message cité 2 fois
Message édité par farib le 24-08-2006 à 20:00:47

---------------
Bitcoin, Magical Thinking, and Political Ideology
n°1430980
Elmoricq
Modérateur
Posté le 24-08-2006 à 20:10:04  profilanswer
 

farib a écrit :

Code :
  1. if (valeur < 10000 == true )

 [:wlitw]
 
[:chrisbk]


 
 

Code :
  1. if ( valeur < 10000 != FileNotFound )


 [:aloy]

n°1430997
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 20:58:43  profilanswer
 

Sve@r a écrit :

Euh... cela ne serait-il pas équivalent (mais en moins rapide) à

Code :
  1. if (valeur < 10000)

[:ddr555]


 

farib a écrit :

Code :
  1. if (valeur < 10000 == true )

 [:wlitw]
 
[:chrisbk]


 

Elmoricq a écrit :

Code :
  1. if ( valeur < 10000 != FileNotFound )


 [:aloy]


 
 [:natas]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1430998
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 21:00:23  profilanswer
 

harko, ou l'art de faire compliqué quand on peut faire simple [:mlc]
et si je vous disais qu'au début j'étais parti sur ce truc :

Code :
  1. if (valeur%10000 == 0)
  2. // valeur entre 0 et 9999


---------------
J'ai un string dans l'array (Paris Hilton)
n°1431023
farib
Posté le 24-08-2006 à 22:03:53  profilanswer
 

Harkonnen a écrit :

harko, ou l'art de faire compliqué quand on peut faire simple [:mlc]
et si je vous disais qu'au début j'étais parti sur ce truc :

Code :
  1. if (valeur%10000 == 0)
  2. // valeur entre 0 et 9999



 
On se doute bien que pour passer autant de temps à être modo, tu peux pas être un véritable programmeur [:petrus75]


---------------
Bitcoin, Magical Thinking, and Political Ideology
n°1431027
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-08-2006 à 22:10:12  profilanswer
 

farib a écrit :

On se doute bien que pour passer autant de temps à être modo, tu peux pas être un véritable programmeur [:petrus75]


 [:natas]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1431473
Sve@r
Posté le 25-08-2006 à 15:24:37  profilanswer
 

farib a écrit :

On se doute bien que pour passer autant de temps à être modo, tu peux pas être un véritable programmeur [:petrus75]


[:rofl]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  teste int*

 

Sujets relatifs
[vba-access]Teste sur valeur des champs puis publipostageFaire un programme de teste de carte mémoire
teste sur une zone de texte de mon formulaire[Oracle] Teste chaine de caractere
Teste si le dvd est viergeEasyPHP 1.8, vous avez testé ?
[VBS] Testé un ordinateur distant????J'ai testé Delphi 8 rapidement ...
comment testé si un objet a été créé?Quelqu'un a t'il testé windev pour pocket pc ?
Plus de sujets relatifs à : teste int*


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)