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

  FORUM HardWare.fr
  Programmation
  C

  Affection chaine de caractere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Affection chaine de caractere

n°1586906
student
écoutez Sénèque
Posté le 16-07-2007 à 10:06:41  profilanswer
 

Bonjour
 
J'ai une strucure magasin avec dedans
strucure magasin
 
{
...
...
char statut [10]
 
}
 
Puios je declare dansd mon main
struct magasin caps[5000];
char statua[10]={"bon"};
char statua[10]={"bad"};
 
 
et dans une fonction if je veux attrivuer "bon" ou " bad" à caps.[j]statut
( ju étant le paramètre dans une boucle
 
J'ai fait caps[j].statut=statuta et caps[j].statut=statutb mais ça ne marche pas, je ne sais pas trop comment attribuer le statutr
 
 
Merci de m'aider
 
Je dois rendre une ébazuche pour midi
 
Coirdialement :cry:  :cry:

mood
Publicité
Posté le 16-07-2007 à 10:06:41  profilanswer
 

n°1586916
Elmoricq
Modérateur
Posté le 16-07-2007 à 10:23:48  profilanswer
 

strcpy()

n°1586955
Taz
bisounours-codeur
Posté le 16-07-2007 à 10:51:46  profilanswer
 

si tu as : strlcpy / g_strlcpy
 
(et strncpy sux)

n°1586990
student
écoutez Sénèque
Posté le 16-07-2007 à 11:48:15  profilanswer
 

merci; cela résoud mon problème mais j'en ai un secon
 
J'ai une autre structure dans le meme programme :
 
struct correction
 
{
float dilatation;
float pression;
}
 
J'acquière cette structure à partir d'un fichier texte et tout va bien. Mais dans cette structure, je vais devoir récupérer la valeure max et la valeure en ayant pour paramètre de référence un élément de la strucure decrite au paravant.
 
Donc je voulais faire qq chose du typre : chasse=caps[j]. PRESSIONA, mais la il me dit que chasse n'est pas un élément de capsule, puisque c'est un float defni avant
 
Donc comment puis je récupérer la valeure numérique de caps[j].pressionA dans une variable float?
 
Puis comment puis trouver mes deux valeures extremums dans ma structure? Je pensais à copier ma structure dans un tableau, mais je sais pas trop comment faire
 
Poouvez vous me filer un coup de souris
 
@micalement

n°1586992
Elmoricq
Modérateur
Posté le 16-07-2007 à 11:49:22  profilanswer
 

Rien compris. D'après ce que tu marques, le membre de ta structure se nomme pression, pas pressionA ou PRESSIONA ou j'sais pas quoi.

 

Poste ton code (entre balises [cpp][/cpp] pour que ça puisse être lisible).


Message édité par Elmoricq le 16-07-2007 à 11:50:40
n°1587014
student
écoutez Sénèque
Posté le 16-07-2007 à 12:11:55  profilanswer
 

Ok, merci de m'aider
 
J'ai mis mon code et j'en suis là ou j'ai mis PROBLEME. Au debut, j'acquiere les données qui sonrt tout en bas de la fenetre dans ma structurecorrection mais le problème est que pour une correction, j'ai plusieures pressions. Moi je connais la pression, et je veux determlinater la dilatation max pour une pression et la dilatation min
 
Par exemple,k je lui rentyre 1008.9 pa et je veux avoir dilatation max = 0.0151 et dilalatation min = 0.0153.
 
0 l'heure actuelle, ces données se trouve,nt dans ma structure correction, mais je ne sais aps comment proceder pour extarire ces deux données.
 
Precisions, la pression que je lui rentre est PRESSIONA de la structure CAPSULE.
 
PS : je suis debutant est pas un crack en info
 
Merci
 
 
 
 
 
 

Code :
  1. #include<string.h>                        /* declaration des bibliotheques*/    
  2. #include<stdio.h>                        /* declaration des bibliotheques*/
  3. #include<stdarg.h>                        /* declaration des bibliotheques*/    
  4. #include<stdlib.h>                        /* declaration des bibliotheques*/
  5. #include<conio.h>
  6. #include<time.h>
  7. #include <fstream>    //declaration des bibliotheque//
  8. #include <malloc.h>  //declaration des bibliotheque//
  9. #include <fstream>    //declaration des bibliotheque//
  10. #include <malloc.h>  //declaration des bibliotheque//
  11. #include <iostream>  //declaration des bibliotheque//
  12.  
  13. struct CAPSULE                                    /*declaration de la structure*/
  14. {
  15.     float PRESSIONA;
  16.     float NUMCAPSULE1;                                        /*declaration*/
  17.     float pige11;
  18.     float mesure11;
  19.     float pige12;
  20.     float mesure12;        
  21.     float pige13;
  22.     float mesure13;        
  23.     float cotea;
  24.     char statut[10];                        /*declaration*/
  25. };  
  26.  
  27.  
  28.  
  29. struct correction                            /*declaration de la structure*/
  30. {
  31. float dilatation;
  32. float pression;                            /*declaration*/
  33. };
  34.  
  35. void Saisie(struct CAPSULE *p)                            /*mise en place de la fonction saisie a l'aide d'un pointeur*/                                                  
  36. {
  37. printf("\n********************************************************************* \n" );
  38. printf("\n            Nous allons saisir 1 capsule \n" );    
  39. printf("\n********************************************************************* \n" );
  40.  
  41. printf("\n\n\nquel est la pression ?" );      /*affichage message*/
  42. printf("\nla pression est de :   " );                /*affichage message*/
  43. scanf("%f",&p->PRESSIONA);
  44.  
  45. printf("\n********************************************************************* \n" );
  46. printf("\n            MESURE CAPSULE 1 \n" );    
  47. printf("\n********************************************************************* \n" );
  48.  
  49.  
  50. printf("\n\n\nquel est le nom de la capsule 1?" );      /*affichage message*/
  51. printf("\nson nom est  :   " );                /*affichage message*/
  52. scanf("%f",&p->NUMCAPSULE1);                    /*acquisition*/
  53.     
  54.                                                     /*acquisition*/
  55.  
  56. printf("\n\n\n première mesure pige 1?" );            /*affichage message*/
  57. printf("\n La mesure est de  :   " );                /*affichage message*/
  58. scanf("%f",&p->pige11);    
  59.  
  60.  
  61. printf("\n\n\n première mesure capsule 1?" );            /*affichage message*/
  62. printf("\n La mesure est de  :   " );                /*affichage message*/
  63. scanf("%f",&p->mesure11);                            /*acquisition*/
  64.  
  65. printf("\n\n\n seconde mesure pige 1?" );            /*affichage message*/
  66. printf("\n La mesure est de  :   " );                /*affichage message*/
  67. scanf("%f",&p->pige12);                            /*acquisition*/                                                                /*acquisition*/
  68.  
  69.  
  70. printf("\n\n\n seconde mesure capsule 1?" );            /*affichage message*/
  71. printf("\n La mesure est de  :   " );                /*affichage message*/
  72. scanf("%f",&p->mesure12);                            /*acquisition*/
  73.  
  74. printf("\n\n\n troisième mesure pige 1?" );            /*affichage message*/
  75. printf("\n La mesure est de  :   " );                /*affichage message*/
  76. scanf("%f",&p->pige13);                            /*acquisition*/
  77.  
  78. printf("\n\n\n troisième mesure capsule 1?" );            /*affichage message*/
  79. printf("\n La mesure est de  :   " );                /*affichage message*/
  80. scanf("%f",&p->mesure13);                            /*acquisition*/                                                                /*acquisition*/
  81. printf("\n\n\n Calcul cote en cour" );            /*affichage message*/
  82.  
  83.  
  84.  
  85. }
  86.  
  87.  
  88. bool is_readable( const std::string & file )    //definition de la fonction de test d'existaence du fichier//
  89. {
  90.    std::ifstream fichier( file.c_str() );
  91.    return fichier != 0;
  92. }
  93.  
  94. void main ()
  95. {
  96.     int date[3],i,j,s=0;
  97.     float correction=0;/*declaration des variabled*/
  98.     float intermediaire=0;
  99.     float intermediaires=0;
  100.     char racine[100],INDIRECTION[30]={"c:\\temp\\"},REINDIRECTION[30]={"c:\\temp\\"},NOMS[30],racines[100],CHEMIN[30]={"c:\\temp\\"};            /*declaration des variabled et chemin d'acces*/
  101.     float chasse=0;
  102.     FILE*FICHIER;
  103.  
  104.                                                                         
  105.     struct correction cor[5000];
  106.     struct CAPSULE caps[5000];/*declaration des variabled*/
  107.  
  108.                                                                                 /*declaration des variabled*/
  109.  
  110. printf("\n********************************************************************* \n" );
  111. printf("\n            BONJOUR UTILISATEUR \n" );    
  112. printf("\n********************************************************************* \n" );
  113.  
  114.  
  115.       time_t temps_act;
  116.       time(&temps_act);
  117.       printf("\n                 %s",ctime(&temps_act));
  118.       printf("\n********************************************************************* \n" );
  119.  
  120.     printf("\nNous allons saisir les 3 composantes de la date (jour,mois,annee)\n" );    
  121.  
  122.     printf("\n\nveuillez saisir le jour\n" );                    /*affichage de message*/
  123.     printf("valeure saisi :   " );                                /*affichage de message*/
  124.     scanf("%d",&date[0]);                                        /*saisie*/
  125.                                                                         
  126.     printf("\n\nveuillez saisir le mois\n" );                    /*affichage de message*/
  127.     printf("valeure saisi :   " );                                /*affichage de message*/
  128.     scanf("%d",&date[1]);                                        /*saisie*/
  129.                                                                         
  130.     printf("\n\nveuillez saisir l annee\n" );                    /*affichage de message*/
  131.     printf("valeure saisi :   " );                                /*affichage de message*/
  132.     scanf("%d",&date[2]);                                        /*saisie*/
  133.  
  134.     printf("\n**    Nous allons lire dans le fichier de stockage   **    \n" );        /*affichage de message*/    
  135.     printf("               ... ......lecture  .......\n\n\n\n" );                    /*affichage de message*/
  136.  
  137.  
  138.  
  139. printf("\nQuel est la racine du fichier d'entrer en .txt?\n" );   /*fichier de entrer*/
  140. gets(racine);                                                      /*acquisition*/
  141. gets(racine);                                                    /*acquisition*/
  142. strcat(INDIRECTION,racine);                                      /*concatenation*/
  143.  
  144.     if ((FICHIER = fopen(INDIRECTION,"r" ))== NULL)                  /*condition*/                                                   /*test de validite d'ouverture*/
  145.     {
  146.         printf("Impossible d'ouvrir le fichier %s",racine);          /*affichage message*/
  147.         return;
  148.     }
  149.  
  150.     printf("\n       Lecture autorisee          \n" );    
  151.  
  152.  
  153.     printf("\n**    Nous allons enregistrer le fichier de stockage   **    \n" );        /*affichage de message*/    
  154.     printf("               .........enregistrement  .......\n\n\n\n" );                    /*affichage de message*/
  155.  
  156.  
  157.  
  158. i=0;    
  159. //system("pause" );                                                        /*acquisition des parametres du fichier source a l'aide d'une boucle while jusqu'au end of file*/
  160. while (fscanf(FICHIER,"%f\t%f\n",
  161. &cor[i].dilatation, &cor[i].pression) != EOF)
  162. i++;
  163. fclose(FICHIER);
  164. system("pause" );
  165. //Affichage//
  166.  
  167.  
  168.     printf("\n\n*****Voici le tableau DE CORRECTION ******\n\n" );
  169.     for (j= 0; j < i; j++)
  170.     printf("%f\t%f\n",cor[j].dilatation, cor[j].pression);
  171.     fclose(FICHIER);
  172.  
  173.  
  174.     FILE*FICHIERS;
  175. //***********************************************************************************************************************************************//
  176. printf("\nQuel est la racine du fichier deja existant .txt?\n" );   /*fichier de entrer*/
  177. gets(racines);                                                      /*acquisition*/                                                    /*acquisition*/
  178. strcat(CHEMIN,racines);                                      /*concatenation*/
  179.  
  180.     if ((FICHIERS = fopen(CHEMIN,"r" ))== NULL)                  /*condition*/                                                   /*test de validite d'ouverture*/
  181.     {
  182.         printf("Impossible d'ouvrir le fichier %s",racine);          /*affichage message*/
  183.         return;
  184.     }
  185.     printf("\n       Lecture autorisee          \n" );    
  186.     printf("\n**    Nous allons enregistrer le fichier de stockage   **    \n" );        /*affichage de message*/    
  187.     printf("               .........enregistrement  .......\n\n\n\n" );                    /*affichage de message*/
  188.  
  189.  
  190.  
  191. i=0;    
  192. //system("pause" );                                                        /*acquisition des parametres du fichier source a l'aide d'une boucle while jusqu'au end of file*/
  193. while (fscanf(FICHIERS,"%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%s\n",
  194. &caps[i].PRESSIONA,&caps[i].NUMCAPSULE1,&caps[i].pige11,&caps[i].mesure11,&caps[i].pige12,&caps[i].mesure12,&caps[i].pige13,&caps[i].mesure13,&caps[i].cotea,caps[i].statut) != EOF)
  195. i++;
  196. fclose(FICHIERS);
  197.  
  198. system("pause" );
  199. //Affichage//
  200.  
  201. printf("\n\n*****Voici le tableau du fichier existant ******\n\n" ); /*affichage du tableau des deux nouvelles personnes*/
  202. for (j= 0; j < i; j++)
  203. printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%s\n",caps[j].PRESSIONA,caps[j].NUMCAPSULE1,caps[j].pige11,caps[j].mesure11,caps[j].pige12,caps[j].mesure12,caps[j].pige13,caps[j].mesure13,caps[j].cotea,caps[j].statut);
  204. fclose(FICHIERS);
  205. system("pause" );
  206.  
  207.  
  208. //***********************************************************************************************************************************************//    
  209. //saisie strucure//
  210.  
  211. Saisie(&caps[i++]);
  212.  
  213.  
  214.     printf("\n\n*****Voici le tableau final ******\n\n" ); /*affichage du tableau des deux nouvelles personnes*/
  215.     for (j= 0; j < i; j++)
  216.     {    
  217.         
  218.         
  219.         //CALCUL DE LA CORRECTION //
  220.     
  221.             printf("%f\n\n\n",caps[j].PRESSIONA);
  222.             chasse=caps[j].PRESSIONA;
  223.             printf("%f\n\n\n",chasse);
  224.             system("pause" );
  225.  
  226.         PROBLEME
  227.  
  228.  
  229.  
  230.  
  231.         
  232.         
  233.     /////////////////////////////////////////////////////////////////////////////////////////////////////////////    
  234.         intermediaire=(caps[j].mesure11+caps[j].mesure12+caps[j].mesure13)/3;
  235.     //    printf("%f",intermediaire);
  236.     //    system("pause" );
  237.         intermediaires=(caps[j].pige11+caps[j].pige12+caps[j].pige13)/3;
  238.     //    printf("%f",intermediaires);
  239.     //    system("pause" );
  240.         caps[j].cotea=(82.84+intermediaires)-(66.66+intermediaire+6-(11.73)-2.96+1.416075);
  241.  
  242.                 if((caps[j].cotea<22.9999) &&(caps[j].cotea>22.7400))
  243.                     
  244.                     {    strcpy(caps[j].statut,"BON" );}
  245.  
  246.                 else
  247.  
  248.                     {strcpy(caps[j].statut,"BAD" ); }
  249.  
  250.  
  251.  
  252.         printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%s\n",caps[j].PRESSIONA,caps[j].NUMCAPSULE1, caps[j].pige11, caps[j].mesure11, caps[j].pige12, caps[j].mesure12, caps[j].pige13, caps[j].mesure13,caps[j].cotea,caps[j].statut);
  253.  
  254.     fclose(FICHIERS);
  255.     }
  256.  
  257.     system("pause" );
  258.  
  259.  
  260. /*fichier de sortie*/
  261.     
  262.  
  263.     printf("\n\n\n    Creation du fichier de sortie du fichier de sortie en .txt ?\n" );    /*fichier de sortie*/
  264.     gets(NOMS);                    /*acquisition du nom du fichier de sortie*/
  265.     gets(NOMS);
  266.     strcat(REINDIRECTION,NOMS);  /*concatenation*/
  267.  
  268.  
  269.  
  270.     if ((FICHIER = fopen(REINDIRECTION,"w+" ))== NULL)                /*test de validite d'ouverture*/
  271.     {
  272.         printf("Impossible d'ouvrir le fichier de sortie %s",REINDIRECTION); /*affichage de message le cas echeant*/
  273.         return;
  274.     }
  275.  
  276.                 /*ecriture dans le fichier de sortie*/
  277.  
  278.     for (j= 0; j < i; j++)
  279.     fprintf(FICHIER,"%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%s\n",
  280.             caps[j].PRESSIONA,caps[j].NUMCAPSULE1, caps[j].pige11, caps[j].mesure11, caps[j].pige12, caps[j].mesure12, caps[j].pige13, caps[j].mesure13,caps[j].cotea,caps[j].statut);caps[j].statut;
  281.  
  282.     fclose(FICHIER);
  283.  
  284.     
  285.  
  286.  
  287.  
  288.     printf("\n\n\n*************************************" );         /*affichage du message de fin de programmme*/
  289.     printf("\nle programme est maientenant termine\n" );             /*affichage du message de fin du programme*/
  290.     printf("\nAU REVOIR ET BONNE JOURNEE    " );                     /*affichage du message de fin de programmme*/
  291.     printf("\n*************************************\n\n\n\n\n" ); /*affichage du message de fin de programmme*/
  292.  
  293. }


 
 
 
et voici le fichier que j'acquiere à la base ( pression et dilatation)
 
1009.1 0.0146
1009.1 0.0147
1009 0.0148
1009 0.0149
1009 0.015
1008.9 0.0151
1008.9 0.0152
1008.9 0.0153
1008.8 0.0154
1008.8 0.0155
1008.7 0.0156
1008.7 0.0157
1008.7 0.0158
1008.6 0.0159
 

n°1587047
student
écoutez Sénèque
Posté le 16-07-2007 à 13:25:54  profilanswer
 

personne????

n°1587054
Taz
bisounours-codeur
Posté le 16-07-2007 à 13:48:42  profilanswer
 

ouah, du C/C++, des gets, du printf du kilo, du franglais, toussa
 
sinon à part ça c'est quoi le problème ? un erreur de compilation ou de 'code' ?

n°1587064
Elmoricq
Modérateur
Posté le 16-07-2007 à 14:00:54  profilanswer
 

Il y a tellement d'erreurs dans ce code que je ne sais même pas par où commencer.
Comme je ne me sens pas le courage de commenter tout ça, je vais faire comme Taz, et te demander exactement où se situe l'erreur : problème de compilation, ou de comportement de programme ?
Et dans le second cas, indique exactement ce que tu attends et ce que produit le programme.


Message édité par Elmoricq le 16-07-2007 à 14:01:10
n°1587114
student
écoutez Sénèque
Posté le 16-07-2007 à 14:53:31  profilanswer
 

mais le code marche, ya pas de soucis ds l'ensemble. Mon problème est ligne 219. Je veux trier ma strucure correction, je voudrais en gros faire de ma strucure correction un tableau a 2 dimensions avec une colonne pression et une colonne dilatation

mood
Publicité
Posté le 16-07-2007 à 14:53:31  profilanswer
 

n°1587126
Taz
bisounours-codeur
Posté le 16-07-2007 à 15:03:45  profilanswer
 

et tu ne sais pas faire un tableau ?

n°1587139
student
écoutez Sénèque
Posté le 16-07-2007 à 15:21:31  profilanswer
 

si c'est bon, je viens de trouver mais j'ai encore un problème
 
Travaillant avec des flottants, je voudrais tronquer mon nombre, par exemple 3.222222786456 deviendrait 3.2
 
Merci
 
Sinon, mon code est pourri?

n°1587140
Taz
bisounours-codeur
Posté le 16-07-2007 à 15:22:28  profilanswer
 

grave.
 
floor/ceil toussa

n°1587145
student
écoutez Sénèque
Posté le 16-07-2007 à 15:33:07  profilanswer
 

arrete, il tourne. Je suis pas ingé en info, c'est pas trop mal qd meme je trouve

n°1587146
_darkalt3_
Proctopathe
Posté le 16-07-2007 à 15:35:02  profilanswer
 

student a écrit :

arrete, il tourne. Je suis pas ingé en info, c'est pas trop mal qd meme je trouve


Ca dépend si tu t'alignes sur de la merde ou du bon code...


---------------
Töp of the plöp
n°1587147
zecrazytux
Posté le 16-07-2007 à 15:35:36  profilanswer
 

ba tu pose la question. i lte réponds. si tu le trouve bien tant mieux pour toi, mais demande pas l'avis des codeurs alors :D


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1587158
student
écoutez Sénèque
Posté le 16-07-2007 à 15:46:02  profilanswer
 

vous etes pas sympas mais je prend votre remarque en compte car je veux progreser. Bon donc; si vous pouvez me dire ce qui est choquant que je corrige. Merci

n°1587195
student
écoutez Sénèque
Posté le 16-07-2007 à 16:44:03  profilanswer
 

dites, si je veux faire une comparaison entre deux float, je peux faire :
 
if ( TAB[][]=chasse)
{
}
else
{
};
 
ou dois je mattre == , le tab contient des float, et chasse est un float
 
merci

n°1587213
Sve@r
Posté le 16-07-2007 à 17:09:43  profilanswer
 

student a écrit :

dites, si je veux faire une comparaison entre deux float, je peux faire :
 
if ( TAB[][]=chasse)
{
}
else
{
};
 
ou dois je mattre == , le tab contient des float, et chasse est un float
 
merci


Tu ne peux pas comparer d'un coup tout ton tableau avec "chasse". Si tu veux savoir si la valeur "chasse" se trouve dans ton tableau, il te faut programmer un algo. Par exemple, cela pourrait être
- j'initialise un flag (une variable) à 0
- je balaye mon tableau "TAB" à l'aide de deux boucles imbriquées "i" et "j"
- if (TAB[i][j] == chasse) flag=1;
- en fin de boucle, if (flag == 1) cela veut dire que ta valeur y est
 

student a écrit :

vous etes pas sympas mais je prend votre remarque en compte car je veux progreser. Bon donc; si vous pouvez me dire ce qui est choquant que je corrige. Merci


Boaf, c'est l'ensemble tout entier qui est choquant. Ta fonction "main()" déclarée en void alors qu'elle est de type "int", ton gros paté dans le main() sans une seule ligne de commentaire (on n'a vraiment pas envie de lire), tes deux "gets(racine)" en ligne 140 et 141, tes 3 variables date[0], date[1] et date[2] sensées représenter jj/mm/aa (tu pourrais utiliser une structure plus parlante), tes noms de variables en majuscules (réservé aux macros), ta variable "s" (à quoi sert-elle ?), tes variables "intermédiaire" et "intermédiaires", bref c'est un tout...
 
