Originariamente inviato da katesweet
salve a tutti..sono alle prime armi con il linguaggio c...volevo scrivere un programma che mi facesse il prodotto di due numeri(che inserisco io da tastiera),fin quando il loro prodotto sia minore di 36.
solo che il programma mi fa tutto il contrario.
esegue solo il prodotto di due numeri il cui risultato è > 36 e ci aggiunge pure un'unita.
ecco quello che ho scritto,dove è il problema?
#include<stdio.h>
#include<iostream>
int main (){
int add1;
int add2;
int moltiplicazione=36;
int i;
printf("Immetti il primo numero\n");
scanf("%d", &add1);
printf("Immetti il secondo numero\n");
scanf("%d", &add2);
for(i=0; i<= moltiplicazione;i++) {
i=add1*add2;
}
printf("il risultato è %d\n",i);
system("PAUSE");
return 0;
}
Ben arrivato nel forum di HTML.it
Ti dico subito 2 cose:
1. nel titolo si deve indicare, in linea molto generale, il tipo di problema riscontrato
2. includere il codice nei tag "CODE".
Erano doverose queste due precisazioni, tuttavia andiamo al problema.
Non capisco in realtà quale sia il problema, o meglio: quando il prodotto risulta maggiore di 36, cosa deve succedere? Deve terminare il programma? La questione è tutta qui, ovviamente per vedere se il risultato è > 36 occorre svolgere il prodotto, ma non come hai fatto (il tuo ciclo for mi spaventa....); forse volevi fare una cosa del genere:
codice:
int add1;
int add2;
int prodotto;
printf("Immetti il primo numero\n");
scanf("%d", &add1);
printf("Immetti il secondo numero\n");
scanf("%d", &add2);
prodotto = add1 * add2;
if (prodotto>=36)
prodotto++;
Inoltre, per una maggiore correttezza formale, dichiarerei "moltiplicazione" come una costante e non come una variabile, visto che il suo valore non cambia.