Problème de débutant ...

thedivxboy Messages postés 15 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 novembre 2004 - 12 nov. 2004 à 14:05
cs_6co Messages postés 114 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 5 avril 2012 - 12 nov. 2004 à 15:50
Bonjour, je suis en train d'apprendre le C en bacalauréat mais comme les élèves et les profs ne vont pas assez vite pour moi, je m'entraîne à faire de petits programmes chez moi 8-)

A l'école on nous a fourni Borland C++ 3.1 (oui je sais mdrrr).

J'ai fait ce code (en fait 2 fois la même chose à peu de chose près), mais une fois que j'ajoute la deuxième partie, plus rien ne va ... guidez moi :)

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

void main() {
char _[20]="_______________",i,choix,choix2,menu[][20]={"1. Additionner","2. Soustraire","3. Multiplier","4. Diviser","5. Modulo"},sm=sizeof(menu)/20,
sous_menu[][20]={"1. Décimal","2. Binaire","3. Ternaire","4. Octal","Hexadécimal"},ssm=sizeof(sous_menu)/20;

// 1èere partie

printf("%s",_);
gotoxy(1,2);
printf(" Menu : |\n |");
gotoxy(1,sm+4);
printf("%s|",_);

for (i=0;i<sm;i++) {
gotoxy(1,i+4);
printf("%s\n",menu[i]);
gotoxy(16,i+4);
printf("|");
}

gotoxy(1,sm+6);

do {
printf("Veuillez entrer le numéro d'un des éléments du menu ci-dessus : ");
scanf("%d",&choix);

} while(choix<1 || choix>sm);

printf("\nVous avez choisi le choix "%s"",menu[choix-1]);

// 2ème partie

gotoxy(17,1);
printf("%s",_);
gotoxy(17,2);
printf(" Sous-menu : |\n |");
gotoxy(17,ssm+4);
printf("%s|",_);

for (i=0;i<ssm;i++) {
gotoxy(17,i+4);
printf("%s\n",sous_menu[i]);
gotoxy(33,i+4);
printf("|");
}

gotoxy(1,ssm+14);

do {
printf("Veuillez entrer le numéro d'un des éléments du sous-menu ci-dessus : ");
scanf("%d",&choix2);

} while(choix2<1 || choix2>ssm);

printf("\nVous avez choisi le choix "%s"",sous_menu[choix2-1]);

}

3 réponses

cs_6co Messages postés 114 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 5 avril 2012 1
12 nov. 2004 à 15:14
qu'entends tu par plus rien ne va ???
je viens de tester ton code, il compile nickel et je vois pas de prob majeur
0
thedivxboy Messages postés 15 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 27 novembre 2004
12 nov. 2004 à 15:32
Ha bon ... moi il me fait défiler la phrase "Veuillez entrer le numéro d'un des éléments du sous-menu ci-dessus :" sans arrêt !

Tu as quel compilateur ?
0
cs_6co Messages postés 114 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 5 avril 2012 1
12 nov. 2004 à 15:50
je compile avec dev-c++

si ça ne va pas, vérifie donc la valeur de ton ssm en cours de prog (à tout hasard) :
printf("%i \n\n",ssm);

si je saisis bien ta phrase <>, tu me dis que le prog ne s'arrête pas en attendant réponse de ta part ? à ce moment là, remplace
scanf("%d",&choix2);
par :
choix2=(char)getch()-48;

(getch te renvoie un entier correspondant à la touche frappée de ton clavier, en enlevant 48 (valeur ascii de zéro), tu obtiens la valeur désirée)
0
Rejoignez-nous