On sent que t'as programmé ça "à l'arrache". Si t'avais commencé par penser au truc, t'aurais découpé ton pgm en modules (un module pour le menu, un module pour la saisie, etc) avec chaque module bien commenté, des noms de variables parlants style "pressionMin, pressionMax", etc...


Message édité par Sve@r le 16-07-2007 à 17:23:02

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1587221
student
écoutez Sénèque
Posté le 16-07-2007 à 17:20:03  profilanswer
 

oui bien sur, j'ai fais comme ça, voici le morceau
 

Code :
  1. printf("%f TAB[a][0]  avant boucle    \n\n\n",TAB[0][0]);
  2.             system("pause" );
  3.  
  4.                     printf("%f  A  avant boucle  \n\n\n",a);
  5.                     system("pause" );
  6.                     
  7.                 for (a=0;a<2185;a++)                                 /*passe avec tous les elements sauf le dernier*/
  8.                 {
  9.                     
  10.                     
  11.                     if (TAB[a][0]==chasse)
  12.                     {
  13.                     TABLEAU[b][0]=TAB[a][0];
  14.                     TABLEAU[b][1]=TAB[a][1];
  15.                     printf("%f  B dans boucle   \n\n\n",b);
  16.                     b++;}
  17.                     else
  18.                     {printf("else" );
  19.                     }
  20.                     system("pause" );
  21.                     printf("%f  A  dans la boucle  \n\n\n",a);
  22.  
  23.                 };
  24.                 
  25.                 printf("***SORTIE***" );
  26.                     system("pause" );


 
 
