les tableaux sont limités en C++ comment faire?

les tableaux sont limités en C++ comment faire? - C++ - Programmation

Marsh Posté le 12-02-2007 à 13:32:20    

 :) Bonjour à tous   :hello:  :hello:  
Je suis entrain de monter un programme de gestion de bulletins de note en C++.  
J'ai décidé de me lancé sur les tableaux bidimensionnels car ils sont facile à utiliser et à gérer mais il sont limités quand à leur taille.    :??:  
 
  Mon programme est censé prendre en entrer le nombre et la listes des élèves d'une classe, le nombre et la liste des matières. Ce qui fait donc que chaque ligne de mon tableau correspondra à un élèves et chaque collonne à une matière de telle manière que l'intersection d'une ligne et d'un collonne peut me renvoyer des informations ( note, rang dans la matière) sur un élève dans une matère bien précise ( Chaque case de mon tableau étant d'un type structure contenant les rubriques  nom de l'élève, nom de la matière, coef , note , rang,...).    
   
   Je voudrai donc savoir s'il est possible de d'étendre la taille d'un tableau ( car elle est limité à 20X 20) à une taille de (150 X 40 ) au moins?    
     
 
Si vous pouvez me conseiller une meilleure solution que les tableaux n'hésitez pas mais soyez unpeu précis car je suis novice en C++.  
    Après tous ce verbiage, je vous prie de m'aider à résoudre ces problèmes.  :bounce:  :ouch:


---------------
la plus grande bêtise n'est pas d'ignorer mais d'ignorer qu'on ne sait pas
Reply

Marsh Posté le 12-02-2007 à 13:32:20   

Reply

Marsh Posté le 12-02-2007 à 13:55:35    

il n'y a pas de limite de taille au tableaux , si ce n'est celle que tu fixe en les déclarant ( tableaux statiques ) ou en les allouant ( tableaux dynamiques)

 

quand aux classes de type vector, il n'y a pas de limite


Message édité par flo850 le 12-02-2007 à 13:55:48
Reply

Marsh Posté le 12-02-2007 à 14:50:50    

resalut à tous
je te parle sérieusement les tableaux ont une taille maximale de 64bits
 
 Qu'entend tu par tableau dynamique?  
 dite moi brièvement brievement SVP à quoi ils servent et comment les utiliser car j'ai déjà eu vent de calà mais je nesait pas comment les utiliser.
 
 Aussi j'aimerai savoir ce qu'on entend par " classes de tyoe vector"
 
Merci et à bientôt.

Reply

Marsh Posté le 12-02-2007 à 14:52:39    

molion1 a écrit :


je te parle sérieusement les tableaux ont une taille maximale de 64bits


ok, lol.


Message édité par skeye le 12-02-2007 à 14:52:46

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 12-02-2007 à 14:59:58    

STL, Boost.


---------------
Töp of the plöp
Reply

Marsh Posté le 12-02-2007 à 16:24:27    

molion1 a écrit :

resalut à tous
je te parle sérieusement les tableaux ont une taille maximale de 64bits


développe un peu pour voir

Reply

Marsh Posté le 12-02-2007 à 16:29:17    

je peux voir la partie de ton code ou tu declare tes tableaux ?  
 
parceque , et meme si ca fait longtemps que je n'ai pas fait de C/C++, je me souviens bien avoir fait des matrice de plus de 3000*3000

Reply

Marsh Posté le 12-02-2007 à 17:00:46    

bon et sinon, personne pour lui dire que son idée de tableaux est totalement inadaptée et qu'une BDD est la solution ? [:mlc]

Reply

Marsh Posté le 12-02-2007 à 17:04:56    

non, c'est un exo de cours pour débutant en c++ a priori, donc ce n'est pas la solution.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 12-02-2007 à 17:09:41    

merci Skeye je ne sais ni utilisé les BDD ni quelle BDD utilisé, néamoins si quelqu'un peut me dire comment s'y prendre c'est de boncoeur que je le prendrai.
 
Voici le code source que j'ai commencé  
j'arrive pas à appeller correctement la fonction remplir_note(x), elle connaît un bug lors de sa compilation.
mais il ya quand même le contexte d'utilisation de mon tableau. Je l'ai compilé avec turbo C.
 
