telecomakram
Messages postés14Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 2 décembre 2007
-
31 oct. 2007 à 16:43
telecomakram
Messages postés14Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 2 décembre 2007
-
1 nov. 2007 à 17:01
Bonjour;
je cherche à écrire une fonction en C qui permet de faire des opérations de base soient : multiplication, division, addition et soustraction. L'utilisation des parenthèses n'est pas possible.
• Les opérandes et opérateurs sont demandés les uns à la suite des autres, • Le résultat est calculé au fur et à mesure
, ----
• Seul le résultat final est affiché
, ----
• On doit alors alterner la saisie d'un opérande, puis d'un opérateur, puis d'un opérande, puis d'un opérateur, etc.
• L'affichage du résultat est effectué après la saisie de l'opérateur "="
, ----
Exemple: 1¬+¬2¬*¬4¬=@ Resultat = 12
, ----
(¬ représente un espace, @ un retour charriot)
mon probleme c que il faut ecrire cette fonction sans utilisation des tableaux ou des pointeur je sais pas comme faire
j'ai écrit cette fonction mais s'a marche pas .
*------------------------------*
void base (void)
{
char opt;
float nbr,res;
int i;
res=0;
i=1;
while(opt!='=')
{
printf (" Tapez nombre %d :",i);
scanf ("%f",&nbr);
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 1 nov. 2007 à 16:57
T'as lu ce que j'ai écrit ?
D'abord prendre une valeur initiale HORS de la boucle
puis ensuite la séquence opérateur-opérande.
Parce que pour l'instant avec son exemple 1¬+¬2¬*¬4¬=@ Resultat = 12 on obtient:
res=0;
entrée 1,+
res=res+1=1;
entrée 2,*
res=res*2=2;
entrée 4,=
res=2;
et voilà c'est loupé.
tandis que dans le sens que j'ai mentionné :
entrée init. 1
res=1;
entrée +,2
res=res+2=3
entrée *,4
res=res*4=12
entrée = donc jump sortie
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 1 nov. 2007 à 09:45
tu fais les opérations dans le mauvais sens :
demande d'abord une valeur initiale puis dans ta boucle prends à chaque fois d'abord l'opérateur, ensuite l'opérande.