cs_alexis69
Messages postés7Date d'inscriptionlundi 19 novembre 2007StatutMembreDernière intervention20 novembre 2007
-
19 nov. 2007 à 10:09
dabasarr
Messages postés1Date d'inscriptionjeudi 27 décembre 2007StatutMembreDernière intervention27 décembre 2007
-
27 déc. 2007 à 17:07
Alors voilà. J'ai coder un petit code avec un menu. À la fin de mon switch j'ai ajouté l'option default comme ça si une personne tape autre chose que 123 ou 4 Ça affiche une erreur.
Seulement quand je test mon programme quand je tape abc ou un nombre différent. Ça me met comme çi j'avais séléctionner 2 Voiçi le code :
#include <stdio.h>
#include <stdlib.h>
// Script codé par @lexis69.
// Essaie de coder une calculatrice.
int main(int argc, char *argv[])
{
// Déclare la variable qui va permettre avec l'aide des conditions de faire un calcul du choix de
// l'utilisateur.
long ChoixMenuCalculette;
// J'affiche le créateur, et j'indique que le menue est présent si dessous.
printf("Calculatrice coder par @lexis69. Menu : \n\n");
// Le menu démarre içi. Je montre les choix proposé.
printf("1. Addition.\n");
printf("2. Soustraction.\n");
printf("3. Multiplication.\n");
printf("4. Division.\n");
printf("\n1, 2, 3 ou 4 ? :\n");
scanf("%ld",&ChoixMenuCalculette);
switch (ChoixMenuCalculette) {
case 1:
printf("Menu Addition.\n");
break;
case 2:
printf("Menu Soustraction.\n");
break;
case 3:
printf("Menu Multiplication.\n");
break;
case 4:
printf("Menu Division.\n");
break;
default:
printf("Saisie incorrecte\n");
break;
}
system("PAUSE>>nul");
}
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 19 nov. 2007 à 10:51
Salut
L'information demander à l'utilisateur est un caractère, aussi l'information receuillit est un caractère:
#include <stdio.h>
#include <stdlib.h>
// Script codé par @lexis69.
// Essaie de coder une calculatrice.
int main(int argc, char *argv[])
{
// Déclare la variable qui va permettre avec l'aide des conditions de faire un calcul du choix de
// l'utilisateur.
char ChoixMenuCalculette; // J'affiche le créateur, et j'indique que le menue est présent si dessous.
printf("Calculatrice coder par @lexis69. Menu : \n\n");
// Le menu démarre içi. Je montre les choix proposé.
printf("1. Addition.\n");
printf("2. Soustraction.\n");
printf("3. Multiplication.\n");
printf("4. Division.\n");
printf("\n1, 2, 3 ou 4 ? :\n");
scanf("%c",&ChoixMenuCalculette);
switch (ChoixMenuCalculette) {
case '1': printf("Menu Addition.\n");
break;
case '2': printf("Menu Soustraction.\n");
break;
case '3': printf("Menu Multiplication.\n");
break;
case '4': printf("Menu Division.\n");
break;
default:
printf("Saisie incorrecte\n");
break;
}
system("PAUSE>>nul");
}
cs_alexis69
Messages postés7Date d'inscriptionlundi 19 novembre 2007StatutMembreDernière intervention20 novembre 2007 19 nov. 2007 à 11:12
Ah un nouveau problème survient, j'a continuer à coder ma calculette.
Voilà tous va bien coté code c'est que quand je dit le premier nbre que je veut ajouté il me dit érreur ne pas envoyer ...
Voiçi le code :
#include <stdio.h>
#include <stdlib.h>
// Script codé par @lexis69.
// Essaie de coder une calculatrice.
int main(int argc, char *argv[])
{
// Déclare la variable qui va permettre avec l'aide des conditions de faire un calcul du choix de
// l'utilisateur.
char ChoixMenuCalculette;
// J'affiche le créateur, et j'indique que le menue est présent si dessous.
printf("Calculatrice coder par @lexis69. Menu : \n\n");
// Le menu démarre içi. Je montre les choix proposé.
printf("1. Addition.\n");
printf("2. Soustraction.\n");
printf("3. Multiplication.\n");
printf("4. Division.\n");
printf("\n1, 2, 3 ou 4 ? :\n");
scanf("%ld",&ChoixMenuCalculette);
switch (ChoixMenuCalculette) {
case 1:
printf("Menu Addition.\n\n");
// Les variables utilisés pour l'addition. long resultatadd 0, nombre1add 0, nombre2add = 0;
printf("Entrez le premier nombre :");
scanf("%ld", nombre1add);
printf("Entrez le second nombre :");
scanf("%ld", nombre2add);
resultatadd = nombre1add + nombre2add;
printf("L'addition effectue donne comme resultat : %ld", resultatadd);
break;
case 2:
printf("Menu Soustraction.\n");
break;
case 3:
printf("Menu Multiplication.\n");
break;
case 4:
printf("Menu Division.\n");
break;
default:
printf("Saisie incorrecte\n");
break;
}
system("PAUSE>>nul");
}
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 19 nov. 2007 à 11:24
Attention. Déjà toutes les modifications que je t'es apporté n'ont pas été faite....
case '1'. Il est important de de mettre les guillements car maintenant tu testes un caractère.
Pour ta seconde erreur scanf veut l'adresse d'une variable: il faut que tu mettes le & comme tu l'as fait lors de ton premier scanf.
A+
cs_alexis69
Messages postés7Date d'inscriptionlundi 19 novembre 2007StatutMembreDernière intervention20 novembre 2007 19 nov. 2007 à 12:34
Hop moussaillon. Alors voilà un nouveau soucis revient.
La division quelle galère :
Voiçi mon code :
printf("Menu Division.\n");
// Les variables utilisés pour la division long resultatdiv 0, nombre1div 0, nombre2div = 0;
printf("Entrez le premier nombre : ");
scanf("%ld", &nombre1div);
printf("Entrez le second nombre : ");
scanf("%ld", &nombre2div);
resultatdiv = nombre1div / nombre2div;
printf("La division effectue donne comme resultat : %lf", resultatdiv);
break;
Seulement je souhaite que quand je met 5 / 2 il m'affiche 2.5 :)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 19 nov. 2007 à 13:12
Les int sont des integer (entier)
Les double et float permettent de coder des nombres réels
Quand tu déclares : long resultatdiv = 0; le compilo pense que c'est un int.
Il faut toujours décarer le type de tes variables. Ne laisse pas le compilo interpréter ce que tu as voulu faire. met donc: long int si tu veux travailler sur des entiers très grand.
A+
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 20 nov. 2007 à 15:37
Re
J'ai regardé un petit peu ta source et voici quelques commentaires:
Tu n'as toujours pas fait la modif sur les guillemets. Il faut les mettre ABSOLUMENT C'est pas parceque ca marche dans ton cas, que ca marchera toujours...
Autre point aussi très critique, pas de protection lors de la division par 0. Intolérable en c et surtout lorsque l'on programme une calculette.
A+
dabasarr
Messages postés1Date d'inscriptionjeudi 27 décembre 2007StatutMembreDernière intervention27 décembre 2007 27 déc. 2007 à 17:07
#include<stdio.h>
#include<conio.h>
#define n 1
void main()
{
int i,qt[n],prix[n],relicat,montcl, s,qtc,ver,choix;
char pdt[n], code[n], codecl,rep;
clrscr();
printf(" M E N U \a\a\n");
printf(" ------------------------\n\n");
printf("\t\t 1-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
printf("\t\t 2-LA VENTE DES PRODUITS\n");
printf("\t\t 3-LE PRIX TOTAL DE PRODUIT ET LE RELIQUAT A RETOURNER\n");
printf("\t\t 4- POUR QUITTER LE PROGRAMME\n\n\n");
printf(" A VOUS DE CHOISIR\n");
printf(" .........................\n\n\n");
printf("saisir choix\n");
scanf("%d",&choix);
if (choix==1)
{
printf("-SAISIE DE TOUS LES PRODUITS DE L EPICERIE,LEURS QUANTITŠS ET LEURS PRIX\n");
for ( i=0; i<=n; i=i+1)
{
printf("saisir le produit ala position %d\n",i);
scanf("%s",&pdt);
printf("saisir la quantitŠ a la position %d\n",i);
scanf("%d",&qt[i]);
printf("saisir le prix a la position %d\n",i);
scanf("%d",&prix[i]);
printf("saisir le code du produit\n");
scanf("%s",&code[i]);
}
}
if(choix==2)
{
printf("LA VENTE DES PRODUITS\n");
printf("\n");
s=0;
printf("donner le code du produit\n");
scanf("%s",&codecl);
printf("saisir la quantitŠ commandŠe\n");
scanf("%d",&qtc);
printf(" appuyer o pour continuer\n");
scanf("%s",&rep);
while(rep=='o')
{
printf("donner le code du produit\n");
scanf("%s",&codecl);
printf("saisir la quantitŠ commandŠe\n");
scanf("%d",&qtc);
ver=0;
for ( i=0; i<=n; i=i+1)
{
if(codecl==code[i] && qtc<=qt[i])
{
s=s+(prix[i]*qtc);
ver=1;
}
}
if(ver==0)
{
printf("produit non referencŠ ou superieure au stock\n");
}
else
{
printf("appuyer sur o pour continuer\n");
scanf("%s",&rep);
}
}
}
if(choix==3)
{
printf("LE PRIX TOTAL DE PRODUIT ET LE RELIQUAT A RETOURNER\n");
printf("\n");
printf("afficher la somme est %d\n",s);
printf("SAISIR le montant que le client … donner\n");
scanf("%d",&montcl);
relicat=montcl-s;
printf("le relicat est %d\n",relicat);
}
else
{
printf("\t\t\BONNE JOURNEE\n\n");
}
getch();
}