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

  FORUM HardWare.fr
  Programmation
  C++

  REMERCIEMENT + qq questions array dynamique.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

REMERCIEMENT + qq questions array dynamique.

n°287153
COULIX
un pc pour les attirer ...
Posté le 15-01-2003 à 23:15:38  profilanswer
 

pour l aide sur ce topic.
 
http://forum.hardware.fr/forum2.ph [...] subcat=386
 
j ai eu A-, 4 eleves sur 72 on eu A, je m en sort bien.
mon second exam que j ai rendu hier, est a la fin du post.
 
j ai quelque questions.
je dois faire un prog qui enregistre certaines carac, comme le nom, l id, la pay par heure, tax ect.... faire differents czlcul la dessus et afficher le tout.
ceci pour n employee.
 
je n emaitrise pas encore le spointeurs.
ce que j e voudria faire c un tableau a dimension variable.
exemple

Code :
  1. input[var][5];


puis incrementer var, si l utilisateur continue d ajouter des employee.
 
mais comment faire ?.
de plus je pensai faire un gros tableau de string puis ensiute convertir les string en int ou float, mais sa me donne des resultat completement faux...
 
merci.


Message édité par COULIX le 16-01-2003 à 06:07:00
mood
Publicité
Posté le 15-01-2003 à 23:15:38  profilanswer
 

n°287161
Nico5779
Posté le 15-01-2003 à 23:23:53  profilanswer
 

ben tu peux pas le faire comme ca ton tableau.
tu dois le sauver a chaque fois puis en refaire un de un plus grand avec l'oprérateur new.
Le mieux de créer une structure(class, pas struct) liste ,puis de l'employer.

n°287163
COULIX
un pc pour les attirer ...
Posté le 15-01-2003 à 23:30:25  profilanswer
 

Nico5779 a écrit :

ben tu peux pas le faire comme ca ton tableau.
tu dois le sauver a chaque fois puis en refaire un de un plus grand avec l'oprérateur new.
Le mieux de créer une structure(class, pas struct) liste ,puis de l'employer.


ha ouai dans la boucle, si l utilistaeur ajoute un nouveau employee je refais un    

Code :
  1. string input[n+1][5]


mais y aps moyen de jouer avec les pointeurs, ? et j ai lu aussi des trucs sur la classe vector mais j ai pas tout compris...
 :??: .
 
sinon les class je vais voir.
et le problme ds string genre;

Code :
  1. string a;
  2. int b ;
  3. cout << "enter string ";
  4. cin  >> a;
  5. b = a;
  6. cout << a*5;
  7. //sera t il egale a 10 si j ai entrer 2 ? .


n°287167
Nico5779
Posté le 15-01-2003 à 23:40:38  profilanswer
 

COULIX a écrit :


ha ouai dans la boucle, si l utilistaeur ajoute un nouveau employee je refais un    

Code :
  1. string input[n+1][5]


mais y aps moyen de jouer avec les pointeurs, ? et j ai lu aussi des trucs sur la classe vector mais j ai pas tout compris...
 :??: .
 
sinon les class je vais voir.
et le problme ds string genre;

Code :
  1. string a;
  2. int b ;
  3. cout << "enter string ";
  4. cin  >> a;
  5. //ici et
  6. cout << a*5;
  7. //sera t il egale a 10 si j ai entrer 2 ? .non
  8. //tu peux essayer
  9. b = int(a);
  10. cout << int(a*5);
  11. //mais c pas garanti




 
sinon pour l'histoire des tableau ca marchera pas comme ca, recherche liste c/c++ sur google


Message édité par Nico5779 le 15-01-2003 à 23:45:12
n°287224
Musaran
Cerveaulté
Posté le 16-01-2003 à 05:13:18  profilanswer
 

Code :
  1. struct employe
  2. {
  3. char nom[256];
  4. int id;
  5. float paye_horaire;
  6. };
  7. employe* LesEmployes= new employe[n];


Pour le reste, tu dois bien avoir des cours ?
Je regardes ton exam... tu n'as pas encore vu switch ?


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°287227
COULIX
un pc pour les attirer ...
Posté le 16-01-2003 à 05:56:18  profilanswer
 

Musaran a écrit :

Code :
  1. struct employe
  2. {
  3. char nom[256];
  4. int id;
  5. float paye_horaire;
  6. };
  7. employe* LesEmployes= new employe[n];


Pour le reste, tu dois bien avoir des cours ?
Je regardes ton exam... tu n'as pas encore vu switch ?


si mais s amarche que pour les integer, case 1 ect..
case 'a' c pas bon...

n°287228
COULIX
un pc pour les attirer ...
Posté le 16-01-2003 à 05:59:54  profilanswer
 

Musaran a écrit :

Code :
  1. struct employe
  2. {
  3. char nom[256];
  4. int id;
  5. float paye_horaire;
  6. };
  7. employe* LesEmployes= new employe[n];