#include <iostream.h>  
#include <stdlib.h>  
#include <conio.h>  
#include <string.h>  
#include <stdio.h>  
#include <time.h>  
#include <ctype.h>  
 
typedef struct caz{  
   char nom[30];  
   float coef;  
   float note;  
   int rang;  
   char mat[20];  
   } ;  
typedef struct final{  
   char nom[30];  
   float total;  
   float moy;  
   float moy_max;  
   float moy_min;  
   int rang;} ;  
void remplir_note( char x);  
caz clas[20][20];  
   int effmat;  int l,effclass;  
void remplir_note(char x[20])  
  {  
  float note_mat;  
  int k=0;  
  int s;  
  s=strcmp(clas[k][0].mat,x);  
  while ((s!=0) && (k<effmat)) {  
  k++ ; s=strcmp(clas[k][0].mat,x);  }  
  if (s!=0)  
   cprintf ("la matiere n''existe pas" );  
   else  
   for(l=0;l<effclass;l++) {  
    cout<<"entrez la note de l''eleve"<<clas[k][l].nom<<"en"<<x;  
    cin>>note_mat;  
    clas[k][l].note=note_mat;}} ;  
 
 
 
main(int argc, char *argv){  
 clrscr();  
 int effclass;  
cprintf(" entrez l effectif de la clase \n" );  
cin>>effclass;  
 
 
 int effmat;  
cprintf("entrez le nombre total de matiere \n\n" );  
cin>>effmat;  
 
//cr‚ation du tableau  
 
 
 
// liste des ‚lŠves  
cprintf("entrer progressivement la liste des ‚lŠves" );  
char noms[30];  
int i,j;  
 
 
 
 for( j=0;j<effclass;j++){  
  cin>>noms;  
  for (i=0; i<effmat; i++){  
 strcpy ( clas[i][j].nom,noms);}  
 
  }  
// liste des matieres  
cprintf("entrer progressivement la liste des matieres" );  
char nom_mat[20];  
 
  float coeff;  
 
 
 
 for( i=0;i<effmat;i++){  
  cin>>nom_mat;  
  cprintf ("entrez le coefficient correspondant" );  
  cin>> coeff;  
 for (j=0; j<effclass; j++){  
 strcpy ( clas[i][j].mat,nom_mat);  
 clas[i][j].coef=coeff;  
  }  
 
  }  
  //saisie des notes//////////  
  //////choix dela matiere à remplir par le professeur ///  
 char x[30];  
  printf("entrez le nom de la matiere a remplir" );  
  cin>> x;  
  remplir_note(x);  
 
   
 
 
return 0 ;}

Reply

Marsh Posté le 12-02-2007 à 17:09:41   

Reply

Marsh Posté le 12-02-2007 à 17:10:30    

oh du C

Reply

Marsh Posté le 12-02-2007 à 17:11:32    

où est le problème, est c ke ca marche?

Reply

Marsh Posté le 12-02-2007 à 17:12:29    

non

Reply

Marsh Posté le 12-02-2007 à 17:16:20    

molion1 a écrit :

où est le problème, est c ke ca marche?


non, comme dit Taz tu mélanges C et C++ (utilisation des entetes .h, fonctions C...). en plus, il te manque des accolades (sur un else), le paramètre argv de main est mal déclaré (c'est **argv),  bref c'est n'importe quoi

Reply

Marsh Posté le 12-02-2007 à 17:24:03    

et que c'est des $¤µ$²@ de char* :o


Message édité par Taz le 12-02-2007 à 17:24:10
Reply

Marsh Posté le 12-02-2007 à 17:33:30    

O.K. pour ces pb rencontrés mais à part çà vous pouvez m'aider à corriger lesbugs sur la fonction remplir note, et me dire la différence entre les fonctions en C et C++.

Reply

Marsh Posté le 12-02-2007 à 17:38:46    

IWH before Harko closed :jap:

Reply

Marsh Posté le 12-02-2007 à 18:50:49    

-ThX- a écrit :

IWH before Harko closed :jap:


:o

Reply

Sujets relatifs:

Leave a Replay

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