Programmation en C - Besoin d'aide pour un travail

:super: Coucou tout le monde, j’ai un petit stut, je suis en graduat en informatique de gestion (première année) et je suis un peu perdu (je compte changé d’option mais je dois attendre la fin de cette année scolaire) et voila, j’ai un travaille à faire et je ne pige rien mais rien lol alors si je pouvais trouver un peu d’aide …

Programme à faire, (boucle, tableaux à 2 dimensions, faire un menu ect,…)

Si quelqu’un pourrait m’aider j’ai msn, pas_de_mail@msn.com

Merci d’avance et bonne journée

Lorenzo :hello:

pose clairement ton probleme! commence c q tu veux faire et si ta des difficultés reviens demander conseil Ok?

idem. Avec en plus : “et surtout n’oublie pas ! la sous traîtance de projet de C, c’est au minimum 100€ / fonctions.” (je dis ça, c’est pas pour t’effrayer, juste pour ne pas t’encourager à tricher.)

Ah ouais quand meme c’est pas rien 100€/fonctions :expressionless:

:??: Merci pour l’aide … :??:

lorenzo-> on n’a pas dit qu’on ne voulait pas t’aider, mais qu’on ne veut pas faire le boulot à ta place.

Donc tu vas essayer de coder ce qu’on te demande de faire et tu viens nous voir s’il y a un concept que tu ne comprends pas :slight_smile:

Tout à fait :slight_smile: d’où ma deuxième remarque “je dis ça c’est pas pour t’effrayer mais pour te décourager de tricher”.

Et quand je vous dis que je ne pige rien à rien, quel mot ne comprenez-vous pas ? je ne sais même pas démarer la création du code, à par les #include … c’est comme demander à un aveugle de lire …

Et toi, qu’est ce que tu ne comprends pas dans cette phrase : commence par faire quelque chose, post nous ce qui te bloque et on fera de notre mieux pour t’aider.
Si tu pense que quelqu’un va tout te faire sur un plateau, tu t’es trompé de forum, heureusement que t’as pas posté sur HFR, tu te serais fait lincher par 500 trolls en moins de deux …

Comment faire une boucle avec (for, do, whyle) ?
Comment faire un tableau a 2 dimension ?

là par contre il faut un minimum lire ton cours ou un tutorial, car là ça relève uniquement d’un probleme de syntaxe basique de chez basique. On ne peut tout de meme pas t’aider là dessus…

tu trouveras des tutoriaux ici par exemple:
http://c.developpez.com/cours/

Pour la première question, tu as eu des cours de C? (je doute que des profs te laissent dans la nature comme ça à te faire chercher la syntaxe du langage…)

Sinon formellement :

while ( condition ) 
  [instruction];
while ( condition ) {
  [declaration;]
  [instruction;]
  [avancement]
}

for ( [initialisation]; [condition]; [avancement] )
  [instruction];  

for ( [initialisation]; [condition]; [avancement] ) {
  [declaration;]
  [instruction;]
  [avancement]
}


do [instruction];
while ( condition );

do {
  [declaration;]
  [instruction;]
  [avancement]
} while ( condition );

instruction : instruction à faire, peut faire avancer la boucle…
declaration : déclaration de variable interne (tu peux)
avancement : instruction qui te permet d’avancer dans la boucle
condition : condition d’arrêt de la boucle
[x] : élément facultatif

Et pour les tableaux à x dimensions :

int x[][4][4]…[4] = {};

Il faut toujours fournir la taille du contenu. Sauf dans pour [] où c’est déduit avec ce qu’il y à droite (là, il va avoir du mal ).

merchi merchi

Comment écrire une fonction qui génère des nombres aléatoires de 10 à 99 dans un tableau 5X8 ?

#include <stdio.h>
#include <conio.h>

void main (void)
{
int tab [5] [8];
printf("Veuillez remplir le tableau de nombre allant de 10 à 99");
scanf("%d"&tab);
printf("%d", tab);
while (tab<10 || tab>99)
{
printf("Veuillez resaissir un nombre");
}
}