Pour le reste, tu dois bien avoir des cours ?
Je regardes ton exam... tu n'as pas encore vu switch ?


j ai fait comme ci dessous, cela marche, mais le tableau n est pas dynamique, et je cherche comment obtenir la partie decimal d un input, pour le calcul de l heure.
par example si il entre 3.45 , ce qui correspond a  3 h et 45 , qui doit etre ' convertie en 3.75...
je cherche toujours.
 
 

Code :
  1. #include <iostream>
  2. #include <string>
  3. //double converthours (double a);
  4. void process(double inputdbl[][3],int a) {
  5. double result, extra, withouttax;
  6. double hours = inputdbl[a][0];
  7. double tax   = inputdbl[a][1];
  8. double rate  = inputdbl[a][2];
  9.        if (inputdbl[a][0] > 40 ) {
  10.         extra=(hours-40)*(1.5*rate);
  11.         withouttax = (40*rate)+ extra;
  12.         result = withouttax - (withouttax *(tax/100)); }
  13.        else {
  14.         withouttax=(hours*rate);
  15.         result = (withouttax  -  (hours*rate*(tax/100)));    }
  16.       cout << "   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n";
  17.       cout << "   º NET PAYE     : " << result << " $ \n";
  18.       cout << "   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n";
  19.       cout << "   º GROSS PAY    : " << withouttax <<" $ \n";
  20.       cout << "   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n";
  21.       cout << "   º TAX          : " <<  withouttax - result<<" $ \n";
  22.       cout << "   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n";
  23.       cout << "   º PAY RATE     : " << "?????" <<" $ \n";
  24.       cout << "   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n";
  25. }
  26. void recordinput (string inputstr[][2], double inputdbl[][3],int a) {
  27. cout << "\n";
  28. cout << "Employee ID   (no space, use _)  :? "; cin >> inputstr[a][0];
  29. cout << "Employee Name (no space, use _)  :? "; cin >> inputstr[a][1];
  30. cout << "Hours Worked [hours],[min]       :? "; cin >> inputdbl[a][0];
  31. cout << "TAX [%]?                         :? "; cin >> inputdbl[a][1];
  32. cout << "Employee hourly pay              :? "; cin >> inputdbl[a][2];
  33. cout << "\n";
  34. }
  35. int main()
  36. {
  37. string inputstr[10][2];
  38. double inputdbl[10][3];
  39. int n=0;
  40. string answer,quit;
  41. do {
  42.    do {
  43.       recordinput (inputstr,inputdbl,n);
  44.       cout << "Add an other employee ?";
  45.       cin >> answer;
  46.       cout << "\n";
  47.       if (answer == "y" ) { n++;}
  48. }
  49.       while (answer == "y" );
  50.    
  51. for(int i=0;i<n+1;i++) {
  52. cout << "   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n";
  53. cout << "   º ID           : " << inputstr[i][0] << "\n";
  54. cout << "   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹\n";
  55. cout << "   º HOURS WORKED : " << inputdbl[i][0] << "\n";
  56. process(inputdbl,i);
  57. cout << "\n";
  58. }
  59. cout << "quit ? \n";
  60. cin >> quit;
  61.    }
  62. while(quit != "y" );
  63. }


 
les cours que l on as c le bouquin ..


Message édité par COULIX le 16-01-2003 à 06:03:49
n°288026
Musaran
Cerveaulté
Posté le 17-01-2003 à 05:38:54  profilanswer
 

En C&C++ les caractères sont des entiers, donc case 'a' marche.
 
Disons, pour commencer:

Code :
  1. #include <vector>
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5. //toutes les informations pour un quidam
  6. struct employee
  7. {
  8. string ID, Name;
  9. double Hours_Worked, Tax, Hourly_Pay;
  10. };
  11. //calculer et afficher la paye
  12. void process(employee& emp) {
  13. double result, extra, withouttax;
  14. if (emp.Hours_Worked > 40 ) {
  15.  extra      = (emp.Hours_Worked-40) * (1.5*emp.Hourly_Pay);
  16.  withouttax = 40*emp.Hourly_Pay + extra;
  17.  result     = withouttax - (withouttax *(emp.Tax/100)); }
  18. else {
  19.  withouttax = emp.Hours_Worked*emp.Hourly_Pay;
  20.  result     = withouttax  -  (emp.Hours_Worked*emp.Hourly_Pay*(emp.Tax/100));
  21. }
  22. //cout...
  23. }
  24. //Saisir et créer un employé
  25. employee input_employee(){
  26. employee e;
  27. cout << "Employee ID                :? "; cin>>e.ID;
  28. cout << "Employee Name              :? "; cin>>e.Name;
  29. cout << "Hours Worked [hours]h[min] :? ";
  30. int hour, minute;
  31. //scanf("%ih%i", &hour, &minute'); //équivalent C
  32. cin >> hour;
  33. cin.ignore(1,'h'); //sauter 1 caractère max, jusqu'à un 'h'
  34. cin >> minute;
  35. e.Hours_Worked= hour + double(minute)/60; //Entrer "3h45" donne bien 3.75 en valeur.
  36. cout << "TAX [%]?                   :? "; cin >> e.Tax;
  37. cout << "Employee hourly pay        :? "; cin >> e.Hourly_Pay;
  38. cin.ignore(); //vider les détritus de l'entrée
  39. return e;
  40. }
  41. int main()
  42. {
  43. vector<employee> employees; //tableau dynamique C++
  44. //...
  45. do {
  46.  employee emp= input_employee();
  47.  employees.push_back(emp); //ajouter au tableau
  48.  cout << "Add an other employee ?" ;
  49.    }
  50. while (cin.get() == 'y');
  51. //...
  52. for(int i=0 ; i<employees.size() ; ++i) {
  53.  cout << "ID           : " << employees[i].ID << "\n" ;
  54.  cout << "HOURS WORKED : " << employees[i].Hours_Worked << "\n" ;
  55.  process(employees[i]);
  56.  cout << endl;
  57.    }
  58. return 0;
  59. }

C'est la version explicte pour comprendre, elle peut être facilement transformée en approche plus objet.


Message édité par Musaran le 19-01-2003 à 05:46:11

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°288771
COULIX
un pc pour les attirer ...
Posté le 18-01-2003 à 02:10:42  profilanswer
 

Musaran a écrit :

En C&C++ les caractères sont des entiers, donc case 'a' marche.
 
Disons, pour commencer:

Code :
  1. #include <vector>
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5. //toutes les informations pour un quidam
  6. struct employee
  7. {
  8. string ID, Name;
  9. double Hours_Worked, Tax, Hourly_Pay;
  10. };
  11. //calculer et afficher la paye
  12. void process(employee& emp) {
  13. double result, extra, withouttax;
  14. if (emp.Hours_Worked > 40 ) {
  15.  extra      = (emp.Hours_Worked-40) * (1.5*emp.Hourly_Pay);
  16.  withouttax = 40*emp.Hourly_Pay + extra;
  17.  result     = withouttax - (withouttax *(emp.Tax/100)); }
  18. else {
  19.  withouttax = emp.Hours_Worked*emp.Hourly_Pay;
  20.  result     = withouttax  -  (emp.Hours_Worked*emp.Hourly_Pay*(emp.Tax/100));
  21. }
  22. //cout...
  23. }
  24. //Saisir et créer un employé
  25. employee input_employee(){
  26. employee e;
  27. cout << "Employee ID                :? "; cin>>e.ID;
  28. cout << "Employee Name              :? "; cin>>e.Name;
  29. cout << "Hours Worked [hours]h[min] :? ";
  30. int hour, minute;
  31. //scanf("%ih%i", &hour, &minute'); //équivalent C
  32. cin >> hour;
  33. cin.ignore(1,'h'); //sauter 1 caractère max, jusqu'à un 'h'
  34. cin >> minute;
  35. e.Hours_Worked= hour + double(minute)/60; //Entrer "3h45" donne bien 3.75 en valeur.
  36. cout << "TAX [%]?                   :? "; cin >> e.Tax;
  37. cout << "Employee hourly pay        :? "; cin >> e.Hourly_Pay;
  38. cin.ignore(); //vider les détritus de l'entrée
  39. return e;
  40. }
  41. int main()
  42. {
  43. vector<employee> employees; //tableau dynamique C++
  44. //...
  45. do {
  46.  employee emp= input_employee();
  47.  employees.push_back(emp); //ajouter au tableau
  48.  cout << "Add an other employee ?" ;
  49.    }
  50. while (cin.get() == 'y');
  51. //...
  52. for(int i=0 ; i<employees.size() ; ++i) {
  53.  cout << "ID           : " << employees[i].ID << "\n" ;
  54.  cout << "HOURS WORKED : " << employees[i].Hours_Worked << "\n" ;
  55.  process(employees[i]);
  56.  cout << endl;
  57.    }
  58. return 0;
  59. }

C'est la version explicte pour comprendre, elle peut être facilement trandformée en approche plus objet.


rhoooooooooooooooooooo
merchiiiiii

n°288778
COULIX
un pc pour les attirer ...
Posté le 18-01-2003 à 02:16:59  profilanswer
 

c vraiment sympa je comprend mieux now  :jap:


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

  REMERCIEMENT + qq questions array dynamique.

 

Sujets relatifs
questions variable dans une requette sql ????[Shell- Bash]Encore des questions de noob
[UNIX-Shell]Questions de noob pour faire des scriptsGestion de nom de variables dynamique (rapide... help)
ADA protected ? on se pose des questions ???recherche votre avis sur 2 pitites questions projet info
des ptites questions sur la STL et sur string[VB]création dynamique d'objets et index....
Plusieurs petites questions et demande de fonction sur Delphi[ C++ ] Pleins de questions pour un débutant...
Plus de sujets relatifs à : REMERCIEMENT + qq questions array dynamique.


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