avant, TAB[a][0]=1036 et a=0;le probleme est que je ne sors jms de la boucle, je reste entre des A=0 et B=0.  J'y ai passé 2 heures, je suis decu, si qq'un peut m'aider :cry:  :cry:

n°1587232
Sve@r
Posté le 16-07-2007 à 17:28:44  profilanswer
 

student a écrit :

oui bien sur, j'ai fais comme ça, voici le morceau
 

Code :
  1. printf("%f TAB[a][0]  avant boucle    \n\n\n",TAB[0][0]);
  2.             system("pause" );
  3.  
  4.                     printf("%f  A  avant boucle  \n\n\n",a);
  5.                     system("pause" );
  6.                     
  7.                 for (a=0;a<2185;a++)                                 /*passe avec tous les elements sauf le dernier*/
  8.                 {
  9.                     
  10.                     
  11.                     if (TAB[a][0]==chasse)
  12.                     {
  13.                     TABLEAU[b][0]=TAB[a][0];
  14.                     TABLEAU[b][1]=TAB[a][1];
  15.                     printf("%f  B dans boucle   \n\n\n",b);
  16.                     b++;}
  17.                     else
  18.                     {printf("else" );
  19.                     }
  20.                     system("pause" );
  21.                     printf("%f  A  dans la boucle  \n\n\n",a);
  22.  
  23.                 };
  24.                 
  25.                 printf("***SORTIE***" );
  26.                     system("pause" );


 
 
avant, TAB[a][0]=1036 et a=0;le probleme est que je ne sors jms de la boucle, je reste entre des A=0 et B=0.  J'y ai passé 2 heures, je suis decu, si qq'un peut m'aider :cry:  :cry:


Je vois pas trop. Tu fais un "printf()" de a et de b au format "%f" ce qui tend à faire penser que "a" et "b" (tous deux indices de tableaux) sont des flottants. Je vois pas non plus où b a été initialisé.
 
Astuce: Termine TOUS tes "printf()" de débuging par un "\n". Cela t'affichera la chaîne immédiatement. Sinon elle est bufferisée dans le tampon de sortie qui n'est affiché que quand il est plein (ou quand il rencontre, plus tard, un "\n" )


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1587248
lorill
Posté le 16-07-2007 à 17:50:55  profilanswer
 

hé, au fait, c'est les vacances scolaires [:dawa]

n°1587560
student
écoutez Sénèque
Posté le 17-07-2007 à 13:42:44  profilanswer
 

BOn, je récidive. J'ai modifié mon prog, il marche impec.
 
Now, je veux faire une interface graphique. j'ai entendu aprler de win 32 et vu ca :http://www.winprog.org/tutorial/start.html
 
Je code en C sur une machine avec windows XP et j'ai  microsoft visual C++ 6 . Bon, la première étape ne me parle pas de trop, et j'arrive meme pas au debur. comment dois je procéder pour trouver ce qui est dit : J'ai fait file - New ety apres je prenais tjs C header file comme je codais dans la fenetre dos
 
