-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathIP.C
More file actions
129 lines (103 loc) · 2.36 KB
/
Copy pathIP.C
File metadata and controls
129 lines (103 loc) · 2.36 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void inputIP();
void classA();
void classB();
void classC();
int octet1, octet2, octet3, octet4;
int networks, address;
//networks- number of networks
//address- number of addresses in each network
int main()
{
char class_input;
clrscr();
printf("\nEnter class: ");
scanf("%c", &class_input);
printf("\nEnter starting IP Address: ");
inputIP();
printf("\nEnter number of networks: ");
scanf("%d", &networks);
printf("\nEnter number of address in each network: ");
scanf("%d", &address);
switch(class_input)
{
case 'a':
case 'A':
if(octet1<0 || octet1>127)
printf("\nInvalid IP");
else
classA();
break;
case 'b':
case 'B':
if(octet1<128 && octet1>191)
printf("\nInvalid IP");
else
classB();
break;
case 'c':
case 'C':
if(octet1<192 && octet1>223)
printf("\nInvalid IP");
else
classC();
break;
default:
printf("\nInvalid Class");
}
getch();
return 0;
}
//---- INPUT STARTING IP ADDRESS ----
void inputIP()
{
printf("\n\t1st Octet: ");
scanf("%d", &octet1);
printf("\n\t2nd Octet: ");
scanf("%d", &octet2);
printf("\n\t3rd Octet: ");
scanf("%d", &octet3);
printf("\n\t4th Octet: ");
scanf("%d", &octet4);
printf("\nThe IP Address entered is %d.%d.%d.%d", octet1, octet2, octet3, octet4);
}
//---- Class A ----
void classA()
{
int i;
printf("\nNetwork\tStarting Address\tEnding Address\n");
for(i=0;i<networks;i++)
{
printf(" %d\t", i+1);
printf(" %d.%d.%d.%d\t", octet1+i,octet2, octet3, octet4);
printf(" %d.%d.%d.%d",octet1+i, octet2, octet3, octet4+address-1);
printf("\n");
}
}
//---- Class B ----
void classB()
{
int i;
printf("\nNetwork\tStarting Address\tEnding Address\n");
for(i=0;i<networks;i++)
{
printf(" %d\t", i+1);
printf(" %d.%d.%d.%d\t", octet1,octet2+i, octet3, octet4);
printf(" %d.%d.%d.%d",octet1, octet2+i, octet3, octet4+address-1);
printf("\n");
}
}
void classC()
{
int i;
printf("\nNetwork\tStarting Address\tEnding Address\n");
for(i=0;i<networks;i++)
{
printf(" %d\t", i+1);
printf(" %d.%d.%d.%d\t", octet1,octet2, octet3+i, octet4);
printf(" %d.%d.%d.%d",octet1, octet2, octet3+i, octet4+address-1);
printf("\n");
}
}