153 lines
6.6 KiB
C#
153 lines
6.6 KiB
C#
namespace rettangolo;
|
|
|
|
class Program {
|
|
static void Main(string[] args) {
|
|
Console.Clear();
|
|
|
|
double altezza, segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura;
|
|
int scelta;
|
|
Rettangolo forma1 = null, forma2 = null;
|
|
|
|
do {
|
|
Console.WriteLine("Inserire un'opzione:");
|
|
Console.WriteLine("1. Crea 2 rettangoli");
|
|
Console.WriteLine("2. Mostra rettangoli");
|
|
Console.WriteLine("3. Mostra area e perimetro rettangoli");
|
|
Console.WriteLine("4. Modifica rettangoli"); ;
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
|
|
switch (scelta) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
Console.Clear();
|
|
do {
|
|
Console.Write("Inserire la base del primo rettangolo: ");
|
|
segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura = Convert.ToDouble(Console.ReadLine());
|
|
if (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0) {
|
|
Console.WriteLine("Errore: la base non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0);
|
|
|
|
do {
|
|
Console.Write("Inserire l'altezza del primo rettangolo: ");
|
|
altezza = Convert.ToDouble(Console.ReadLine());
|
|
if (altezza <= 0) {
|
|
Console.WriteLine("Errore: la altezza non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (altezza <= 0);
|
|
|
|
forma1 = new Rettangolo(segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura, altezza);
|
|
|
|
do {
|
|
Console.Write("Inserire la base del secondo rettangolo: ");
|
|
segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura = Convert.ToDouble(Console.ReadLine());
|
|
if (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0) {
|
|
Console.WriteLine("Errore: la base non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0);
|
|
|
|
do {
|
|
Console.Write("Inserire l'altezza del secondo rettangolo: ");
|
|
altezza = Convert.ToDouble(Console.ReadLine());
|
|
if (altezza <= 0) {
|
|
Console.WriteLine("Errore: la altezza non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (altezza <= 0);
|
|
|
|
forma2 = new Rettangolo(segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura, altezza);
|
|
|
|
Pausa();
|
|
break;
|
|
case 2:
|
|
Console.Clear();
|
|
if (forma1 == null || forma2 == null) {
|
|
Console.WriteLine("Errore: è necessario creare i 2 rettangoli prima di mostrarli");
|
|
}
|
|
else {
|
|
StampaRettangoli(forma1, forma2);
|
|
}
|
|
Pausa();
|
|
break;
|
|
case 3:
|
|
Console.Clear();
|
|
if (forma1 == null || forma2 == null) {
|
|
Console.WriteLine("Errore: è necessario creare i 2 rettangoli prima di mostrarne area e perimetro");
|
|
}
|
|
else {
|
|
StampaAreaEPerimetro(forma1, forma2);
|
|
}
|
|
Pausa();
|
|
break;
|
|
case 4:
|
|
Console.Clear();
|
|
if (forma1 == null || forma2 == null) {
|
|
Console.WriteLine("Errore: è necessario creare i 2 rettangoli prima di modificarli");
|
|
}
|
|
else {
|
|
do {
|
|
Console.Write("Inserire l'altezza del primo rettangolo: ");
|
|
altezza = Convert.ToDouble(Console.ReadLine());
|
|
if (altezza <= 0) {
|
|
Console.WriteLine("Errore: la altezza non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (altezza <= 0);
|
|
|
|
forma1.SetAltezza(altezza);
|
|
|
|
do {
|
|
Console.Write("Inserire la base del secondo rettangolo: ");
|
|
segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura = Convert.ToDouble(Console.ReadLine());
|
|
if (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0) {
|
|
Console.WriteLine("Errore: la base non può essere minore o uguale a zero");
|
|
}
|
|
}
|
|
while (segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura <= 0);
|
|
|
|
forma2.setSegmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura(segmentoConDiversoTipoDiLunghezzaApparteneteAllaFigura);
|
|
|
|
StampaRettangoli(forma1, forma2);
|
|
|
|
StampaAreaEPerimetro(forma1, forma2);
|
|
}
|
|
Pausa();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Opzione non valida.");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
while (scelta != 0);
|
|
}
|
|
|
|
static void Pausa() {
|
|
Console.WriteLine("Premere un tasto per continuare. . .");
|
|
Console.ReadKey();
|
|
Console.Clear();
|
|
}
|
|
|
|
static void StampaRettangoli(Rettangolo p_forma1, Rettangolo p_forma2) {
|
|
Console.WriteLine("Rettangolo 1:");
|
|
p_forma1.StampaRettangolo();
|
|
Console.WriteLine("\nRettangolo 2");
|
|
p_forma2.StampaRettangolo();
|
|
}
|
|
|
|
static void StampaAreaEPerimetro(Rettangolo p_forma1, Rettangolo p_forma2) {
|
|
Console.WriteLine("Rettangolo 1:");
|
|
Console.WriteLine($"Area: {p_forma1.CalcolaArea()}");
|
|
Console.WriteLine($"Perimetro: {p_forma1.CalcolaPerimetro()}");
|
|
Console.WriteLine("\nRettangolo 2");
|
|
|
|
Console.WriteLine($"Area: {p_forma2.CalcolaArea()}");
|
|
Console.WriteLine($"Perimetro: {p_forma2.CalcolaPerimetro()}");
|
|
}
|
|
} |