Projet de C - calcul vitesse/acceleration - ecriture/lecture d'un txt

Projet de C - calcul vitesse/acceleration - ecriture/lecture d'un txt - C - Programmation

Marsh Posté le 26-05-2004 à 09:43:46    

Bon voila, si ya un doué en C/C++, on souhaiterais bien une grde aides pour ce projet ci dessous :  
Le mieux serai une grande aide mais c sur, je demande pas de faire le projet a ma place.
 
                 ----------------------
 

Code :
  1. MINI-PROJET DE C
  2. Enoncé :
  3. Domaine : Mesures-Physiques - Calculs de vitesse et d’accélération
  4. - Description des données d’entrée :
  5. Le fichier d’entrée est le résultat d’une campagne de mesures concernant le déplacement de 2 mobiles, dans le plan.
  6. Chaque mesure (ligne du fichier) contient :
  7. 1 L’instant de mesure (en seconde) ;
  8. 2 L’ordonné (XA) et l’abscisse (YA) du mobile A par rapport à un point de référence fixe.
  9. 3 L’ordonné (XB) et l’abscisse (YB) du mobile B par rapport au centre de gravité de A.
  10. - Travail demandé :
  11. Il faut :
  12.      1 Calculer les vitesses (dans les 2 axes) de A par rapport au point de référence et de B par rapport à A.
  13.      2 Calculer les accélérations correspondantes,
  14.      3 Déterminer, pour chacun des calculs, la valeur minimale et la valeur maximale.
  15. Ces éléments sont à visualiser à l’écran et à stocker dans un fichier (à créer).
  16. Ce fichier résultat doit être de type «txt » ; pour pouvoir être lu par n’importe quel éditeur.
  17. Son nom est à demander lors de l’exécution du programme.
  18. - Contraintes et indications diverses :
  19. Fichier d’entrée :
  20. Le nombre de points de mesure est essentiellement variable. Ils sont précédés de 6 lignes d’entête. Le no, du fichier et son emplacement sont variables. Ces éléments sont a fournir lors de l’exécution du programme.
  21. - Données en entrée :
  22. Fichier de données dénommé PHY-O2
  23. - Livrables généraux :
  24. Organigramme
  25. Code source avec commentaires
  26. Fichier exécutable
  27. - Livrable complémentaires :
  28. Fichier « résultats »


              --------------------------------
 

Code :
  1. Fichier PHY-02.txt
  2. Deux mobiles qui se déplacent en X et Y
  3. Mesures des déplacements: de A dans l'absolu et de B par rapport  A.
  4. Date de l'essais: 13/07/01 Heure:13/45/43
  5. CAPTEUR: Z45 MONTE STANDARD
  6. Instant XA  YA YB XB
  7. 456 0 0 520 4200
  8. 460 4 22 525 4245
  9. 463 19 47 563 4460
  10. 465 26 77 610 4770
  11. 472 28 83 632 5045
  12. 478 43 100 653 5394
  13. 484 43 102 692 5619
  14. 487 58 117 726 5781
  15. 492 70 141 771 5997
  16. 495 77 154 784 6193
  17. 499 92 172 834 6542
  18. 502 97 197 855 6642
  19. 507 100 211 897 6836
  20. 509 107 222 906 6895
  21. 513 109 229 913 7002
  22. 515 109 239 947 7114
  23. 521 117 253 990 7441
  24. 525 123 262 1013 7674
  25. 531 133 276 1020 7958
  26. 535 142 287 1036 8082
  27. 539 149 304 1075 8095
  28. 542 152 319 1120 8404
  29. 549 160 346 1130 8575
  30. 556 165 375 1167 8771
  31. 559 177 402 1190 8802
  32. 561 177 418 1196 8817
  33. 567 190 428 1222 8930
  34. 570 201 454 1269 9141
  35. 572 210 459 1304 9404
  36. 578 224 481 1346 9695
  37. 584 230 499 1353 9918
  38. 586 232 513 1375 10042
  39. 588 244 526 1386 10084
  40. 595 247 541 1433 10263
  41. 597 256 563 1461 10606
  42. 602 261 591 1491 10781
  43. 604 266 596 1497 10867
  44. 609 273 606 1499 10938
  45. 615 272 613 1521 11287
  46. 620 286 615 1524 11349
  47. 623 298 620 1555 11585
  48. 630 311 644 1581 11706
  49. 634 326 648 1587 12040
  50. 636 331 651 1632 12237
  51. 638 340 678 1653 12271
  52. 642 355 701 1679 12381
  53. 649 360 704 1704 12585


 
              -----------------------
 