Merci de votre aide

n°1587572
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2007 à 14:06:20  profilanswer
 
n°1587612
student
écoutez Sénèque
Posté le 17-07-2007 à 14:33:21  profilanswer
 

ok, c'est un bon didactel
 
Maus quand je compile le code d'exemple dans mon source C, j'ai çà :
 
--------------------Configuration: win - Win32 Debug--------------------
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/win.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
 
win.exe - 2 error(s), 0 warning(s)
 
 
9a viens de quoi??
 
j'ai pris l'exemple du step 2 sur la page

n°1587614
Elmoricq
Modérateur
Posté le 17-07-2007 à 14:36:06  profilanswer
 

Ça te dit que t'as pas de main().
 
Comme je n'ai pas lu le site en question, deux possibilités :

  • soit c'est normal, effectivement il n'y en a pas, et c'est parce que tu tentes de linker ton programme en .exe alors que ce que tu veux, c'est une DLL
  • soit faut un main() [:petrus75]

n°1587624
student
écoutez Sénèque
Posté le 17-07-2007 à 14:46:50  profilanswer
 

bon j'ai reussi a executer et jh'ai vite vu, mais c'esdt trop chaud vraiment. Ayant fait mon pgm ds la fenetre dos, y a t il un moyen de faire une belle interface de manière plus simple?

n°1587647
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-07-2007 à 15:11:35  profilanswer
 

student a écrit :

bon j'ai reussi a executer et jh'ai vite vu, mais c'esdt trop chaud vraiment. Ayant fait mon pgm ds la fenetre dos, y a t il un moyen de faire une belle interface de manière plus simple?


oui, en laissant tomber Win32, et le C aussi tant que tu y es, et en utilisant un vrai langage avec un vrai toolkit graphique :
-C# et Winforms
-Java & Swing
-Python & PyQt
-...
 
si tu tiens à faire du C, alors oriente toi plutot vers GTK+ : http://fr.wikipedia.org/wiki/GTK+#Langages

n°1587659
student
écoutez Sénèque
Posté le 17-07-2007 à 15:33:13  profilanswer
 

bon, je vais me tourner vers GTK :
 
je suis le lien sur wikipedia et je vais sur :ftp.gimp.org dans le répertoire /pub/gtk mais apres je sais pas quoi prendre, il y en a plein sous gtk

n°1587724
Sve@r
Posté le 17-07-2007 à 16:17:42  profilanswer
 

student a écrit :

je suis le lien sur wikipedia et je vais sur :ftp.gimp.org dans le répertoire /pub/gtk mais apres je sais pas quoi prendre, il y en a plein sous gtk


 
pfffou... c'est pas gagné.
Kes t'es allé foutre sur ftp.gimp.org ? En suivant le lien donné par Harkonen t'arrives sur une fenêtre. En lisant un peu le contenu de la fenêtre (c'est pas dur, c'est écrit en français mais évidemment faut un peu se donner la peine) tu trouves rapidement (enfin ça dépend pour qui) un lien "download" qui t'amène directement à http://www.gtk.org/download. Là, t'as le choix entre différentes versions avec, à chaque fois
- pour zindoz
- pour Linux
...
 
