Advertisement
NelloRizzo

Struct Enums e Properties

Nov 6th, 2018
408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ComplexTypes
  8. {
  9.     class Program
  10.     {
  11.         /*
  12.          * Implementare una rubrica telefonica
  13.          *
  14.          * Una [rubrica telefonica] è un insieme di n [contatti].
  15.          *
  16.          * Cos'è un contatto?
  17.          * Un [contatto] è una entità caratterizzata da un [nome] e una serie
  18.          * di [numeri telefonici] un [genere].
  19.          * Un [nome] è una [sequenza di caratteri], cioè una stringa.
  20.          * Un [numero telefonico] è una [sequenza di cifre], cioè una stringa...
  21.          * Il [genere] può essere [uomo o donna].
  22.          *
  23.          * +------------------+
  24.          * | Contatto         |
  25.          * +--------------+---+
  26.          * |   nome       | S |
  27.          * |   numeri     | E | Elenco di stringhe
  28.          * |   genere     | ? |
  29.          * +--------------+---+
  30.          *
  31.          * */
  32.  
  33.         enum Genere
  34.         {
  35.             Uomo, Donna, Altro
  36.         }
  37.  
  38.         struct Contatto
  39.         {
  40.             string nome;
  41.             string numerotelefonico;
  42.             public Genere Genere { get; set; }
  43.  
  44.             //public void modificaNome(string nuovoNome)
  45.             //{
  46.             //    nome = nuovoNome;
  47.             //}
  48.             //public string dammiNome() { return nome; }
  49.             public string Nome
  50.             {
  51.                 get { return nome; }
  52.                 set { nome = value; }
  53.             }
  54.             //public void modificaTelefono(string tel)
  55.             //{
  56.             //    bool telefonovalido = true; // meccanismo di controllo
  57.             //    if (telefonovalido)
  58.             //        numerotelefonico = tel;
  59.             //    else
  60.             //        Console.WriteLine("Numero di telefono non consentito");
  61.             //}
  62.             //public string dammiTelefono() { return numerotelefonico; }
  63.             public string Telefono
  64.             {
  65.                 get { return numerotelefonico; }
  66.                 set
  67.                 {
  68.                     bool telefonovalido = true; // meccanismo di controllo
  69.                     if (telefonovalido)
  70.                         numerotelefonico = value;
  71.                     else
  72.                         Console.WriteLine("Numero di telefono non consentito");
  73.                 }
  74.             }
  75.         }
  76.  
  77.         static void saluta(Contatto c)
  78.         {
  79.             if (c.Genere == Genere.Uomo)
  80.                 Console.WriteLine("Buongiorno, signor {0}", c.Nome);
  81.             else
  82.                 Console.WriteLine("Buongiorno, signora {0}", c.Nome);
  83.         }
  84.  
  85.         static void Main(string[] args)
  86.         {
  87.             Contatto p = new Contatto() { Genere = Genere.Uomo };
  88.             p.Nome = "Paperino";
  89.             p.Telefono = "1234567";
  90.  
  91.             Console.WriteLine("Nome: {0}\t\ttel: {1}", p.Nome, p.Telefono);
  92.  
  93.             Contatto a = new Contatto() { Genere = Genere.Uomo };
  94.             a.Telefono = "3.1415926";
  95.             a.Nome = "Archimede";
  96.             Console.WriteLine("Nome: {0}\t\ttel: {1}", a.Nome, a.Telefono);
  97.  
  98.             Contatto pp = new Contatto()
  99.             { Nome = "Paperone", Telefono = "999999", Genere = Genere.Uomo };
  100.             Console.WriteLine("Nome: {0}\t\ttel: {1}", pp.Nome, pp.Telefono);
  101.  
  102.             saluta(p);
  103.             saluta(a);
  104.             saluta(pp);
  105.  
  106.         }
  107.     }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement