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

  FORUM HardWare.fr
  Programmation
  C

  additionner les variables mais pas les valeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

additionner les variables mais pas les valeurs

n°1877951
Nethacker
rule televisions, rule minds
Posté le 26-04-2009 à 17:55:39  profilanswer
 

Bonjour,
ma question est très simple, comment "coller" deux variables en c ?
un équivalent du a.b en php ou encore le + dans d'autres langages quand c'est une chaîne de caractères.
Merci d'avance,

mood
Publicité
Posté le 26-04-2009 à 17:55:39  profilanswer
 

n°1877952
khyda
Posté le 26-04-2009 à 18:07:08  profilanswer
 

Il faut que tes deux variables soient des char ou char *, puis tu pourras utiliser strcat de la bibliothèque String.h

n°1877953
Nethacker
rule televisions, rule minds
Posté le 26-04-2009 à 18:07:59  profilanswer
 

OK, merci bien.

n°1877956
Nethacker
rule televisions, rule minds
Posté le 26-04-2009 à 18:26:30  profilanswer
 

En fait ce que je voulais faire c'est utiliser une boucle au lieu de répéter les conditions ici

 


Code :
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int i=0,na=0,no=0,nu=0,ni=0,ne=0,ny=0;   
  5. char c;
  6.    while (i <= 20 && c != '.')
  7.     {
  8.         printf("Veuillez entrer un caractere :\n" );
  9.         scanf("%c", &c);
  10.         if (c == 'a')
  11.                { na++;}
  12.         if (c == 'o')
  13.                 { no++;}
  14.         if (c == 'u')
  15.                 {nu++;}
  16.         if (c == 'i')
  17.                 {ni++;}
  18.         if (c == 'e')
  19.                 {ne++;}
  20.         if (c =='y')
  21.                 {ny++;} // NY state, yay !
  22.     i++;   
  23.     }
  24.     printf ("a = %dfois\n o = %dfois\n u = %dfois\n i = %dfois\n e = %dfois \n",na,no,nu,ni,ne);
  25.     return 0;
  26. }
 

de faire :

Code :
  1. #include <stdio.h>
  2. int main {
  3. char array[] = {a,e,o,i,u,y}
  4. int i=0,na=0,no=0,nu=0,ni=0,ne=0,ny=0; 
  5. char c;
  6. scanf("%c", &c);
  7. while (i <= 5)
  8. {
  9. if (c == array[i])
  10. // n + array[i] ++ ; ??
  11. i++;
  12. }
  13. printf ("a = %dfois\n o = %dfois\n u = %dfois\n i = %dfois\n e = %dfois \n",na,no,nu,ni,ne);
  14. return 0;
  15. }
 

Vous en pensez quoi ?

Message cité 2 fois
Message édité par Nethacker le 26-04-2009 à 18:35:15
n°1877962
-Opera-
mago spé électricité
Posté le 26-04-2009 à 18:57:59  profilanswer
 

khyda a écrit :

Il faut que tes deux variables soient des char ou char *, puis tu pourras utiliser strcat de la bibliothèque String.h


strncat() même.

Nethacker a écrit :


 
Vous en pensez quoi ?


Que tu te compliques les choses même dans ton second code.


---------------
You get so used to things the way they are. And I've always been alone. I guess that makes me lonely.
n°1877967
Nethacker
rule televisions, rule minds
Posté le 26-04-2009 à 19:02:16  profilanswer
 

non, mais imaginez d'autres problèmes avec de longs tableaux ...
Edit :
c'est tout comme executer du code contenu dans des chaines, on runtime !


Message édité par Nethacker le 26-04-2009 à 19:13:01
n°1878009
el muchach​o
Comfortably Numb
Posté le 26-04-2009 à 21:29:42  profilanswer
 

-Opera- a écrit :


strncat() même.