Je sens que ce topic va partir en torche...


Message édité par Sve@r le 17-07-2007 à 16:22:28

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1587744
student
écoutez Sénèque
Posté le 17-07-2007 à 16:37:55  profilanswer
 

J'ai trouver ce tutoriel : http://gtk.developpez.com/cours/gt [...] gramme.php
 
Mais il n'y a aucune archive qui regroupe tous les pgm à installer

n°1587750
Elmoricq
Modérateur
Posté le 17-07-2007 à 16:43:12  profilanswer
 

Stop.
Arrête-toi. Deux secondes. Souffle, arrête de cliquer partout et de t'éparpiller, tu vas partout mais tu ne te rends nul part.
 
Il te manque trop de notions, trop de bases, trop de tout.
Harko t'a filé un lien, je parie que tu ne l'as même pas lu. As-tu vu qu'il y a carrément un wikibook sur GTK ?

n°1587756
student
écoutez Sénèque
Posté le 17-07-2007 à 16:53:20  profilanswer
 

mais bien sur que je l'ai lu son lien, mais faut avouer que pour télécharger le package, il manque toutjours un truc ou il y a tjs un lien déféctueux
 
Je suis pas une chèvre non plus, mais bon, l'info c'esdt pas ma passion

n°1587774
Elmoricq
Modérateur
Posté le 17-07-2007 à 17:16:51  profilanswer
 

Soit c'est pas ton boulot, et effectivement c'est par passion. Visiblement, ce n'est pas le cas.
 
Soit c'est ton boulot, et là je vois pas ce que tu fous dans cette galère, car manifestement il te manque beaucoup, beaucoup de clés pour parvenir à tes fins.
 
Je ne dis pas ça pour t'enfoncer, j'ai honnêtement mieux à faire. Mais si tu veux parvenir à tes fins, il faut que tu bouquines et que tu te documentes avant de continuer, sinon tu vas droit dans le mur.
Donc prends ton temps, lis les tutoriaux sur GTK mais aussi (et surtout) sur le C (parce que ton programme est tout sauf stable). Et sache enfin que réaliser une interface graphique est une tâche très consommatrice en temps, à plus fortes raisons lorsque l'on doit découvrir l'API (et le langage).

n°1587905
deadalnix
Posté le 18-07-2007 à 06:13:17  profilanswer
 

Oui, et puis surtout faire une interface sur un programme qui marche pas, c'est comme vouloir attaquer la deco de ta maison alors que les fondation s'enfoncent dans le sol.
 
Rien de mieux q dire que recommence tout et proprement, car meme si apres 200 heures de debug sur ton truc, tu arrives enfin a quelques chose, deja, tu aura mis plus de temps que de tout recommencer, et puis si jamais tu veux ajouter tel bout de code, tu sera aussi obligé de tout recommencer.
 
Et enfin, pour le l'interface, je te conseille vivement de faire de l'objet, mais la rien d'obligatoire.

mood
Publicité
Posté le   profilanswer
 


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

  Affection chaine de caractere

 

Sujets relatifs
Problème avec chaine de caractère et caracrtère spécial.Insertion d'un caractère sauf au dernier bouclage.
|SQL] Conversion Long en Chaine de caractèreSupprimer le premier caractère d'une chaine
[Javascript - URGENT] traitement de chaine de caractère - RésoluComment ajouter des caractéres dans une chaine facilement ?
Plus de sujets relatifs à : Affection chaine de caractere


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