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

  FORUM HardWare.fr
  Programmation
  C++

  heu pkoa mon char il deconne.. [truc simple pourtant]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

heu pkoa mon char il deconne.. [truc simple pourtant]

n°278236
COULIX
un pc pour les attirer ...
Posté le 02-01-2003 à 05:12:29  profilanswer
 

je veus qu il check chaque lettre du string, si c est A alors il fiat une operation mais il me metye une erreur lors de la compile, style ' assignement to 'char' from 'const char * lacks a cast'.
 

Code :
  1. #include <iostream>
  2. #include <string>
  3. int main()
  4. {
  5. string t= "n";
  6. char input [52]
  7. ;   // [] = " ";
  8. int total = 52;
  9. int ace, king, queen, jack, ten, nine, eight, seven, six, five, four, three, two = 4;
  10. do {
  11. cout << "with one do u want to remove ? \n";
  12. cin >> input;
  13. for (int i=0; i<=52;i++)
  14. {
  15. if (input [1]= "A" )
  16. {ace==ace-1;}
  17. cout << input [i];
  18. ace;  }
  19. cout << " \n";
  20. cout << "Do you want to quit ??? [y/n]\n";
  21. cin >> t; }
  22. while (t=="n" );
  23. }


---------------
.... et dans les tenebres les lier
mood
Publicité
Posté le 02-01-2003 à 05:12:29  profilanswer
 

n°278245
djok_fb
C'était mieux avant!
Posté le 02-01-2003 à 09:36:32  profilanswer
 

dans le if, les tests se font avec un double égal
 
c'est un classique cette erreur

n°278275
farib
Posté le 02-01-2003 à 11:18:25  profilanswer
 

deuxieme erreur classeque, on compare avec le caractere 'A' et non la chaine "A"


---------------
Bitcoin, Magical Thinking, and Political Ideology
n°278552
COULIX
un pc pour les attirer ...
Posté le 02-01-2003 à 22:24:24  profilanswer
 

farib a écrit :

deuxieme erreur classeque, on compare avec le caractere 'A' et non la chaine "A"


arf thank u very much
qu est que j aime cette section prog moi  :love:  :jap:  


---------------
.... et dans les tenebres les lier
n°278556
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 02-01-2003 à 22:40:22  profilanswer
 

petites remarques en passant:
 
- rajoute un joli "using namespace std;" apres tes #include
 
- pourquoi utiliser un char[] pour lire cin? tu connais les string, alors utilises les. dans ton programme, l'emploi sera le meme et le rendra plus robuste
 
- personnellement je préféres l'appel explicite au constructeur (string t("n" )) à la synthaxe = (string t="n" )
 
- plus généralement, voici le constructeur d'initialisation des string string(char caractere, unsigned N) qui construit une chaine de N caractere. peut etre préférable dans la remarque précédente
 
- attention aux opérateurs = et ==. tu peux aussi utiliser les opérateurs -- (pre et post) de la meme maniere que ++ (--ace au lieu de ace=ace-1)
 
- attention: en C++, on indexe les éléments de 0 à N-1, donc ta boucle doit etre for(unsigned i=0; i<52; ++i), c'est à dire avec une infériorité stricte
 


---------------
du bon usage de rand [C] / [C++]
n°278699
COULIX
un pc pour les attirer ...
Posté le 03-01-2003 à 12:12:39  profilanswer
 

Taz@PPC a écrit :

petites remarques en passant:
 
- rajoute un joli "using namespace std;" apres tes #include
 
- pourquoi utiliser un char[] pour lire cin? tu connais les string, alors utilises les. dans ton programme, l'emploi sera le meme et le rendra plus robuste
 
- personnellement je préféres l'appel explicite au constructeur (string t("n" )) à la synthaxe = (string t="n" )
 
- plus généralement, voici le constructeur d'initialisation des string string(char caractere, unsigned N) qui construit une chaine de N caractere. peut etre préférable dans la remarque précédente
 
- attention aux opérateurs = et ==. tu peux aussi utiliser les opérateurs -- (pre et post) de la meme maniere que ++ (--ace au lieu de ace=ace-1)
 
- attention: en C++, on indexe les éléments de 0 à N-1, donc ta boucle doit etre for(unsigned i=0; i<52; ++i), c'est à dire avec une infériorité stricte
 
 


j utilise char par ce que sa me permet d utiliser strlen (input)
et sa marche pas si input est string.
 
>> c bon j ai trouver input.c_str()  :D  
 
