Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
inserimento di un byte,per verificare che il byte inserito sia corretto, in seguito faccio tre controlli per
verificare la classe dell'indirizzo ip.
Dopo ciò inserisco il numero di host e grazie ad una serie di calcoli riesco a far visualizzare il CIDR e le
sottoreti possibili,ovviamente tutto questo sempre verificando che il numero di host sia compatibile
nella classe in cui stiamo operando.*/
#include<iostream>
#include<cmath>
int byte1,byte2,byte3,byte4,host,bitazero,bitsottoreti,sottoreti,chird;
int main(){
//byte1
cin>>byte1;
while(byte1<1 or byte1>224){
system("cls");
cout<<"L'indirizzo e' di classe d o e, oppure il primo byte e' superiore a 255 o minore di 1.\n";
cin>>byte1;
//byte2
cin>>byte2;
while(byte2<0 or byte2>255){
system("cls");
cin>>byte2;
//byte3
cin>>byte3;
while(byte3<0 or byte3>255){
system("cls");
cin>>byte3;
//byte4
cin>>byte4;
while(byte4<0 or byte4>255){
system("cls");
cin>>byte4;
//classe a
system("cls");
cin>>host;
host=host+3; //broadcast,rete,gateway
while(host<65536 or host>16777216){
system("cls");
cin>>host;
host=host+3; //broadcast,rete,gateway
bitazero=0;
bitazero=bitazero+1;
chird=32-bitazero;
bitsottoreti=32-8-bitazero;
sottoreti=pow(2, bitsottoreti );
// classe b
system("cls");
host=host+3; //broadcast,rete,gateway
while(host<256 or host>65536){
system("cls");
cin>>host;
host=host+3; //broadcast,rete,gateway
bitazero=0;
bitazero=bitazero+1;
chird=32-bitazero;
bitsottoreti=32-16-bitazero;
sottoreti=pow(2, bitsottoreti );
// classe c
system("cls");
cin>>host;
host=host+3; //broadcast,rete,gateway
while(host<1 or host>256){
system("cls");
cin>>host;
host=host+3; //broadcast,rete,gateway
bitazero=0;
bitazero=bitazero+1;
chird=32-bitazero;
bitsottoreti=32-24-bitazero;
sottoreti=pow(2, bitsottoreti );