Opzione 2

This commit is contained in:
La Programmatrice Verde 2025-01-17 18:34:28 +01:00
parent 5e25bae12b
commit 1586311489
9 changed files with 154 additions and 40 deletions

View File

@ -1,11 +1,12 @@
namespace ripasso4; namespace ripasso4;
class Program { class Program {
const int dimensione = 25; const int dimensione = 5;
static void Main(string[] args) { static void Main(string[] args) {
Console.Clear(); Console.Clear();
//dichiarazione e inizializzazione variabili //dichiarazione e inizializzazione variabili
int scelta; int scelta;
string[] arrayNomi = new string[dimensione], arrayCognomi = new string[dimensione];
//menu //menu
do { do {
@ -29,7 +30,9 @@ class Program {
break; break;
case 2: case 2:
Console.Clear(); Console.Clear();
CreaVettoriParalleli(); CreaVettoriParalleli(arrayCognomi, arrayNomi);
ControllaVettoriParalleli(arrayCognomi, arrayNomi);
CercaAlunni(arrayCognomi, arrayNomi);
Pausa(); Pausa();
break; break;
case 3: case 3:
@ -45,21 +48,22 @@ class Program {
} }
while (scelta != 0); while (scelta != 0);
} }
static void StampaArray(int[] p_insieme) { static void StampaArray(string[] p_insieme) {
for (int j = 0; j < p_insieme.Length; j++) { for (int j = 0; j < p_insieme.Length; j++) {
Console.WriteLine("Elemento " + j + ": " + p_insieme[j]); Console.WriteLine("Elemento " + j + ": " + p_insieme[j]);
} }
} }
static int[] CreaVettoreOrdinato() { static string[] CreaVettoreOrdinato() {
int[] arrayCasuale = CreaArrayCasuale(), ritorno = new int[dimensione]; int[] arrayCasuale = CreaArrayCasuale();
string[] ritorno = new string[dimensione];
int indiceDecrescenteArray = dimensione - 1, indiceCrescenteArray = 0; int indiceDecrescenteArray = dimensione - 1, indiceCrescenteArray = 0;
for (int i = 0; i < dimensione; i++) { for (int i = 0; i < dimensione; i++) {
if (arrayCasuale[i] % 2 != 0) { if (arrayCasuale[i] % 2 != 0) {
ritorno[indiceDecrescenteArray] = arrayCasuale[i]; ritorno[indiceDecrescenteArray] = Convert.ToString(arrayCasuale[i]);
indiceDecrescenteArray--; indiceDecrescenteArray--;
} }
else { else {
ritorno[indiceCrescenteArray] = arrayCasuale[i]; ritorno[indiceCrescenteArray] = Convert.ToString(arrayCasuale[i]);
indiceCrescenteArray++; indiceCrescenteArray++;
} }
} }
@ -92,42 +96,152 @@ class Program {
} }
return ritorno; return ritorno;
} }
static void CreaVettoriParalleli() { static void CreaVettoriParalleli(string[] p_arrayCognomi, string[] p_arrayNomi) {
string nome, cognome;
string[] arrayNomi = new string [dimensione], arrayCognomi = new string [dimensione]; for (int i = 0; i < dimensione; i++) { //Inserimento nomi e cognomi
Console.Clear();
//Inserimento cognomi
Console.Write("Inserire il cognome dell'alunno n." + (i + 1) + ": ");
p_arrayCognomi[i] = Console.ReadLine();
Console.Clear();
//Inserimento nomi
Console.Write("Inserire il nome dell'alunno n." + (i + 1) + ": ");
p_arrayNomi[i] = Console.ReadLine();
}
}
static void ControllaVettoriParalleli(string[] p_arrayCognomi, string[] p_arrayNomi){
string correzione;
uint elemento;
char scelta; char scelta;
for (int i = 0; i< dimensione; i++){
do { do {
Console.Write("Inserire il nome dell'alunno n." + (i + 1) + ": "); Console.Clear();
nome = Console.ReadLine(); Console.WriteLine("Cognomi: ");
StampaArray(p_arrayCognomi);
Console.WriteLine();
Console.WriteLine("Nomi: ");
StampaArray(p_arrayNomi);
Console.WriteLine("Nome inserito: " + nome);
do{
Console.Write("È corretto? [S/N] "); Console.Write("È corretto? [S/N] ");
scelta = Convert.ToChar(Console.ReadLine()); scelta = Convert.ToChar(Console.ReadLine());
switch (scelta) { switch (scelta) {
case 'S': case 'S':
arrayNomi[i] = nome;
break; break;
case 'N': case 'N':
Console.Clear();
do {
Console.Write("Modificare la lista dei nomi o dei cognomi? ");
correzione = Console.ReadLine();
if (correzione != "nomi" && correzione != "cognomi") {
Console.WriteLine("Opzione non valida. Inserire [nomi] o [cognomi].");
Pausa();
}
}
while (correzione != "nomi" && correzione != "cognomi");
Console.Clear();
do {
switch (correzione) {
case "nomi":
StampaArray(p_arrayNomi);
break;
case "cognomi":
StampaArray(p_arrayCognomi);
break;
}
Console.WriteLine();
Console.Write("Digitare il numero dell'elemento sbagliato: ");
elemento = Convert.ToUInt32(Console.ReadLine());
if (elemento < 0 || elemento > dimensione - 1) {
Console.WriteLine("Numero di elemento non valido, inserire un numero compreso tra 0 e " + (dimensione - 1));
Pausa();
}
}
while (elemento < 0 || elemento > dimensione - 1);
Console.Clear();
switch (correzione) {
case "nomi":
Console.WriteLine("Elemento precedente: " + p_arrayNomi[elemento]);
break;
case "cognomi":
Console.WriteLine("Elemento precedente: " + p_arrayCognomi[elemento]);
break;
}
Console.WriteLine();
Console.Write("Inserire il nuovo elemento: ");
switch (correzione) {
case "nomi":
p_arrayNomi[elemento] = Console.ReadLine();
break;
case "cognomi":
p_arrayCognomi[elemento] = Console.ReadLine();
break;
}
break; break;
default: default:
Console.WriteLine("Opzione non valida, inserire [S] o [N]"); Console.WriteLine("Opzione non valida, inserire [S] o [N]");
Pausa();
break; break;
} }
} }
while (scelta != 'S' && scelta != 'N'); while (scelta != 'S');
} }
while (true); static void CercaAlunni(string[] p_arrayCognomi, string[] p_arrayNomi) {
Console.Write("Inserire il cognome dell'alunno n." + (i +1) + ": "); Console.Clear();
cognome = Console.ReadLine();
Console.WriteLine("Cognome inserito: " + cognome);
arrayCognomi[i]= cognome;
//dichiarazione e inizializzazione variabili
string daCercare;
int i = 0, indiceOccorrenze = 0;
bool daCercareEsiste = false;
const int valoreNonValido = -1;
int[] luogoOccorrenze = new int[dimensione];
for (int j=0; j<dimensione; j++){
luogoOccorrenze[j] = valoreNonValido;
}
do{
Console.Write("Per quale nome cercare? ");
daCercare = Console.ReadLine();
i = 0;
for (; i<dimensione; i++){
if (p_arrayNomi[i] == daCercare){ //se daCercare è un nome che esiste
daCercareEsiste = true;
luogoOccorrenze[indiceOccorrenze] = i;
indiceOccorrenze++;
}
Console.WriteLine("Debug i: " + i);
}
if(!daCercareEsiste){
Console.WriteLine("Il nome inserito non è stato trovato nella lista dei nomi, inserire un nome valido e riprovare");
Pausa();
}
}
while (!daCercareEsiste);
Console.Clear();
Console.WriteLine("I cognomi che corrispondono al nome " + daCercare + " sono:");
for (int j = 0; luogoOccorrenze[j]!=valoreNonValido; j++) {
Console.WriteLine(p_arrayCognomi[luogoOccorrenze[j]]);
} }
} }
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,10 +13,10 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("ripasso4")] [assembly: System.Reflection.AssemblyCompanyAttribute("ripasso4")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e8843050db6b4d19816cf63a31bbaa82359c8964")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5e25bae12bffb762799385dca316b421094df672")]
[assembly: System.Reflection.AssemblyProductAttribute("ripasso4")] [assembly: System.Reflection.AssemblyProductAttribute("ripasso4")]
[assembly: System.Reflection.AssemblyTitleAttribute("ripasso4")] [assembly: System.Reflection.AssemblyTitleAttribute("ripasso4")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class. // Generato dalla classe WriteCodeFragment di MSBuild.

View File

@ -1 +1 @@
10627c30a690b27d79ddd11f8bd54e24e204fff9d086abaefc11a68f49b540f0 0acebe587ea036e7bc5b2ebd780d276040dd0061050ec63fb03b11fe5f4dfeed

Binary file not shown.

Binary file not shown.