mon programme marche presque c pas bien nickel encore mais bon.
 

Code :
  1. #include <iostream>
  2. #include <string>
  3. #include <cstring>
  4. int gcd(int a, int b){     //function who send back the commun diviser of two numbers
  5.     int y,z;               //to test if (card % total) can be simplified.
  6.     while(a!=b){           // if nbr of card=0 to avoid division by zero
  7.     if (a==0){
  8.     a=1; return a;}
  9.         if(a>b){
  10.             z=a;
  11.             y=b;}
  12.         else if(a<b){
  13.             z=b;
  14.             y=a;}
  15.         else{
  16.             z=a;
  17.             y=a;}
  18.         b=y;
  19.         a=z-y;}
  20.     return a; }
  21. float percentage (float a, float b) {  //function who calcute the probability percentage
  22.    float u;
  23.    if (a==0)
  24.     {
  25.    u = 0;
  26.    return u;  }
  27.    else
  28.    u = ((a / b)*100);
  29.    return u; }
  30. void intro ()
  31. {
  32. cout <<"                                    \n";
  33. cout << "               ///\\               \n";
  34. cout << "             (@ @)                 \n";
  35. cout << "   +---oOO----(_)---Ooo-----+      \n";
  36. cout << "   |        TAGMC21 ©       I      \n";
  37. cout << "   I     Sibt jan 2003      |      \n";
  38. cout << "   I         V 0.1          |      \n";
  39. cout << "   +------------------------+      \n";
  40. cout << "            |__|__|                \n";
  41. cout << "              || ||                \n";
  42. cout << "             ooO Ooo               \n";
  43. cout <<"                                    \n";
  44. cout <<"ASSIGNEMENT 3 : § Card counting § \n";
  45. cout <<" \n"<<endl;;
  46. cout << "This program displays the probability of the remaining card in the deck \n";
  47. cout << "being the next card.\n";
  48. cout << "ENTER [0] to quit\n";
  49. cout << "\n"; }
  50. bool test (char a[], int b)
  51. {
  52. int j = 0;
  53. do {
  54. //for (int j=0; (j <= b) ;j++ )
  55. //{
  56. if (a [j] == 'A' )
  57. { return true;  }
  58.   else return false;
  59. }
  60. while (j<= 5);
  61. return false;
  62. }
  63. int main()
  64. {
  65. string t = "n";
  66. int total = 52;
  67. char input [total];
  68. int ace   = 4;
  69. int king  = 4;
  70. int queen = 4;
  71. int jack  = 4;
  72. int ten   = 4;
  73. int nine  = 4;
  74. int eight = 4;
  75. int seven = 4;
  76. int six   = 4;
  77. int five  = 4;
  78. int four  = 4;
  79. int three = 4;
  80. int two   = 4;
  81. intro ();
  82. do {
  83.      do {
  84.                          // check if the input enterered are not greater than the deck
  85.         cout << "\n";
  86.         cout << "Enter the cards you want to remove from the deck ( " << total << " cards) [AKQJT98765432] \n";
  87.         cout << "\n";
  88.         cin >> input;
  89.        // if (test (input,total) == true)
  90.        // { cout << "okkkkk\n";}
  91.        // else { cout << " nooooo \n";}
  92.         if (strlen (input)> total) {  // strlen return the number of caracteres in input before \0
  93.         cout << "error, you can not take more cards than there is left in the deck";
  94.         cout << "\n"; }
  95.   }
  96.    while  (strlen (input)> total);
  97.     //  if  ((total <= (strlen (input))) && ((test(input) == true)) )
  98. //{    cout << "Finish, only one more card possible \n";
  99. //    cout << "Do you want to quit ? \n";
  100. //    cin >> t;
  101.   //   if (t!= "n" ) break;
  102. //   else main ();
  103. //}
  104.    for (int i=0; i<=total;i++) {
  105.        if (input [i]=='A') {if (ace < 1) {cout << "Error you already took the 4 Aces\n"; break; } else (ace = ace--); }
  106.        else if (input [i]=='K' ) {if (king==0) {cout << "Error you already took the 4 kings\n"; break; } else king = king-1; }
  107.        else if (input [i]=='Q' ) {if (queen==0) {cout << "Error you already took the 4 Queens\n"; break; } else queen = queen-1; }
  108.        else if (input [i]=='J' ) {if (jack==0) {cout << "Error you already took the 4  Jacks\n"; break; } else jack =jack-1; }
  109.        else if (input [i]=='T' ) {if (ten==0) {cout << "Error you already took the 4 tens\n"; break; } else ten = ten-1; }
  110.        else if (input [i]=='9' ) {if (nine==0) {cout << "Error you already took the 4 nines\n"; break; } else nine = nine-1; }
  111.        else if (input [i]=='8' ) {if (eight==0) {cout << "Error you already took the 4 eights\n"; break; } else eight = eight-1; }
  112.        else if (input [i]=='7' ) {if (seven==0) {cout << "Error you already took the 4 sevens\n"; break; } else seven =seven-1; }
  113.        else if (input [i]=='6' ) {if (six==0) {cout << "Error you already took the 4 sixs\n"; break; } else six = six-1; }
  114.        else if (input [i]=='5' ) {if (five==0) {cout << "Error you already took the 4 fives\n"; break; } else five = five-1; }
  115.        else if (input [i]=='4' ) {if (four==0) {cout << "Error you already took the 4 fours\n"; break; } else four = four-1; }
  116.        else if (input [i]=='3' ) {if (three==0) {cout << "Error you already took the 4 threes\n"; break; } else three = three-1; }
  117.        else if (input [i]=='2' ) {if (two==0) {cout << "Error you already took the 4 twos\n"; break; } else two = two-1; }
  118.        else break; }
  119.        total = (ace + king + queen + jack + ten + nine + eight + seven + six + five + four + three + two);
  120.        cout << " Ace : " << (ace/(gcd(ace,total))) << " in  "  << (total/(gcd(ace,total))) << "(" << (percentage (ace,total)) << "%)" << "\n";
  121.        cout << " king : " << (king/(gcd(king,total))) << " in  "  << (total/(gcd(king,total))) << "(" << (percentage (king,total)) << "%)" << "\n";
  122.        cout << " queen : " << (queen/(gcd(queen,total))) << " in  "  << (total/(gcd(queen,total))) << "(" << (percentage (queen,total)) << "%)" <<"\n";
  123.        cout << " jack : " << (jack/(gcd(jack,total))) << " in  "  << (total/(gcd(jack,total))) << "(" << (percentage (jack,total)) << "%)" <<"\n";
  124.        cout << " ten : " << (ten/(gcd(ten,total))) << " in  "  << (total/(gcd(ten,total))) << "(" << (percentage (ten,total)) << "%)" <<"\n";
  125.        cout << " nine : " << (nine/(gcd(nine,total))) << " in  "  << (total/(gcd(nine,total))) << "(" << (percentage (nine,total)) << "%)" <<"\n";
  126.        cout << " eight : " << (eight/(gcd(eight,total))) << " in  "  << (total/(gcd(eight,total))) << "(" << (percentage (eight,total)) << "%)" <<"\n";
  127.        cout << " seven : " << (seven/(gcd(seven,total))) << " in  "  << (total/(gcd(seven,total))) << "(" << (percentage (seven,total)) << "%)" << "\n";
  128.        cout << " six : " << (six/(gcd(six,total))) << " in  "  << (total/(gcd(six,total))) << "(" << (percentage (six,total)) << "%)" <<"\n";
  129.        cout << " five : " << (five/(gcd(five,total))) << " in  "  << (total/(gcd(five,total))) << "(" << (percentage (five,total)) << "%)" << "\n";
  130.        cout << " four : " << (four/(gcd(four,total))) << " in  "  << (total/(gcd(four,total))) << "(" << (percentage (four,total)) << "%)" <<"\n";
  131.        cout << " three : " << (three/(gcd(three,total))) << " in  "  << (total/(gcd(three,total))) << "(" << (percentage (three,total)) << "%)" <<"\n";
  132.        cout << " two : " << (two/(gcd(two,total))) << " in  "  << (total/(gcd(two,total))) << "(" << (percentage (two,total)) << "%)" <<"\n";
  133.     }
  134. while (input[0]!= '0');
  135. }


 
sinon j essaye de fair eune fonction booleen quei renvoie true quand elle test si le input entrer ne contient que les caracteres voulut ('A','Q','K' ect..) j aimerai bien un peu d aide la dessus  :whistle:  :D


Message édité par COULIX le 03-01-2003 à 12:37:49

---------------
.... et dans les tenebres les lier
n°278703
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 03-01-2003 à 12:29:49  profilanswer
 

Citation :


j utilise char par ce que sa me permet d utiliser strlen (input)
et sa marche pas si inpur est string.

:heink: st1 balgue
 
string::length() ca te dit rien?
 
sinon:
- les switchs tu connais?
- les fonctions tu connais?


---------------
du bon usage de rand [C] / [C++]
n°278708
COULIX
un pc pour les attirer ...
Posté le 03-01-2003 à 12:43:04  profilanswer
 

Taz@PPC a écrit :

Citation :


j utilise char par ce que sa me permet d utiliser strlen (input)
et sa marche pas si inpur est string.

:heink: st1 balgue
 
string::length() ca te dit rien?
 
sinon:
- les switchs tu connais?
- les fonctions tu connais?


 
c bon je me casse le cul a essayer d introduire des fonctions, et le swich un peu mais un exemple serai le bien venu  :ange:
sinon strlen (input.c_str()) sa marche mais input::lebght() non ...  :??:  
 


