Discussione Ufficiale Programmiamo con Inforge | Esercitazione 02 in C | Livello base

Una Discussione Ufficiale punta a raccogliere tutte le informazioni su un argomento o un fatto di attualità, con costanti aggiornamenti da parte del creatore e dei partecipanti.
Vi ricordo che potete utilizzare i commenti per qualsiasi forma di domanda sugli esercizi, utilizzate questo canale di comunicazione per ricevere maggiori informazioni! ;)
 
anche io partecipo
Messaggio unito automaticamente:

Io lo faccio in C# spero possa andare bene:
C#:
using System;
using System.IO;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Data
    {
        public string Name, Surname;
        public int Age;
        public void Insert(string Name, string Surname, int Age)
        {
            this.Name = Name;
            this.Surname = Surname;
            this.Age = Age;
        }
        public void Remove(string p1)
        {
            if (p1 == Convert.ToString(nameof(Name)))
            {
                this.Name = " ";
            }
            else if (p1 == Convert.ToString(nameof(Age)))
            {
                this.Age = 0;
            }
            else if (p1 == Convert.ToString(nameof(Surname)))
            {
                this.Surname = " ";
            }
        }
        public void Search(object p1)
        {
            if (p1 is string)
            {
                if (Convert.ToString(p1) == this.Name)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Name");
                }
                else if (Convert.ToString(p1) == this.Surname)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Surname");
                }
            }
            else if (p1 is int)
            {
                if (Convert.ToInt32(p1) == this.Age)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Age");
                }
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Data esempio=new Data();
            esempio.Insert("Nome", "Cognome", 30);
            Console.WriteLine($"Nome: {esempio.Name}\nCognome: {esempio.Surname}\nEtà: {esempio.Age}");
            esempio.Remove("Name");
            Console.WriteLine($"Nome: {esempio.Name}\nCognome: {esempio.Surname}\nEtà: {esempio.Age}");
            esempio.Search("Cognome");

        }
    }
}

Dovresti creare una struttura dati per contenere un insieme di "Data"; quindi puoi utilizzare ad esempio un array o un'altra struttura dati che ritieni più opportuna.
Le funzioni di inserimento e ricerca andranno fatte su quell'insieme di dati.

La tua classe Data dovresti modificarla un pò: le variabili di classe vanno bene ma dovresti implementare i metodi getter/setter che agiscono sulle variabili. Per non definire i singoli metodi puoi fare:

Codice:
    public string Name { get; set; }

questo in automatico andrà a generare un metodo string getName() e un metodo void setName(string name);. Altrimenti dovrai crearli tu.
Puoi approfondire qui https://docs.microsoft.com/en-us/do...asses-and-structs/auto-implemented-properties
Poi ti consiglio anche di dare un altro nome alla classe Data; ad esempio Person.

Inizia ad apportare questi cambiamenti se vuoi, poi pubblica quando ci sei e vediamo il resto. ;)
 
ok ho fatto cosi:
C#:
using System;
using System.IO;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Person
    {
        public string Name {get; set;}
        public string Surname {get; set;}
        public int Age {get; set;}
        public void Remove(string p1)
        {
            if (p1 == Convert.ToString(nameof(Name)))
            {
                this.Name = " ";
            }
            else if (p1 == Convert.ToString(nameof(Age)))
            {
                this.Age = 0;
            }
            else if (p1 == Convert.ToString(nameof(Surname)))
            {
                this.Surname = " ";
            }
        }
        public void Search(object p1)
        {
            if (p1 is string)
            {
                if (Convert.ToString(p1) == this.Name)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Name");
                }
                else if (Convert.ToString(p1) == this.Surname)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Surname");
                }
            }
            else if (p1 is int)
            {
                if (Convert.ToInt32(p1) == this.Age)
                {
                    Console.WriteLine($"Elemento {p1} trovato in Age");
                }
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Person esempio=new Person();
            esempio.Age=17;
            esempio.Name="Nome";
            esempio.Surname="Cognome";
            Console.WriteLine($"Nome: {esempio.Name}\nCognome: {esempio.Surname}\nEtà: {esempio.Age}");
            esempio.Remove("Name");
            Console.WriteLine($"Nome: {esempio.Name}\nCognome: {esempio.Surname}\nEtà: {esempio.Age}");
            esempio.Search("Cognome");

        }
    }
}