(Et pour afficher ce tableau en position (10,10), je rajoute (gotoxy tab (10,10)) ?

man srand

(au passage, &tab = adresse de tab = veuillez entrer l’adresse du tableau tab…

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
int saisir_tab(int tab[5][8]);
void afficher_tab(int tab[5][8]);
void erreur(char explic[20]);
//______________________________________________________________________
void main (void)
{
int tab[5][8],x,y,choix;
char explic[20];int i,j,a;
saisir_tab(tab);
do
{
clrscr();
y=15;
for(i=0;i<5;i++)
{
a=40;
for(j=0;j<8;j++)
{
gotoxy(a,y);
printf("%d",tab[i][j]);a+=3;
}
y++;
}
gotoxy(1,1);
printf("Voulez-vous:\n\n\n");
printf("1. Afficher le tableau\n\n");
printf("2. G‚n‚rer un nouveau tableau\n\n");
printf("0. Quitter\n\n\n");
printf("Votre choix:");
scanf("%d",&choix);
strcpy(explic,"Vous devez choisir entre 1, 2 ou 0.");
while(choix<0 || choix>2)
{
erreur(explic);
gotoxy(13,11);printf(" ");fflush(stdin);
gotoxy(13,11);scanf("%d",&choix);
};
switch(choix)
{
case 1 :afficher_tab(tab); break;
case 2 :saisir_tab(tab); break;
};
}while(choix!=0);
clrscr();
getch();
}
//______________________________________________________________________
int saisir_tab(int tab[5][8])
{
int i,j;
static int cpt=0;
clrscr();
for(i=0;i<5;i++)
{
for(j=0;j<8;j++)
{
tab[i][j]=rand()%90+10;
}
}
if(cpt!=0)
{
gotoxy(28,11);
printf("Nouveau tableau g‚n‚r‚.");delay(1500);
}
cpt++;
return (int)tab;
};
//____________________________________________________________________
void afficher_tab(int tab[5][8])
{
int i,j,x,y;
clrscr();printf("En quelle position voulez-vous afficher le tableau? \n");
printf("Ligne: \n");gotoxy(8,2);scanf("%d",&y);
printf("Colone: \n");gotoxy(9,3);scanf("%d",&x);
clrscr();
for(i=0;i<5;i++)
{

for(j=0;j&lt;8;j++)
{
	gotoxy(x,y);
	printf(&quot;%d&quot;,tab[i][j]);x+=3;
}
y++;x-=24;

}
gotoxy(35,24);printf("Press any key");
getch();
};
//_______________________________________________________________________
void erreur(char explic[20])
{
gotoxy(10,23);textcolor(4);
cprintf("%s",explic);
getch();
gotoxy(10,23);clreol();textcolor(15);

};

Comment c’est moche, je te conseille d’indenter stp

indenter ?
French ?
Vlaams ?

Identer veut dire


#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
#include<string.h>
int saisir_tab (int tab[5][8]);
void afficher_tab (int tab[5][8]);
void erreur (char explic[20]);
// __________________________________________________
void main (void)
{
    int tab[5][8], x, y, choix;
    char explic[20];
    int i, j, a;
    saisir_tab (tab);
    do {
	clrscr ();
	y = 15;
	for (i = 0; i < 5; i++) {
     a = 40;
     for (j = 0; j < 8; j++) {
  gotoxy (a, y);
  printf ("%d", tab[i][j]);
  a += 3;
     }
     y++;
	}
	gotoxy (1, 1);
	printf ("Voulez-vous:\n\n\n");
	printf ("1. Afficher le tableau\n\n");
	printf ("2. G\u201an\u201arer un nouveau tableau\n\n");
	printf ("0. Quitter\n\n\n");
	printf ("Votre choix:");
	scanf ("%d", &choix);
	strcpy (explic, "Vous devez choisir entre 1, 2 ou 0.");
	while (choix < 0 || choix > 2) {
     erreur (explic);
     gotoxy (13, 11);
     printf (" ");
     fflush (stdin);
     gotoxy (13, 11);
     scanf ("%d", &choix);
	};
	switch (choix) {
	case 1:
     afficher_tab (tab);
     break;
	case 2:
     saisir_tab (tab);
     break;
	};
    } while (choix != 0);
    clrscr ();
    getch ();
}

// __________________________________________________
int saisir_tab (int tab[5][8])
{
    int i, j;
    static int cpt = 0;
    clrscr ();
    for (i = 0; i < 5; i++) {
	for (j = 0; j < 8; j++) {
     tab[i][j] = rand () % 90 + 10;
	}
    }
    if (cpt != 0) {
	gotoxy (28, 11);
	printf ("Nouveau tableau g\u201an\u201ar\u201a.");
	delay (1500);
    }
    cpt++;
    return (int) tab;
};

// __________________________________________________
void afficher_tab (int tab[5][8])
{
    int i, j, x, y;
    clrscr ();
    printf ("En quelle position voulez-vous afficher le tableau? \n");
    printf ("Ligne: \n");
    gotoxy (8, 2);
    scanf ("%d", &y);
    printf ("Colone: \n");
    gotoxy (9, 3);
    scanf ("%d", &x);
    clrscr ();
    for (i = 0; i < 5; i++) {

	for (j = 0; j < 8; j++) {
     gotoxy (x, y);
     printf ("%d", tab[i][j]);
     x += 3;
	}
	y++;
	x -= 24;
    }
    gotoxy (35, 24);
    printf ("Press any key");
    getch ();
};

// __________________________________________________
void erreur (char explic[20])
{
    gotoxy (10, 23);
    textcolor (4);
    cprintf ("%s", explic);
    getch ();
    gotoxy (10, 23);
    clreol ();
    textcolor (15);

};


N’est-ce pas plus lisible comme cela ?