Message édité par COULIX le 03-01-2003 à 12:48:21

---------------
.... et dans les tenebres les lier
n°278725
farib
Posté le 03-01-2003 à 13:29:30  profilanswer
 

COULIX a écrit :


 
 
sinon strlen (input.c_str()) sa marche mais input::lebght() non ...  :??:  
 

:pfff:  :pfff:  :pfff:  :pfff:  :pfff:


---------------
Bitcoin, Magical Thinking, and Political Ideology
n°278730
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 03-01-2003 à 13:34:20  profilanswer
 

input.length()  :pfff:


---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le 03-01-2003 à 13:34:20  profilanswer
 

n°278980
COULIX
un pc pour les attirer ...
Posté le 04-01-2003 à 00:00:17  profilanswer
 

Taz@PPC a écrit :

input.length()  :pfff:  


merchi  :jap:  :p


---------------
.... et dans les tenebres les lier
n°279048
Musaran
Cerveaulté
Posté le 04-01-2003 à 04:30:14  profilanswer
 

Citation :

Code :
  1. ace = ace--;


Joli :whistle: .
 
Je propose:

Code :
  1. #include <iostream>
  2. #include <string>
  3. using namespace std; //ajout
  4. //function who send back the commun diviser of two numbers to test if (card % total) can be simplified.
  5. //if nbr of card=0 to avoid division by zero
  6. int gcd(int a, int b) {
  7. int y,z;         
  8. while(a!=b){     
  9.  if (a==0) return 1; //anciennnement a=1; return a;
  10.       if(a>b){ z=a; y=b; }
  11.  else if(a<b){ z=b; y=a; }
  12.  else        { z=a; y=a; }
  13.  b=y;
  14.  a=z-y;
  15. }
  16. return a;
  17. }
  18. //function who calcute the probability percentage
  19. float percentage (float a, float b) {
  20. if (a==0) return 0; //anciennnement u=0; return u;
  21. return (a/b)*100;
  22. }
  23. enum        cards_e       { two , three , four , five , six , seven , eight , nine , ten , jack , queen , king , ace };
  24. const char* cardnames []= {"two","three","four","five","six","seven","eight","nine","ten","jack","queen","king","ace"};
  25. int         cardstock []= {    4,      4,     4,     4,    4,      4,      4,     4,    4,     4,      4,     4,    4};
  26. const int numcards= 52;
  27. cards_e symbol2card(char symbol){
  28. switch(symbol){
  29. case '2': return two  ;
  30. case '3': return three;
  31. case '4': return four ;
  32. case '5': return five ;
  33. case '6': return six  ;
  34. case '7': return seven;
  35. case '8': return eight;
  36. case '9': return nine ;
  37. case 'T': return ten  ;
  38. case 'J': return jack ;
  39. case 'Q': return queen;
  40. case 'K': return king ;
  41. case 'A': return ace  ;
  42. default:
  43.  cerr << "symbole de carte invalide" << endl;
  44.  //throw qqechose
  45. }
  46. }
  47. int main(){
  48. intro ();
  49. for(;;) {
  50.  string input;
  51.  for(;;){
  52.   cout
  53.    << "\n" "Enter the cards you want to remove from the deck ( "
  54.    << numcards
  55.    << " cards) [AKQJT98765432] \n\n"
  56.    << endl;
  57.   cin >> input;
  58.   if (input[0] == '\n') return 0;
  59.   if (input.length()>numcards) {
  60.    cout << "error, you can not take more cards than there is left in the deck" << endl;
  61.    continue; //recommence
  62.   }
  63.  }
  64.  for (int i= input.length() ; i>=0 ; --i) {
  65.   cards_e card= symbol2card(input [i]);
  66.   if(cardstock[card] == 0){
  67.    cerr << "Error you already took the 4 " << cardnames[i] << endl;
  68.    //throw qqechose
  69.   }else
  70.    --cardstock[i];
  71.  }
  72.  int total = 0;
  73.  for (int currcard1= two ; currcard1 <= ace ; ++currcard1)
  74.   total+= cardstock[currcard1];
  75.  for (int currcard2= two ; currcard2 <= ace ; ++currcard2){
  76.   int gcdval= gcd(cardstock[currcard2], total);
  77.   //cout << cardnames[j] << " : " << cardstock[currcard2]/gcdval << " in  " << total/gcdval << "(" << percentage (currcard2, total) << "%)" << endl;
  78.   cout
  79.    << cardnames[currcard2]
  80.    << " : "
  81.    << cardstock[currcard2]/gcdval
  82.    << " in  "
  83.    << total/gcdval
  84.    << "("
  85.    << percentage (currcard2, total)
  86.    << "%)"
  87.    << endl;
  88.  }
  89. }
  90. }


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°279052
COULIX
un pc pour les attirer ...
Posté le 04-01-2003 à 08:13:39  profilanswer
 

Musaran a écrit :

Citation :

Code :
  1. ace = ace--;


Joli :whistle: .
 
Je propose:

Code :
  1. #include <iostream>
  2. #include <string>
  3. using namespace std; //ajout
  4. //function who send back the commun diviser of two numbers to test if (card % total) can be simplified.
  5. //if nbr of card=0 to avoid division by zero
  6. int gcd(int a, int b) {
  7. int y,z;         
  8. while(a!=b){     
  9.  if (a==0) return 1; //anciennnement a=1; return a;
  10.       if(a>b){ z=a; y=b; }
  11.  else if(a<b){ z=b; y=a; }
  12.  else        { z=a; y=a; }
  13.  b=y;
  14.  a=z-y;
  15. }
  16. return a;
  17. }
  18. //function who calcute the probability percentage
  19. float percentage (float a, float b) {
  20. if (a==0) return 0; //anciennnement u=0; return u;
  21. return (a/b)*100;
  22. }
  23. enum        cards_e       { two , three , four , five , six , seven , eight , nine , ten , jack , queen , king , ace };
  24. const char* cardnames []= {"two","three","four","five","six","seven","eight","nine","ten","jack","queen","king","ace"};
  25. int         cardstock []= {    4,      4,     4,     4,    4,      4,      4,     4,    4,     4,      4,     4,    4};
  26. const int numcards= 52;
  27. cards_e symbol2card(char symbol){
  28. switch(symbol){
  29. case '2': return two  ;
  30. case '3': return three;
  31. case '4': return four ;
  32. case '5': return five ;
  33. case '6': return six  ;
  34. case '7': return seven;
  35. case '8': return eight;
  36. case '9': return nine ;
  37. case 'T': return ten  ;
  38. case 'J': return jack ;
  39. case 'Q': return queen;
  40. case 'K': return king ;
  41. case 'A': return ace  ;
  42. default:
  43.  cerr << "symbole de carte invalide" << endl;
  44.  //throw qqechose
  45. }
  46. }
  47. int main(){
  48. intro ();
  49. for(;;) {
  50.  string input;
  51.  for(;;){
  52.   cout
  53.    << "\n" "Enter the cards you want to remove from the deck ( "
  54.    << numcards
  55.    << " cards) [AKQJT98765432] \n\n"
  56.    << endl;
  57.   cin >> input;
  58.   if (input[0] == '\n') return 0;
  59.   if (input.length()>numcards) {
  60.    cout << "error, you can not take more cards than there is left in the deck" << endl;
  61.    continue; //recommence
  62.   }
  63.  }
  64.  for (int i= input.length() ; i>=0 ; --i) {
  65.   cards_e card= symbol2card(input [i]);
  66.   if(cardstock[card] == 0){
  67.    cerr << "Error you already took the 4 " << cardnames[i] << endl;
  68.    //throw qqechose
  69.   }else
  70.    --cardstock[i];
  71.  }
  72.  int total = 0;
  73.  for (int currcard1= two ; currcard1 <= ace ; ++currcard1)
  74.   total+= cardstock[currcard1];
  75.  for (int currcard2= two ; currcard2 <= ace ; ++currcard2){
  76.   int gcdval= gcd(cardstock[currcard2], total);
  77.   //cout << cardnames[j] << " : " << cardstock[currcard2]/gcdval << " in  " << total/gcdval << "(" << percentage (currcard2, total) << "%)" << endl;
  78.   cout
  79.    << cardnames[currcard2]
  80.    << " : "
  81.    << cardstock[currcard2]/gcdval
  82.    << " in  "
  83.    << total/gcdval
  84.    << "("
  85.    << percentage (currcard2, total)
  86.    << "%)"
  87.    << endl;
  88.  }
  89. }
  90. }




