Il programma funziona, ma non fà quello che deve fare e non rispetta la traccia, dove ho sbagliato?
Codice: Seleziona tutto
//02 - COSTRUTTI DI SELEZIONE - PARTE 1
//17) Dato un valore intero stampare "ciao" se è minore di 5 o maggiore di 12 ma diverso da 3.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n1;
printf("\nInserisci il 1° valore: ");
scanf("%d", &n1);
if (n1 < 5)
printf("Ciao\n");
if (n1 > 12 && n1 != 3)
printf("Ciao\n");
else
printf("Il valore non è accettabile\n");
}
L'altro esercizio mi dà l'errore nel cast, come mai?
Dove ho sbagliato?
Codice: Seleziona tutto
//02 - COSTRUTTI DI SELEZIONE - PARTE 1
//15) Dati un valore reale, dire se il valore ha oppure
//non ha cifre dopo la virgola diverse da zero.
#include <stdio.h>
#include <stdlib.h>
int main()
{
float n1;
int temp;
printf("\nInserisci il 1° valore: ");
scanf("%f", &n1);
if (n1 == temp) {
temp = int(n1);
printf("Non ha cifre dopo la virgola %d.\n",temp);
if (n1 != temp) {
n1 = n1 - temp;
printf("Il valore ha cifre dopo la virgola: %.2f\n",n1);
}
}
else
printf("Valore non accettabili\n");
}
L'altro esercizio, il programma esegue senza errori, ma non fa nulla, dove ho sbagliato?
Codice: Seleziona tutto
//02 - COSTRUTTI DI SELEZIONE - PARTE 1
//08) Dati 2 interi stampare il secondo solo se la somma di due interi
//è inferiore a 15 oppure se il prodotto dei due è superiore a 100.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n1, n2, somma, prodotto;
printf("\nInserisci il 1° valore: ");
scanf("%d", &n1);
printf("Inserisci il 2° valore: ");
scanf("%d", &n2);
if (somma <= 15) {
somma = n1 + n2;
printf("%d + %d = %d\n",n1, n2, somma);
if (prodotto >= 100) {
prodotto = n1 * n2;
printf("%d * %d = %d\n", n1, n2, prodotto);
}
else
printf("I valori richiesti non corrispondono ( <= 15 oppure >= 100\n");}
}