Le calcul des vitesses/accélérations se fait de la maniere suivante :
 
V(XA)=Delta(XA)/Delta(temps)
V(YA)=Delta(YA)/Delta(temps)
V(XB)=Delta(XB)/Delta(temps)
V(YB)=Delta(YB)/Delta(temps)
 
a(XA)=Delta(V[XA])/Delta(temps)
a(YA)=Delta(V[YA])/Delta(temps)
a(XB)=Delta(V[XB])/Delta(temps)
a(YB)=Delta(V[YB])/Delta(temps)
 
Le calcul des vitesse commence donc a la 2eme ligne du fichier phy-02.txt et donc le calcul des accelerations commence a la 3eme ligne du fichier, soit la 2eme ligne des vitesses.
 
Mon soucis principal etant l'utilisation de donnees d'un fichier exteieur comme ici ainsi ke l'ecriture dans un autre fichier du meme type.
 
Merci d'avance, et c un peu URGENT !

Reply

Marsh Posté le 26-05-2004 à 09:43:46   

Reply

Marsh Posté le 26-05-2004 à 09:45:34    

des epitaliens m'ont aidé pour la lecture du fichier
 

Code :
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <stdio.h>
  4. /*
  5. #include<iomanip.h>
  6. #include<stdio.h>
  7. #include<conio.h>
  8. #include<string.h>
  9. #include<math.h>
  10. #include<stdlib.h>
  11. #include<iostream.h>
  12. */
  13. #include <sys/types.h>
  14. #include <sys/stat.h>
  15. #include <fcntl.h>
  16. /*
  17. int  main()
  18. {
  19. FILE *fd;
  20. char *str;
  21. str = malloc(sizeof(char) * 11);
  22. fd = fopen("toto.txt", "r" );
  23. while (fread(str, 1, 10, fd))
  24. {
  25. str[11] = 0;
  26. printf("str = [%s]\r\n", str);  
  27. }
  28. return 0;
  29. }
  30. */
  31. int  main()
  32. {
  33. FILE *fd;
  34. char c;
  35. int  i = 1;
  36. int  j = 0;
  37. int  tab = 0;
  38. int  tableau[15];
  39. /*int  flag = 0;*/
  40. float value = 0;
  41. fd = fopen("toto.txt", "r" );
  42. while (fread(&c, 1, 1, fd))
  43. {
  44. printf("str = [%c]\r\n", c);
  45. if (c == '\n') /* retour a la ligne */
  46.  i++;
  47. if (i > 5)
  48. {
  49.  if (c == '\t') /* tabulation */
  50.  {
  51.   tab++;
  52.  }
  53. /*  
  54.  if (c == '-')
  55.  {
  56.   flag = 1;
  57.  }
  58. */
  59.  if (c == '\n' || c == '\t')
  60.  {
  61.      j = 0
  62.  }
  63.  else
  64.  {
  65.   tableau[j] = c - '0' /* 48 */
  66.   j++;
  67.   tableau[j] = -1
  68.  }
  69. }
  70. /*if (flag == 1)
  71.   value = -value;*/
  72. }
  73. printf("il y a %d ligne(s) et %d tabulation(s) dans le fichier\r\n", i, tab);
  74. return 0;
  75. }


             ---------------------------
 