rhooooo je taime  :love:  :love:  :love:  :love:  :love:  
 :jap:  
j ai pas finit de lire mais c tres sympa


---------------
.... et dans les tenebres les lier
n°279053
COULIX
un pc pour les attirer ...
Posté le 04-01-2003 à 08:46:27  profilanswer
 

je comprend pas le role de enum.
et char* card []
c quoi ? une suite de char
string [] ca existe pas ? :??:


---------------
.... et dans les tenebres les lier
n°279089
chrisbk
-
Posté le 04-01-2003 à 12:04:37  profilanswer
 

un enum, c surtout un aide mémoire.
 
 
enum  
{
truc,
machin,
bidule
}
 
truc aura pour valeur 0, machin 1 et bidule 2. Maitenant dans ton programme, au lieu de faire des :
 
 

Code :
  1. case 'Q': return 8;
  2. case 'K': return 9;
  3. case 'A': return 10


 
tu peux faire :
 

Code :
  1. case 'Q': return queen;
  2. case 'K': return king ;
  3. case 'A': return ace


 
 
ce qui achement + compréhensible
 
char* card [] est un tableau de char *, dont la taille est determiné par le compilo grace a la suite d'initialiseur (le {"two","three","four","five","six","seven","eight","nine","ten","jack","queen","king","ace"};)
 
 
a propos enum, petite anecdote rigolote. On avait a faire un TP sur un jeu de carte (je sais pu quoi). Un pote a moi avais donc fait un enum avec tous les type de carte (valet,roi,.....). Sauf qu'au lieu d'utiliser directement l'enum dans son prog il utilisait les valeurs numériques assigné par le compilo a ceux ci. Pour faire ca bien, il avait une feuille de papier avec ecrit "valet = 10, dame =11.....". D'ou l'interet de l'enum, n'est ce pas ? [:ddr555]
 
 
 
 
 
 


Message édité par chrisbk le 04-01-2003 à 12:06:56
n°279501
Musaran
Cerveaulté
Posté le 05-01-2003 à 06:33:05  profilanswer
 

Je n'ai mis l'énumération que pour rendre le switch lisible.
Je m'en comme indice dans tableau, en comptant sur le fait que le premier élément vaut 0.
j'aurais dû rendre cela explicite:

Code :
  1. enum cards_e { two=0, three , ...

Les éléments suivants sont numérotés dans l'ordre automatiquement.
 

Citation :

et char* card []
c quoi ? une suite de char

Veuillez noter que c'est un tableau de 'const char*', puisque les littérales sont constantes.
 

Citation :

string [] ca existe pas ?

Si, mais vu que ces noms sont constants je fais l'économie d'une construction et allocation dynamique.
 
C'est pas du vrai C++, mais je ne suis pas intégriste non plus.
 
Le code que je donne pourrait être encore amélioré.
Par exemple:

Code :
  1. struct card{
  2. int stock;
  3. char symbol;
  4. const char* name;
  5. };
  6. card cards[]={
  7. {4, '2', "two"  },
  8. {4, '3', "three"},
  9. {4, '4', "four" },
  10. {4, '5', "five" },
  11. //...
  12. }


Message édité par Musaran le 05-01-2003 à 06:33:46

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

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

  heu pkoa mon char il deconne.. [truc simple pourtant]

 

Sujets relatifs
C++ objets et un autre trucConvertir char[]
[C] Gérer 'CHAR_BIT != 8' ?[php] systeme de news simple
Problème sur un devoir en assembleur [Help : c'est pas simple <:'o( ][vba] excel : cherche a faire un truc pas evident
Fonctions pour passer un int vers un char et une chaine vers un int ?char buf[255] ou char buf[256] ?
C++ : delete d'un char * : quelle est la bonne solution ?envoi d'email simple avec MFC?
Plus de sujets relatifs à : heu pkoa mon char il deconne.. [truc simple pourtant]


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