-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathradice_numerica.c
66 lines (53 loc) · 1.55 KB
/
radice_numerica.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "radice_numerica.h"
#include <stdio.h>
#include <stdlib.h>
void inserisci (){
int max_long = 0;
printf("Inserisci 2 numeri di massimo 4 cifre\n\n");
do{
scanf(" %d", &a);
scanf(" %d", &b);
if(a > 9999 || b > 9999){
printf("Attenzione: input non valido.\n");
max_long = 1;
}
else
max_long = 0;
}while (max_long == 1);
}
int radice_numero (int a){
int buffer = 0;
while (a != 0){
buffer = buffer + (a % 10);
a = a /10;
}
return (buffer % 10) + (buffer / 10);
}
void inizializza (){
AN = a;
BN = b;
RN = a * b;
}
void stampa_radici (){
printf("\n\tRadici:\n\t-1 Numero: %d\n \t-2 Numero: %d\n \t-Radice Prodotto: %d\n", AN, BN, RN);
}
void stampa_prodotto (){
PRD = AN * BN; //prodotto tra le radici numeriche
printf("\nIl Prodotto tra le radici numeriche:\n\t\t %d X %d = %d\n", AN, BN, PRD);
while (PRD > 9){
PRD = radice_numero(PRD);
printf("\tOvvero %d\n", PRD);
}
controllo();
}
void controllo (){
if ( radice_numero(RN) != PRD)
printf ("\nIl risultato è senz'altro errato\n");
else
printf("\nIl risultato è probabilmente corretto\n");
}
void regole (){
printf("\n\n#------------------------------REGOLE------------------------------------#\n");
printf("# La prova del nove è un test di controllo che verifica l'esattezza #\n# del risultato di un'operazione aritmetica tra numeri interi attraverso #\n# il raffronto delle radici numeriche degli operandi e del risultato. #\n");
printf("#------------------------------------------------------------------------#\n\n");
}