Voire strlcat(même si c'est pas standard).

Citation :

Vous en pensez quoi ?


Rien, si ce n'est que ça:
int main {
char array[] = {a,e,o,i,u,y}
 
ça ne risque pas de compiler.


Message édité par el muchacho le 26-04-2009 à 21:42:26

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1878444
Nethacker
rule televisions, rule minds
Posté le 27-04-2009 à 20:47:01  profilanswer
 

bah rapidement écrit quoi ... en fait, au début je voulais mettre que la partie du code qui vous "interessera"... après je me suis dit qu'il faut mettre les déclarations aussi, et finalement je colle d'ici et de là, pour enfin oublier les paranthèses xD

n°1881221
Emmanuel D​elahaye
C is a sharp tool
Posté le 05-05-2009 à 22:49:11  profilanswer
 

Nethacker a écrit :

En fait ce que je voulais faire c'est utiliser une boucle au lieu de répéter les conditions ici
<...>
Vous en pensez quoi ?



 
-------------- Build: Debug in hello ---------------
 
Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c:2: error: syntax error before '{' token
C:\dev\hello\main.c:6: error: syntax error before string constant
C:\dev\hello\main.c:6: warning: type defaults to `int' in declaration of `scanf'
C:\dev\hello\main.c:6: warning: function declaration isn't a prototype
C:\dev\hello\main.c:6: error: conflicting types for 'scanf'
C:\dev\hello\main.c:6: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
C:\dev\hello\main.c:6: error: conflicting types for 'scanf'
C:\dev\hello\main.c:6: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
C:\dev\hello\main.c:6: warning: data definition has no type or storage class
C:\dev\hello\main.c:13: error: syntax error before string constant
C:\dev\hello\main.c:13: warning: type defaults to `int' in declaration of `printf'
C:\dev\hello\main.c:13: warning: function declaration isn't a prototype
C:\dev\hello\main.c:13: error: conflicting types for 'printf'
C:\dev\hello\main.c:13: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
C:\dev\hello\main.c:13: error: conflicting types for 'printf'
C:\dev\hello\main.c:13: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
C:\dev\hello\main.c:13: warning: data definition has no type or storage class
Process terminated with status 1 (0 minutes, 0 seconds)
7 errors, 6 warnings


Ceci :  

Code :
  1. #include <stdio.h>
  2. int main (void)
  3. {
  4.    enum
  5.    { A, E, I, O, U, Y, NB };
  6.    char array[NB] = "aeiouy";
  7.    int n[NB] = { 0 };
  8.    int c;
  9.    while ((c = getchar ()) != '\n')
  10.    {
  11.       int i;
  12.       for (i = 0; i < NB; i++)
  13.       {
  14.          if (c == array[i])
  15.          {
  16.             n[i]++;
  17.          }
  18.       }
  19.    }
  20.    {
  21.       int i;
  22.       for (i = 0; i < NB; i++)
  23.       {
  24.          printf ("%c = %d fois\n", array[i], n[i]);
  25.       }
  26.    }
  27.    return 0;
  28. }


donne :


Hello world
a = 0 fois
e = 1 fois
i = 0 fois
o = 2 fois
u = 0 fois
y = 0 fois
 
Process returned 0 (0x0)   execution time : 8.563 s
Press any key to continue.


Message édité par Emmanuel Delahaye le 05-05-2009 à 23:00:05

---------------
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/

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

  additionner les variables mais pas les valeurs

 

Sujets relatifs
Passer des variables d'un formulaire à l'autre ?[access] Mettre des champs à jour à partir de variables
Problème avec les variables globales, bug PHP !?accés aux variables
Recuperer ligne de fichier dans variables séparées[MySQL] Double datage de valeurs et selection des plus recentes
Additionner en javaSommer une cellule contenant plusieurs valeurs
Utilisations de variables SQL dans une requêteCompréhension des variables
Plus de sujets relatifs à : additionner les variables mais pas les valeurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR