M3rCo Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Comment faire un menu en C ? Le porf a parler de switch mé na rien dis de plus Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Le switch te permet de faire un "if ... then ...else ..." cad : un selon que (valeur = ... faire) On va commencer par un exemple: void main(...) { int a; ... printf("MENU/n"); printf("choix 1 : ....\n"); printf("choix 2 : ....\n"); ... printf("choix n : ....\n"); scanf("%d ", &a); switch (a) { case 1: .... // Faire le choix 1 break; case 2: break; .... default; break; } } Ca correspond à void main (...) { .... scanf(....); if (a == ...) then { } elseif (a == ...) then { } elseif (a == ...) ... ********** Pour le fonctionnement switch(valeur) { case valeur_choix } valeur et valeur_choix doivent etre de meme type (int, float, char,...) ne fonctionnent pas avec le type string, ni les pointeurs, ni les types "farfelus" Apres le 'case' il faut mettre un 'break' Ce 'break' signifie 'ne pas exécuter le case suivant' (tu peux faire un test en mettant des printf dans les cases) 'default', signifie 'tous les autres cas' voila Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 #include<stdio.h> #include<conio.h> main() { switch(choix) { case 1: printf("Min/Max"); break; case 2: printf("suite/carré/somme"); break; case 3: printf("echec"); break; default: printf("erreur") } return 0; } Je pense ke c fo ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 #include<stdio.h>#include<conio.h> main() { switch(choix) { case 1: printf("Min/Max"); break; case 2: printf("suite/carré/somme"); break; case 3: printf("echec"); break; default: printf("erreur") } return 0; } Je pense ke c fo ? il te faut rajouter int choix; ensuite il te faut faire un menu : printf("1 : Min-Max\n"); printf("2 : Suite-Carré-Somme\n"); printf("3 : Echec\n"); scanf("%d", &choix); apres tu mets ton switch sinon le compilo il va te dire "connait pas choix" Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 #include<stdio.h> #include<conio.h> main() { int choix; { printf("MENU/n"); printf("1 : Min-Max\n"); printf("2 : Suite-Carré-Somme\n"); printf("3 : Echec\n"); scanf("%d", &choix); } switch(choix) { case 1: printf("Min-Max\n"); break; case 2: printf("Suite-Carré-Somme\n"); break; case 3: printf("Echec\n"); break; default: printf("erreur"); } return 0; } Ué mon premeir menu mé le prof ve kil soit un pe plus convivial => kil soit center , encadrer , é avec un efface écran ! mogwai met toi prof je comprend mieux avec toi ke mon prof Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Pour positionner du texte, il faut utiliser la méthode GotoXY (Ca fonctionne qu'en mode texte) Par contre, j'ai oublié quelle est la bibliothèque..... Avant le printf, tu appelles cette méthode : GotoXY (ligne, colonne); ensuite le prochain printf, sera positionné à cet endroit le prochain prinf, lui, sera à la suite ou en dessous (ca dépend si tu mets '\n' dans le printf) L'écran DOS "standard", fait 80x25 le point 1, 1 se trouve en haut à gauche le point 80, 25 se trouve en bas à droite Si tu veux vraiment centrer, il te faut faire une methode, ressemblant à : void Centrer (char* Texte, int Ligne) { int Longueur_texte = length(Texte); int Colonne = (80 - Longueur_texte) / 2 + 1; GotoXY(Ligne, Colonne); printf(Texte); } Je fais ça rapidement, de tête, donc pas sûr que ça fonctionne mais l'idée y est.. Merci pour le compliment } Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Oups, j'ai oublié les couleurs, et le reste la biblio, c'est conio.h Les méthodes c'est textcolor (couleur_du_texte) textbackground (couleur_du_fond) Pour effacer l'ecran : clrscr() les couleurs : (il y en a 16 : de 0 à 15) soit tu appelles textcolor (0); soit tu appelles textcolor(BLACK) Les autres couleurs : BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE et BLINK (clignotant, le numéro est 128) Pour faire des rectangles, tu "t'amuses" avec les caractères ou alors, un peu plus dur, tu fais une methode : void Rectangle(int X1, int Y1, int X2, int Y2) { .... GotoXY(..., ...); printf("*"); ... } Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 Car notre prof nous dis ce kil fo faire (pa un poly rien ) et lui pedant ce temps il é sur caramail et il écoute sa vieil zik ko mé obligé de subir Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 #include<stdio.h>#include<conio.h> main() { int choix; { printf("MENU/n"); printf("1 : Min-Max\n"); printf("2 : Suite-Carré-Somme\n"); printf("3 : Echec\n"); scanf("%d", &choix); } switch(choix) { case 1: printf("Min-Max\n"); break; case 2: printf("Suite-Carré-Somme\n"); break; case 3: printf("Echec\n"); break; default: printf("erreur"); } return 0; } Ué mon premeir menu mé le prof ve kil soit un pe plus convivial => kil soit center , encadrer , é avec un efface écran ! mogwai met toi prof je comprend mieux avec toi ke mon prof Il affiche des trucs, mais ne calcule rien, normal? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Car notre prof nous dis ce kil fo faire (pa un poly rien ) et lui pedant ce temps il é sur caramail et il écoute sa vieil zik ko mé obligé de subir Et encore tu debutes dans la prog C/C++ qu'est ce que ca va être quand vous allez attaquer les pointeurs et la prog objet.... Tu peux aller sur ce site, il y a qqs tutoriaux C/C++ http://c.developpez.com/cours/ Mais pour être bon en C/C++, faut déjà être bon en algorithmie. une fois que l'algo est bon et optimisé, le passage au langage est assez rapide (quoique, certains langages sont vraiment ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Mon prob, c'est l'orienté objet... Le concept d'objet m'est... étranger... Faudrait que je me penche dessus... Les pointeurs, Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Mon prob, c'est l'orienté objet... Le concept d'objet m'est... étranger... Faudrait que je me penche dessus... Les pointeurs, L'objet, ça semble compliqué au début, ensuite "no pb" Quoique, avec les surcharges, le polymorphisme, et tout le reste il suffit de respirer un bon coup, et zou. En fait ca ressemble aux "struct" sauf qu'en plus des variables "habituelles", tu peux rajouter des méthodes. Le plus ouf, c'est que tu peux surcharger les operateurs (+, -, *, /, =) C'est à dire, que tu veux modifier le comportement habituel de ses signes, voire meme de faire l'addition (ou autre) de 2 objets non additionnables Au niveau du code, tu gagnes en temps de développement, Au niveau exécution, où tu perds un peu, mais c'est négligeable Un petit exemple : Windows !!! l'objet de base, c'est une zone rectangulaire ensuite tous les autres objets héritent de cet objet de base et donc t'obtiens tous les autres objets (fenetres, bouton, menu, ...) et chacun a ses propres methodes (clic_dessus, relache, got_focus, lost_focus, ...) Ensuite quand tu developpes ton appli windows tu dis si tu veux que les objets windows fassent en + qqc ou s'ils font leur "bout de code habituel" Voilou Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 je v duper le prof je v faire mon tablo en utilisant les caractères spéciaux Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 L'objet, ça semble compliqué au début, ensuite "no pb"Quoique, avec les surcharges, le polymorphisme, et tout le reste il suffit de respirer un bon coup, et zou. En fait ca ressemble aux "struct" sauf qu'en plus des variables "habituelles", tu peux rajouter des méthodes. Le plus ouf, c'est que tu peux surcharger les operateurs (+, -, *, /, =) C'est à dire, que tu veux modifier le comportement habituel de ses signes, voire meme de faire l'addition (ou autre) de 2 objets non additionnables Au niveau du code, tu gagnes en temps de développement, Au niveau exécution, où tu perds un peu, mais c'est négligeable Un petit exemple : Windows !!! l'objet de base, c'est une zone rectangulaire ensuite tous les autres objets héritent de cet objet de base et donc t'obtiens tous les autres objets (fenetres, bouton, menu, ...) et chacun a ses propres methodes (clic_dessus, relache, got_focus, lost_focus, ...) Ensuite quand tu developpes ton appli windows tu dis si tu veux que les objets windows fassent en + qqc ou s'ils font leur "bout de code habituel" Voilou Le concept, en lui-même je le connais à peu près, c'est sa mise en applications qui pour l'instant me chagrine... Ca me semble pas naturel... Mais je vais essayer de recup soit un cours d'objet, soit un cours de GTK... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Le concept, en lui-même je le connais à peu près, c'est sa mise en applications qui pour l'instant me chagrine... Ca me semble pas naturel...Mais je vais essayer de recup soit un cours d'objet, soit un cours de GTK... Comme exemple...euh..... Un jeu de stratégie genre Warcraft chaque unité est un objet. Chaque unité hérite de l'objet unité de base à laquelle tu lui rajoutes ses propres specs.... Moi, mon pb, c'est la notion de Template. J'en ai peu entendu parler, mais je ne sais pas à quoi ça sert et comment ça fonctionne Pour les fous du C/C++, deux petits tests (en anglais), 1 facile, 1 plus dur http://www.cpp-home.com/tests/ind.php Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 #include<stdio.h>#include<conio.h> main() { int choix; { printf("MENU/n"); printf("1 : Min-Max\n"); printf("2 : Suite-Carré-Somme\n"); printf("3 : Echec\n"); scanf("%d", &choix); } switch(choix) { case 1: printf("Min-Max\n"); break; case 2: printf("Suite-Carré-Somme\n"); break; case 3: printf("Echec\n"); break; default: printf("erreur"); } return 0; } Ué mon premeir menu mé le prof ve kil soit un pe plus convivial => kil soit center , encadrer , é avec un efface écran ! mogwai met toi prof je comprend mieux avec toi ke mon prof Il affiche des trucs, mais ne calcule rien, normal? ui normale c jsute le menu les prog je dois les faire aprés héhé ca fé ke 3 semaine je fé du c avec 4h de cours par semaine Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Le concept, en lui-même je le connais à peu près, c'est sa mise en applications qui pour l'instant me chagrine... Ca me semble pas naturel...Mais je vais essayer de recup soit un cours d'objet, soit un cours de GTK... Comme exemple...euh..... Un jeu de stratégie genre Warcraft chaque unité est un objet. Chaque unité hérite de l'objet unité de base à laquelle tu lui rajoutes ses propres specs.... Moi, mon pb, c'est la notion de Template. J'en ai peu entendu parler, mais je ne sais pas à quoi ça sert et comment ça fonctionne Pour les fous du C/C++, deux petits tests (en anglais), 1 facile, 1 plus dur http://www.cpp-home.com/tests/ind.php J'ai TP de C dans 30min... Encore des prog à la con que j'aurais torché en 5min... Vais me faire chier, vais boire du café pour passer le temps... Enfin tout ça tout ça... Pour vous donner une idée du niveau où on en est rendu, je mets mon code pour l'exo le plus difficile de la semaine dernière, tout en sachant que je suis aller bien plus loin que la demande du prof (il a pas demandé de malloc, de pointeur ou autres) #include <stdio.h> #define max(a,b) a>b?a:b #define min(a,b) a<b?a:b int main () { int *tab; int i,n; int maxi,mini; /*Saisie du nombre de valeurs*/ printf("Combien de valeur voulez-vous comparer ?\n"); scanf("%d",&n); /*On crée le tableau tab et on l'initialise à 0*/ tab=(int *)calloc(n,sizeof(int)); /*Saisie du premier nombre*/ printf("Donnez le premier entier\n"); scanf("%d",&tab[0]); maxi=tab[0]; /*On utilise le premier nombre pour "initialiser" le maximum*/ mini=tab[0]; /*On utilise le premier nombre pour "initialiser" le minimum*/ /*Saisie des nombres suivants*/ for(i=1;i<n;i++) { printf("Donnez le %de entier\n",i+1); scanf("%d",&tab[i]); } /*Recherche du maximum et du minimum*/ for(i=0;i<n;i++) { maxi=max(maxi,tab[i]); mini=min(mini,tab[i]); } /*Affichage*/ printf("Le maximum est : %d\n",maxi); printf("Le minimum est : %d\n",mini); } Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 g mis #include<conio.h> et kan je met textcolor(3); il me dis ke ke la variable textcolor n'est déclarer ! i lé con c uen biblioéthéke Lien vers le commentaire Partager sur d’autres sites More sharing options...
mogwai93 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 J'ai TP de C dans 30min... Encore des prog à la con que j'aurais torché en 5min... Vais me faire chier, vais boire du café pour passer le temps... Enfin tout ça tout ça... Moi aussi, c'était le cas, quand j'étais à l'école (oulala ça date !!) sauf que le prof était sympa, il donnait du boulot supplémentaire pour les meilleurs pendant qu'il s'occupait des moins bons. Sauf que, - souvent - le boulot supplémentaire ne suffisait pas. Donc glandage à fond, pendant les cours de prog Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 #include<stdio.h> #include<conio.h> #include<stdlib.h> main() { int choix; { system("cls"); printf("..:MENU:... By M3r v1.0\n\n\n\n\n"); printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",201,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,187); printf("%c --> 1 : ..:Min-Max:.. %c\n",186,186); printf("%c --> 2 : ..:Suite-Carre-Somme:..%c\n",186,186); printf("%c --> 3 : ..:Echec:.. %c\n",186,186); printf("%c --> 4 : ..:Retour:.. %c\n\n\n\n",186,186); printf("Faites votre Choix\n"); scanf("%d", &choix); } switch(choix) { case 1: printf("Min-Max\n"); break; case 2: printf("Suite-Carre-Somme\n"); break; case 3: printf("Echec\n"); break; default: printf("erreur"); } return 0; } je me l'envoie pour finir cette nuit ché c a rendre poyur lundi Lien vers le commentaire Partager sur d’autres sites More sharing options...
rony95 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Félicitations, c'est vraiment incroyable la façon comment vous maîtrisez ce langage!! Moi, j'en suis au début, enfin en 2em année de BTS IG 2 et j'ai l'impression de ne pas du tout avancée! Comment faire, sachant que j'ai 5 projets à faire d'ici la fin de l'année (2 C/C++, 1 VB et VBA et PHP ou ASP...)!! Quelle galère.... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Neo_13 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 J'ai TP de C dans 30min... Encore des prog à la con que j'aurais torché en 5min... Vais me faire chier, vais boire du café pour passer le temps... Enfin tout ça tout ça... Moi aussi, c'était le cas, quand j'étais à l'école (oulala ça date !!) sauf que le prof était sympa, il donnait du boulot supplémentaire pour les meilleurs pendant qu'il s'occupait des moins bons. Sauf que, - souvent - le boulot supplémentaire ne suffisait pas. Donc glandage à fond, pendant les cours de prog Moi, le prof est un boulet... Alors, je fais des essais, entre macro dans le préprocess et une fonction standard par ex... (cf plus haut, #define...) Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 Félicitations, c'est vraiment incroyable la façon comment vous maîtrisez ce langage!! Moi, j'en suis au début, enfin en 2em année de BTS IG 2 et j'ai l'impression de ne pas du tout avancée! Comment faire, sachant que j'ai 5 projets à faire d'ici la fin de l'année (2 C/C++, 1 VB et VBA et PHP ou ASP...)!! Quelle galère.... Lol je suis en ig1 ta 1 an de plus ke moi Lien vers le commentaire Partager sur d’autres sites More sharing options...
rony95 Posté(e) le 10 octobre 2003 Partager Posté(e) le 10 octobre 2003 Félicitations, c'est vraiment incroyable la façon comment vous maîtrisez ce langage!! Moi, j'en suis au début, enfin en 2em année de BTS IG 2 et j'ai l'impression de ne pas du tout avancée! Comment faire, sachant que j'ai 5 projets à faire d'ici la fin de l'année (2 C/C++, 1 VB et VBA et PHP ou ASP...)!! Quelle galère.... Lol je suis en ig1 ta 1 an de plus ke moi Bein alors, je tiens à te souhaiter bonne chance!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
M3rCo Posté(e) le 10 octobre 2003 Auteur Partager Posté(e) le 10 octobre 2003 Merci en espérant ke tu va décropcher ton bts Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.