Esercizio 1.2

 avatar
antoniofuscellaro
c_cpp
13 days ago
1.7 kB
3
Indexable
#include<stdio.h>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<math.h>

int main(){
	int input, prodottoT, prodotto;
	bool esegui=true;
	//input è solo il valore digitato, prodotto è il risultato finale, prodottoT sta per prodotto temporaneo usato durante le operazioni.
	printf("Immetti un numero intero per il prodotto. Se immetti 36 il programma termina. \n");
	prodottoT=1;
	//assegno a prodottoT un valore prima del do while per evitare che ad ogni ciclo sia assegnato il valore 1.
	do{
		scanf("%d", &input);
		if(input != 36){
			if((input != 11)&&(esegui)){
				prodottoT= prodottoT * input;
				//questo prodotto avviene solo se input è diverso da 36, 11, e se non è mai stato digitato 11.
			}else{  
				if(input==22){
					esegui=true;
					//se l'input è 22 allora gli diciamo di continuare a eseguire il prodotto, ma solo dal numero digitato dopo il 22.
				}else{
					esegui=false;
					//se l'input è 1. Diverso da 36, 2. Digitato dopo un 11, 3. Diverso da un 22, allora NON eseguire il prodotto.
				}
			}
			printf("Moltiplichero' il prossimo numero? %s \n", esegui ? "Vero" : "Falso"); 
			//Serve a controllare se i numeri successivi verranno Moltiplicati o Ignorati
			printf("Digita il prossimo numero: \n");
		}else{
			prodotto= prodottoT;
			//se il numero digitato è 36 allora assegna al prodotto finale il valore dell'ultima moltiplicazione.
		}		
	}while (input != 36);
	//usiamo il do while e non il while perchè senza sapere se il primo numero digitato sia diverso da 36 non possiamo procedere
	printf("Prodotto= %d\n", prodotto);
	system("PAUSE");
	return 0;
}
Editor is loading...
Leave a Comment