aide pour 1er partie c++

aide pour 1er partie c++ - C++ - Programmation

Marsh Posté le 19-12-2011 à 12:32:41    

salut a tout je suis nouveau sur le site et débutant sur langage c++
alors mon petite histoire  :pfff: :-° que j'ai raté mon cour de c++ plusieurs fois et il on créé un petite programme je les découper en plusieurs parties voila la 1er partie S.V.P je veux que vous m'expliquer ligne par ligne
 
je n'oublier pas votre aide et merci d'avance .
____________________________________________________________________
#include<conio.h>
#include<iostream.h>
#include<string.h>
int i=0;
class matiere
{
public:
int num_mat;
char nom[10];
int coeff;
float note;
} ;
class etudiant
{
public:
int num_etd;
char nom[10];
matiere mat[3];
float mg;
char resultat[12];
void remplissage();
void rechercher();
void modification();
void modification_matiere();
int admis();
}etd,t[10];
 
 
 
void etudiant::remplissage()
{
int j,k=15;
float s=0;
int r=0;
interface();
 
gotoxy(15,5);cin>>t[i].num_etd;
while(t[i].num_etd!=0)
{
s=0;r=0;
gotoxy(15,8);cin>>t[i].nom;
k=15;
for(j=0;j<=2;j++)
{
gotoxy(20,k);
cin>>t[i].mat[j].num_mat;
gotoxy(30,k);
cin>>t[i].mat[j].nom;
gotoxy(40,k);
cin>>t[i].mat[j].coeff;
gotoxy(50,k);
cin>>t[i].mat[j].note;
r=r+t[i].mat[j].coeff;
s=s+t[i].mat[j].coeff*t[i].mat[j].note;
k++;
}
 
t[i].mg=s/r;
 
if(t[i].mg>=10)
strcpy(t[i].resultat,"admis" );
else
strcpy(t[i].resultat,"non admis" );
i++;
interface();
gotoxy(15,5);cin>>t[i].num_etd;
 
}
 
(logiciel turbo c++)
____________________________________________________________________
j'ai lu plusieurs chapitre dans se site du langage c++ mais j'ai du problème avec les tableau  :cry: :colere2:

Reply

Marsh Posté le 19-12-2011 à 12:32:41   

Reply

Marsh Posté le 19-12-2011 à 13:03:33    

Une class 'matiere' qui contient des variables (struct aurait été plus approprié à mon goût :D) avec un int qui contient le nombre de matière, un char[] (tableau de char) qui contient le nom de la matière, 9 lettres max, un int qui représente le coefficient et enfin un float qui est la note de cette matière.
 
Une class 'etudiant' qui contient une variable qui représente le nombre d'étudiant ou le numéro de l'étudiant, je sais pas, un char[] qui représente le nom de l'étudiant, 9 lettres max, un tableau de class matiere qui représente les 3 matières de l'étudiant, mg je sais pas tellement (son poid en milligramme surement :o), et resultat aucune idée de si c'est toute ses notes ou ses moyennes, bref jsais pas.
 
Ensuite, y'a la méthode 'remplissage' de la class etudiant qui est précisée, mais là je t'avoue que j'aurais du mal parce que t'as pas mis tout le code et que j'ai aussi la flemme, en plus 'gotoxy()' je sais pas c'est quoi (on dirait que ça permet d'accéder à une case précise dans un tableau mais on sait pas lequel :/).
 
Grosso-merdo, je dirais que ça remplissage permet d'entrer le nombre d'élève, suivit de chacune de leur matière avec les bonnes notes/coef, etc.
 
Voilà, maintenant à toi de te dépatouiller avec ça, normalement t'es supposé être capable de comprendre une fonction si c'est ce que tu étudie, encore les classes si t'étais pas là je comprends, mais les fonctions tu devrais pouvoir y arriver, en plus de ça tu as des tonnes de tutos et d'explications sur internet ;)


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 19-12-2011 à 13:20:19    

Citation :

j'ai raté mon cour de c++ plusieurs fois et il on créé un petite programme

Me dis pas que le code que tu as posté est celui qui vous a été enseigné en cours [:prozac]  
 
Rien que ça:

Code :
  1. #include<iostream.h>
  2. #include<string.h>


ça mérite le fouet en public si c'est un type censé enseigner le C++ qui le pond.
 
ça devrait être  

Code :
  1. #include <iostream>
  2. #include <string>


et rien d'autre.
 
Et je parle pas du reste qui est affligeant.
 
A+,


Message édité par gilou le 19-12-2011 à 13:23:17

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 19-12-2011 à 13:22:26    

nameho, remontez pas les topics d'il y a 20 ans :o

 

wait §§§§


Message édité par kadreg le 19-12-2011 à 13:22:35

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 19-12-2011 à 13:25:13    

Citation :

Posté le 19-12-2011

:heink:  
Une cure de desintox semble s'imposer...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 19-12-2011 à 13:58:36    

ok ok ok voila tout le code  
_________________________________

Code :
  1. #include<conio.h>
  2. #include<iostream.h>
  3. #include<string.h>
  4. int i=0;
  5. class matiere
  6. {
  7. public:
  8.     int num_mat;
  9.     char nom[10];
  10.     int coeff;
  11.     float note;
  12. } ;
  13. class etudiant
  14. {
  15. public:
  16.     int num_etd;
  17.     char nom[10];
  18.     matiere mat[3];
  19.     float mg;
  20.     char resultat[12];
  21.     void remplissage();
  22.     void  rechercher();
  23.     void modification();
  24.     void modification_matiere();
  25.     int admis();
  26. }etd,t[10];
  27. void interface()
  28. {
  29.     clrscr();
  30.     gotoxy(5,5);cout<<"n_etd:";
  31.     gotoxy(5,8);cout<<"nom:";
  32.     gotoxy(20,12);cout<<"num_mat:";
  33.     gotoxy(30,12);cout<<"nom";
  34.     gotoxy(40,12);cout<<"coeff:";
  35.     gotoxy(50,12);cout<<"note:";
  36. }
  37. void etudiant::remplissage()
  38. {
  39.     int j,k=15;
  40.     float s=0;
  41.     int r=0;
  42.     interface();
  43.     gotoxy(15,5);cin>>t[i].num_etd;
  44.     while(t[i].num_etd!=0)
  45. {
  46.     s=0;r=0;
  47.     gotoxy(15,8);cin>>t[i].nom;
  48.     k=15;
  49.     for(j=0;j<=2;j++)
  50.  {
  51.      gotoxy(20,k);
  52.      cin>>t[i].mat[j].num_mat;
  53.      gotoxy(30,k);
  54.      cin>>t[i].mat[j].nom;
  55.      gotoxy(40,k);
  56.      cin>>t[i].mat[j].coeff;
  57.      gotoxy(50,k);
  58.      cin>>t[i].mat[j].note;
  59.      r=r+t[i].mat[j].coeff;
  60.      s=s+t[i].mat[j].coeff*t[i].mat[j].note;
  61.      k++;
  62.  }
  63.     t[i].mg=s/r;
  64.     if(t[i].mg>=10)
  65.  strcpy(t[i].resultat,"admis" );
  66.     else
  67.  strcpy(t[i].resultat,"non admis" );
  68.     i++;
  69.     interface();
  70.     gotoxy(15,5);cin>>t[i].num_etd;
  71. }
  72. }
  73. void etudiant  ::rechercher()
  74. {
  75.     int numero,j,v=0,l;
  76.     clrscr();
  77.     cout<<"numero:";
  78.     cin>>numero;
  79.     for(j=0;j<i;j++)
  80. {
  81.     if(numero==t[j].num_etd){v=1;cout<<"num_etd:"<<t[j].num_etd;
  82.  cout<<"nom:"<<t[j].nom;
  83.  for(l=0;l<=2;l++)
  84.      {
  85.   cout<<t[j].mat[l].num_mat<<"  "<<t[j].mat[l].nom<<" "<<t[j].mat[l].coeff<<"  "<<t[j].mat[l].note<<"\n";
  86.      }
  87.  cout<<"moyenne:"<<t[j].mg;
  88.  cout<<"resultat:"<<t[j].resultat;
  89.     }
  90. }
  91.     if (v==0){cout<<"n'existe pas";}
  92.     getch();
  93. }
  94. void etudiant::modification()
  95. {
  96.     int numero,v=0,j,l;
  97.     clrscr();
  98.     cout<<"numero_etudiant:";
  99.     cin>>numero;
  100.     for(j=0;j<i;j++)
  101. {
  102.     if(numero==t[j].num_etd){v=1;cout<<"num_etd:"<<t[j].num_etd;
  103.  cout<<"nom:"<<t[j].nom;
  104.  for(l=0;l<=2;l++)
  105.      {
  106.   cout<<t[j].mat[l].num_mat<<"  "<<t[j].mat[l].nom<<" "<<t[j].mat[l].coeff<<"  "<<t[j].mat[l].note<<"\n";
  107.      }
  108.  cout<<"moyenne:"<<t[j].mg;
  109.  cout<<"resultat:"<<t[j].resultat;
  110.     }
  111. }
  112.     if (v==0){cout<<"n'existe pas";}
  113.     getch();
  114. }
  115. void etudiant::modification_matiere()
  116. {
  117.     int num, numero,v=0,j,l,k,w=0;
  118.     clrscr();
  119.     cout<<"numero_etudiant:";
  120.     cin>>numero;
  121.     for(j=0;j<i;j++)
  122. {
  123.     if(numero==t[j].num_etd){v=1;l=j;};
  124. }
  125.     if(v==0){cout<<"etd introuvable!!!";}
  126.     else{cout<<"num_matiere:";
  127. cin>>num;
  128. for(k=0;k<=2;k++)
  129.     {
  130.  if(numero==t[l].mat[k].num_mat)
  131.      {
  132.   w=1;cout<<"num_matiere:";
  133.   cin>>t[l].mat[k].nom;
  134.      }
  135.     }
  136. if(w==0){cout<<"matiere introuvable!!!";}
  137.     }
  138.     getch();
  139. }
  140. int etudiant::admis()
  141. {
  142.     int j,n=0;
  143.     for(j=0;j<i;j++)
  144. {
  145.     if(t[j].mg>=10){n++;}
  146. }
  147.     return n;
  148. }
  149. void main()
  150. {
  151.     char p;
  152.     do
  153. {
  154.     clrscr();
  155.     cout<<"\n\na_remplissage";
  156.     cout<<"\n\nb_rechercher";
  157.     cout<<"\n\nm_modification";
  158.     cout<<"\n\nd_modification_matiere";
  159.     cout<<"\n\ni_admis";
  160.     cout<<"\n\nq_quitter";
  161.     cout<<"\n\nchoix";
  162.     p=getch();
  163.     switch(p)
  164.  {
  165.  case 'a':etd.remplissage();break;
  166.  case 'b':etd.rechercher();break;
  167.  case 'm':etd.modification();break;
  168.  case 'd':etd.modification_matiere();break;
  169.  case 'i':{ clrscr();cout<<"le nombre des admis est:"<<etd.admis();getch();}break;
  170.  }
  171. }
  172.     while(p!='q');
  173. }


Message édité par gilou le 19-12-2011 à 19:08:49
Reply

Marsh Posté le 19-12-2011 à 19:06:53    

>> void main()  
Non!
 
A+,


Message édité par gilou le 19-12-2011 à 19:07:07

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 20-12-2011 à 01:35:33    

gilou a écrit :

Citation :

Posté le 19-12-2011

:heink:  
Une cure de desintox semble s'imposer...
A+,


J'pense que c'était juste une vanne foireuse :D
 
Bon sinon, y'a rien de bien compliqué dans le code, gotoxy() c'est en fait une fonction qui permet de bouger le curseur de place dans ta console, bref c'est que des fonctions du style calculer une moyenne, stocker des variables, tu rates rien (si ce n'est ce merveilleux void main() [:mad_overclocker] )
 
Honnêtement tu gagnerais plus à zieuter des tutos sur les classes/tableaux que d'essayer de comprendre ce code mal foutu :jap:


---------------
Perhaps you don't deserve to breathe
Reply

Sujets relatifs:

Leave a Replay

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