J'aimerai ke vous m'expliquiez bien ce ki a été fait et me dire ce kil reste a faire, je veux dire, dans la logique (ex : regroupé les chiffres, pour refaires les nombre, ...etc)
 
Merci

Reply

Marsh Posté le 26-05-2004 à 09:48:42    

Tu veux pas 100 balles et un mars aussi?
Commence à travailler un peu par toi-même, si tu as une question précise on t'aidera.

Reply

Marsh Posté le 26-05-2004 à 09:53:13    

tu t'es fait aider par des mecs de l'epita? [:totoz]

Reply

Marsh Posté le 26-05-2004 à 09:55:16    

ouais, ben ils t'ont tout sauf aider, ils se sont bien foutus de ta gueule, c'est un ramassis de code de merde
 
 
wc, t'as besoin de rien pour le faire, si ce n'est getchar/fgetc
 
et tu comptes ... les sauts de lignes et les tabulations...
 
 
et je suis particulièrelent friand des "str = malloc(sizeof(char) * 11);"

Reply

Marsh Posté le 26-05-2004 à 10:46:06    

Bon vais me faire taper, mais pour la lecture je ferai quelque chose qui ressmeble a ca:
 

Code :
  1. do{
  2.   //lecture de la ligne   
  3.   getline (fichier, buffer, bufsize);
  4.    
  5.   //recuperation des donnees
  6.   tok=strtok (buffer," " );
  7.   while (buffer){
  8.     taStructure = tok;
  9.     tok=strtok(NULL," " );
  10.   }
  11. }while (buffer !=EOF);


 
bon c'est super shematique (en plus j'ai la lecture de fichier en C++ en tete, c'est dur de s'en defaire), d'autant plus que getline n'est pas present dans certaines librairies. Enfin faut que tu fouille.

Reply

Marsh Posté le 26-05-2004 à 10:47:10    

skeye a écrit :

Tu veux pas 100 balles et un mars aussi?
Commence à travailler un peu par toi-même, si tu as une question précise on t'aidera.


ben si tu veux nous on te file 100 balles et un mars et tu nous fais le projet ? non ?
c serieux en plus, on es trop en galere
 

moktar1er a écrit :

tu t'es fait aider par des mecs de l'epita? [:totoz]

oui


Message édité par audioslave227 le 26-05-2004 à 10:48:12
Reply

Marsh Posté le 26-05-2004 à 10:48:36    

super ...
 
 
regarde la man de getline
 
e
t arrêtez avec EOF bordel
 
 
while(getline(..) != -1)
{  
}
 
 
sans compter que ta boucle sur buffer est infinie

Reply

Marsh Posté le 26-05-2004 à 10:49:07    

audioslave227 a écrit :

ben si tu veux nous on te file 100 balles et un mars et tu nous fais le projet ? non ?
c serieux en plus, on es trop en galere


 
BOSSE, crétin.

Reply

Marsh Posté le 26-05-2004 à 10:49:15    

audioslave227 a écrit :

ben si tu veux nous on te file 100 balles et un mars et tu nous fais le projet ? non ?
c serieux en plus, on es trop en galere
 
oui


 
c'est pas ici que tu pourra faire faire ton projet !
 
sinon, il y a assez de site/livre/sujet ici pour que tu puisse t'en sortir ;)


---------------
.
Reply

Marsh Posté le 26-05-2004 à 10:49:15   

Reply

Marsh Posté le 26-05-2004 à 10:52:42    

Citation :

super ...  
 
 
regarde la man de getline  
 
e  
t arrêtez avec EOF bordel  
 
 
while(getline(..) != -1)  
{  
}  
 
 
sans compter que ta boucle sur buffer est infinie


 
 :D  Ouais j'ai vu ... faut pardonner je viens de me lever.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed