C# Aiuto programmazione C# Problema abbastanza semplice! +1!

Stato
Discussione chiusa ad ulteriori risposte.
Ultima modifica:
Supponendo che la data venga inserita secondo questa "sintassi" gg/mm/aaaa puoi provare questo codice, premetto che ci sono metodi piu eleganti per fare ciò che hai rischiesto, io ti posto questo:

Codice:
public bool Bisestile(int Anno)
{
	return Information.IsDate("2/29/" + Anno);
}

private void ControllaData(string Data)
{
	//26/07/1994
	string[] PData = Data.Split("/");
	if (Bisestile(Convert.ToInt32(PData(2)))) {
		switch (PData(1)) {
			case 2:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 30) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 32) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 31) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
		}
	} else {
		switch (PData(1)) {
			case 2:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 29) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
			case 1:
			case 3:
			case 5:
			case 7:
			case 8:
			case 10:
			case 12:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 32) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 31) {
					Interaction.MsgBox("Data valida!");
				} else {
					Interaction.MsgBox("Inserisci una data valida!");
				}
				break;
		}
	}
}

PS: Sezione sbagliata
 
  • Mi piace
Reazioni: h0use
chiedi l'anno o tutta la data inizialmente.
poi se l'anno è divisibile per quattro allora l'anno è bisestile.
adesso ti faccio una domanda, sai usare bene le classi in c#? se si farlo con le classi è facilissimo se no è un po' più complicato perchè i giorni dei mesi non sono regolari quindi per forza dovresti avere un array di costanti..
 
  • Mi piace
Reazioni: h0use
grazie a tutti ma ho risolto in una maniera molto più semplice ma + lunga :)

Codice:
using System;

class prova2
{
	static void Main()
	{
		int g;
		int m;
		int a;
		
Console.WriteLine("Inserisci un giorno valido");
g = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Inserisci un mese valido");
m = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Inserisci un anno valido");
a = Convert.ToInt32(Console.ReadLine());
{
if (g > 31)
Console.WriteLine("DATA NON VALIDA");
else
if (m > 12)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 1)
Console.WriteLine("OK");
else
if (g == 2 && m == 1)
Console.WriteLine("OK");
else
if (g == 3 && m == 1)
Console.WriteLine("OK");
else
if (g == 4 && m == 1)
Console.WriteLine("OK");
else
if (g == 5 && m == 1)
Console.WriteLine("OK");
else
if (g == 6 && m == 1)
Console.WriteLine("OK");
else
if (g == 7 && m == 1)
Console.WriteLine("OK");
else
if (g == 8 && m == 1)
Console.WriteLine("OK");
else
if (g == 9 && m == 1)
Console.WriteLine("OK");
else
if (g == 10 && m == 1)
Console.WriteLine("OK");
else
if (g == 11 && m == 1)
Console.WriteLine("OK");
else
if (g == 12 && m == 1)
Console.WriteLine("OK");
else
if (g == 13 && m == 1)
Console.WriteLine("OK");
else
if (g == 14 && m == 1)
Console.WriteLine("OK");
else
if (g == 15 && m == 1)
Console.WriteLine("OK");
else
if (g == 16 && m == 1)
Console.WriteLine("OK");
else
if (g == 17 && m == 1)
Console.WriteLine("OK");
else
if (g == 18 && m == 1)
Console.WriteLine("OK");
else
if (g == 19 && m == 1)
Console.WriteLine("OK");
else
if (g == 20 && m == 1)
Console.WriteLine("OK");
else
if (g == 21 && m == 1)
Console.WriteLine("OK");
else
if (g == 22 && m == 1)
Console.WriteLine("OK");
else
if (g == 23 && m == 1)
Console.WriteLine("OK");
else
if (g == 24 && m == 1)
Console.WriteLine("OK");
else
if (g == 25 && m == 1)
Console.WriteLine("OK");
else
if (g == 26 && m == 1)
Console.WriteLine("OK");
else
if (g == 27 && m == 1)
Console.WriteLine("OK");
else
if (g == 28 && m == 1)
Console.WriteLine("OK");
else
if (g == 29 && m == 1)
Console.WriteLine("OK");
else
if (g == 30 && m == 1)
Console.WriteLine("OK");
else
if (g == 31 && m == 1)
Console.WriteLine("OK");
else
if (g == 1 && m == 2)
Console.WriteLine("OK");
else
if (g == 2 && m == 2)
Console.WriteLine("OK");
else
if (g == 3 && m == 2)
Console.WriteLine("OK");
else
if (g == 4 && m == 2)
Console.WriteLine("OK");
else
if (g == 5 && m == 2)
Console.WriteLine("OK");
else
if (g == 6 && m == 2)
Console.WriteLine("OK");
else
if (g == 7 && m == 2)
Console.WriteLine("OK");
else
if (g == 8 && m == 2)
Console.WriteLine("OK");
else
if (g == 9 && m == 2)
Console.WriteLine("OK");
else
if (g == 10 && m == 2)
Console.WriteLine("OK");
else
if (g == 11 && m == 2)
Console.WriteLine("OK");
else
if (g == 12 && m == 2)
Console.WriteLine("OK");
else
if (g == 13 && m == 2)
Console.WriteLine("OK");
else
if (g == 14 && m == 2)
Console.WriteLine("OK");
else
if (g == 15 && m == 2)
Console.WriteLine("OK");
else
if (g == 16 && m == 2)
Console.WriteLine("OK");
else
if (g == 17 && m == 2)
Console.WriteLine("OK");
else
if (g == 18 && m == 2)
Console.WriteLine("OK");
else
if (g == 19 && m == 2)
Console.WriteLine("OK");
else
if (g == 20 && m == 2)
Console.WriteLine("OK");
else
if (g == 21 && m == 2)
Console.WriteLine("OK");
else
if (g == 22 && m == 2)
Console.WriteLine("OK");
else
if (g == 23 && m == 2)
Console.WriteLine("OK");
else
if (g == 24 && m == 2)
Console.WriteLine("OK");
else
if (g == 25 && m == 2)
Console.WriteLine("OK");
else
if (g == 26 && m == 2)
Console.WriteLine("OK");
else
if (g == 27 && m == 2)
Console.WriteLine("OK");
else
if (g == 28 && m == 2)
Console.WriteLine("OK");
else
if (g == 29 && m == 2 && a % 400 == 0 || a % 4 == 0 && a % 100 != 0)
Console.WriteLine("OK");
else
if (g == 29 && m == 2)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 30 && m == 2)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 31 && m == 2)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 3)
Console.WriteLine("OK");
else
if (g == 2 && m == 3)
Console.WriteLine("OK");
else
if (g == 3 && m == 3)
Console.WriteLine("OK");
else
if (g == 4 && m == 3)
Console.WriteLine("OK");
else
if (g == 5 && m == 3)
Console.WriteLine("OK");
else
if (g == 6 && m == 3)
Console.WriteLine("OK");
else
if (g == 7 && m == 3)
Console.WriteLine("OK");
else
if (g == 8 && m == 3)
Console.WriteLine("OK");
else
if (g == 9 && m == 3)
Console.WriteLine("OK");
else
if (g == 10 && m == 3)
Console.WriteLine("OK");
else
if (g == 11 && m == 3)
Console.WriteLine("OK");
else
if (g == 12 && m == 3)
Console.WriteLine("OK");
else
if (g == 13 && m == 3)
Console.WriteLine("OK");
else
if (g == 14 && m == 3)
Console.WriteLine("OK");
else
if (g == 15 && m == 3)
Console.WriteLine("OK");
else
if (g == 16 && m == 3)
Console.WriteLine("OK");
else
if (g == 17 && m == 3)
Console.WriteLine("OK");
else
if (g == 18 && m == 3)
Console.WriteLine("OK");
else
if (g == 19 && m == 3)
Console.WriteLine("OK");
else
if (g == 20 && m == 3)
Console.WriteLine("OK");
else
if (g == 21 && m == 3)
Console.WriteLine("OK");
else
if (g == 22 && m == 3)
Console.WriteLine("OK");
else
if (g == 23 && m == 3)
Console.WriteLine("OK");
else
if (g == 24 && m == 3)
Console.WriteLine("OK");
else
if (g == 25 && m == 3)
Console.WriteLine("OK");
else
if (g == 26 && m == 3)
Console.WriteLine("OK");
else
if (g == 27 && m == 3)
Console.WriteLine("OK");
else
if (g == 28 && m == 3)
Console.WriteLine("OK");
else
if (g == 29 && m == 3)
Console.WriteLine("OK");
else
if (g == 30 && m == 3)
Console.WriteLine("OK");
else
if (g == 31 && m == 3)
Console.WriteLine("OK");
else
if (g == 1 && m == 4)
Console.WriteLine("OK");
else
if (g == 2 && m == 4)
Console.WriteLine("OK");
else
if (g == 3 && m == 4)
Console.WriteLine("OK");
else
if (g == 4 && m == 4)
Console.WriteLine("OK");
else
if (g == 5 && m == 4)
Console.WriteLine("OK");
else
if (g == 6 && m == 4)
Console.WriteLine("OK");
else
if (g == 7 && m == 4)
Console.WriteLine("OK");
else
if (g == 8 && m == 4)
Console.WriteLine("OK");
else
if (g == 9 && m == 4)
Console.WriteLine("OK");
else
if (g == 10 && m == 4)
Console.WriteLine("OK");
else
if (g == 11 && m == 4)
Console.WriteLine("OK");
else
if (g == 12 && m == 4)
Console.WriteLine("OK");
else
if (g == 13 && m == 4)
Console.WriteLine("OK");
else
if (g == 14 && m == 4)
Console.WriteLine("OK");
else
if (g == 15 && m == 4)
Console.WriteLine("OK");
else
if (g == 16 && m == 4)
Console.WriteLine("OK");
else
if (g == 17 && m == 4)
Console.WriteLine("OK");
else
if (g == 18 && m == 4)
Console.WriteLine("OK");
else
if (g == 19 && m == 4)
Console.WriteLine("OK");
else
if (g == 20 && m == 4)
Console.WriteLine("OK");
else
if (g == 21 && m == 4)
Console.WriteLine("OK");
else
if (g == 22 && m == 4)
Console.WriteLine("OK");
else
if (g == 23 && m == 4)
Console.WriteLine("OK");
else
if (g == 24 && m == 4)
Console.WriteLine("OK");
else
if (g == 25 && m == 4)
Console.WriteLine("OK");
else
if (g == 26 && m == 4)
Console.WriteLine("OK");
else
if (g == 27 && m == 4)
Console.WriteLine("OK");
else
if (g == 28 && m == 4)
Console.WriteLine("OK");
else
if (g == 29 && m == 4)
Console.WriteLine("OK");
else
if (g == 30 && m == 4)
Console.WriteLine("OK");
else
if (g == 31 && m == 4)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 5)
Console.WriteLine("OK");
else
if (g == 2 && m == 5)
Console.WriteLine("OK");
else
if (g == 3 && m == 5)
Console.WriteLine("OK");
else
if (g == 4 && m == 5)
Console.WriteLine("OK");
else
if (g == 5 && m == 5)
Console.WriteLine("OK");
else
if (g == 6 && m == 5)
Console.WriteLine("OK");
else
if (g == 7 && m == 5)
Console.WriteLine("OK");
else
if (g == 8 && m == 5)
Console.WriteLine("OK");
else
if (g == 9 && m == 5)
Console.WriteLine("OK");
else
if (g == 10 && m == 5)
Console.WriteLine("OK");
else
if (g == 11 && m == 5)
Console.WriteLine("OK");
else
if (g == 12 && m == 5)
Console.WriteLine("OK");
else
if (g == 13 && m == 5)
Console.WriteLine("OK");
else
if (g == 14 && m == 5)
Console.WriteLine("OK");
else
if (g == 15 && m == 5)
Console.WriteLine("OK");
else
if (g == 16 && m == 5)
Console.WriteLine("OK");
else
if (g == 17 && m == 5)
Console.WriteLine("OK");
else
if (g == 18 && m == 5)
Console.WriteLine("OK");
else
if (g == 19 && m == 5)
Console.WriteLine("OK");
else
if (g == 20 && m == 5)
Console.WriteLine("OK");
else
if (g == 21 && m == 5)
Console.WriteLine("OK");
else
if (g == 22 && m == 5)
Console.WriteLine("OK");
else
if (g == 23 && m == 5)
Console.WriteLine("OK");
else
if (g == 24 && m == 5)
Console.WriteLine("OK");
else
if (g == 25 && m == 5)
Console.WriteLine("OK");
else
if (g == 26 && m == 5)
Console.WriteLine("OK");
else
if (g == 27 && m == 5)
Console.WriteLine("OK");
else
if (g == 28 && m == 5)
Console.WriteLine("OK");
else
if (g == 29 && m == 5)
Console.WriteLine("OK");
else
if (g == 30 && m == 5)
Console.WriteLine("OK");
else
if (g == 31 && m == 5)
Console.WriteLine("OK");
else
if (g == 1 && m == 6)
Console.WriteLine("OK");
else
if (g == 2 && m == 6)
Console.WriteLine("OK");
else
if (g == 3 && m == 6)
Console.WriteLine("OK");
else
if (g == 4 && m == 6)
Console.WriteLine("OK");
else
if (g == 5 && m == 6)
Console.WriteLine("OK");
else
if (g == 6 && m == 6)
Console.WriteLine("OK");
else
if (g == 7 && m == 6)
Console.WriteLine("OK");
else
if (g == 8 && m == 6)
Console.WriteLine("OK");
else
if (g == 9 && m == 6)
Console.WriteLine("OK");
else
if (g == 10 && m == 6)
Console.WriteLine("OK");
else
if (g == 11 && m == 6)
Console.WriteLine("OK");
else
if (g == 12 && m == 6)
Console.WriteLine("OK");
else
if (g == 13 && m == 6)
Console.WriteLine("OK");
else
if (g == 14 && m == 6)
Console.WriteLine("OK");
else
if (g == 15 && m == 6)
Console.WriteLine("OK");
else
if (g == 16 && m == 6)
Console.WriteLine("OK");
else
if (g == 17 && m == 6)
Console.WriteLine("OK");
else
if (g == 18 && m == 6)
Console.WriteLine("OK");
else
if (g == 19 && m == 6)
Console.WriteLine("OK");
else
if (g == 20 && m == 6)
Console.WriteLine("OK");
else
if (g == 21 && m == 6)
Console.WriteLine("OK");
else
if (g == 22 && m == 6)
Console.WriteLine("OK");
else
if (g == 23 && m == 6)
Console.WriteLine("OK");
else
if (g == 24 && m == 6)
Console.WriteLine("OK");
else
if (g == 25 && m == 6)
Console.WriteLine("OK");
else
if (g == 26 && m == 6)
Console.WriteLine("OK");
else
if (g == 27 && m == 6)
Console.WriteLine("OK");
else
if (g == 28 && m == 6)
Console.WriteLine("OK");
else
if (g == 29 && m == 6)
Console.WriteLine("OK");
else
if (g == 30 && m == 6)
Console.WriteLine("OK");
else
if (g == 31 && m == 6)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 7)
Console.WriteLine("OK");
else
if (g == 2 && m == 7)
Console.WriteLine("OK");
else
if (g == 3 && m == 7)
Console.WriteLine("OK");
else
if (g == 4 && m == 7)
Console.WriteLine("OK");
else
if (g == 5 && m == 7)
Console.WriteLine("OK");
else
if (g == 6 && m == 7)
Console.WriteLine("OK");
else
if (g == 7 && m == 7)
Console.WriteLine("OK");
else
if (g == 8 && m == 7)
Console.WriteLine("OK");
else
if (g == 9 && m == 7)
Console.WriteLine("OK");
else
if (g == 10 && m == 7)
Console.WriteLine("OK");
else
if (g == 11 && m == 7)
Console.WriteLine("OK");
else
if (g == 12 && m == 7)
Console.WriteLine("OK");
else
if (g == 13 && m == 7)
Console.WriteLine("OK");
else
if (g == 14 && m == 7)
Console.WriteLine("OK");
else
if (g == 15 && m == 7)
Console.WriteLine("OK");
else
if (g == 16 && m == 7)
Console.WriteLine("OK");
else
if (g == 17 && m == 7)
Console.WriteLine("OK");
else
if (g == 18 && m == 7)
Console.WriteLine("OK");
else
if (g == 19 && m == 7)
Console.WriteLine("OK");
else
if (g == 20 && m == 7)
Console.WriteLine("OK");
else
if (g == 21 && m == 7)
Console.WriteLine("OK");
else
if (g == 22 && m == 7)
Console.WriteLine("OK");
else
if (g == 23 && m == 7)
Console.WriteLine("OK");
else
if (g == 24 && m == 7)
Console.WriteLine("OK");
else
if (g == 25 && m == 7)
Console.WriteLine("OK");
else
if (g == 26 && m == 7)
Console.WriteLine("OK");
else
if (g == 27 && m == 7)
Console.WriteLine("OK");
else
if (g == 28 && m == 7)
Console.WriteLine("OK");
else
if (g == 29 && m == 7)
Console.WriteLine("OK");
else
if (g == 30 && m == 7)
Console.WriteLine("OK");
else
if (g == 31 && m == 7)
Console.WriteLine("OK");
else
if (g == 1 && m == 8)
Console.WriteLine("OK");
else
if (g == 2 && m == 8)
Console.WriteLine("OK");
else
if (g == 3 && m == 8)
Console.WriteLine("OK");
else
if (g == 4 && m == 8)
Console.WriteLine("OK");
else
if (g == 5 && m == 8)
Console.WriteLine("OK");
else
if (g == 6 && m == 8)
Console.WriteLine("OK");
else
if (g == 7 && m == 8)
Console.WriteLine("OK");
else
if (g == 8 && m == 8)
Console.WriteLine("OK");
else
if (g == 9 && m == 8)
Console.WriteLine("OK");
else
if (g == 10 && m == 8)
Console.WriteLine("OK");
else
if (g == 11 && m == 8)
Console.WriteLine("OK");
else
if (g == 12 && m == 8)
Console.WriteLine("OK");
else
if (g == 13 && m == 8)
Console.WriteLine("OK");
else
if (g == 14 && m == 8)
Console.WriteLine("OK");
else
if (g == 15 && m == 8)
Console.WriteLine("OK");
else
if (g == 16 && m == 8)
Console.WriteLine("OK");
else
if (g == 17 && m == 8)
Console.WriteLine("OK");
else
if (g == 18 && m == 8)
Console.WriteLine("OK");
else
if (g == 19 && m == 8)
Console.WriteLine("OK");
else
if (g == 20 && m == 8)
Console.WriteLine("OK");
else
if (g == 21 && m == 8)
Console.WriteLine("OK");
else
if (g == 22 && m == 8)
Console.WriteLine("OK");
else
if (g == 23 && m == 8)
Console.WriteLine("OK");
else
if (g == 24 && m == 8)
Console.WriteLine("OK");
else
if (g == 25 && m == 8)
Console.WriteLine("OK");
else
if (g == 26 && m == 8)
Console.WriteLine("OK");
else
if (g == 27 && m == 8)
Console.WriteLine("OK");
else
if (g == 28 && m == 8)
Console.WriteLine("OK");
else
if (g == 29 && m == 8)
Console.WriteLine("OK");
else
if (g == 30 && m == 8)
Console.WriteLine("OK");
else
if (g == 31 && m == 8)
Console.WriteLine("OK");
else
if (g == 1 && m == 9)
Console.WriteLine("OK");
else
if (g == 2 && m == 9)
Console.WriteLine("OK");
else
if (g == 3 && m == 9)
Console.WriteLine("OK");
else
if (g == 4 && m == 9)
Console.WriteLine("OK");
else
if (g == 5 && m == 9)
Console.WriteLine("OK");
else
if (g == 6 && m == 9)
Console.WriteLine("OK");
else
if (g == 7 && m == 9)
Console.WriteLine("OK");
else
if (g == 8 && m == 9)
Console.WriteLine("OK");
else
if (g == 9 && m == 9)
Console.WriteLine("OK");
else
if (g == 10 && m == 9)
Console.WriteLine("OK");
else
if (g == 11 && m == 9)
Console.WriteLine("OK");
else
if (g == 12 && m == 9)
Console.WriteLine("OK");
else
if (g == 13 && m == 9)
Console.WriteLine("OK");
else
if (g == 14 && m == 9)
Console.WriteLine("OK");
else
if (g == 15 && m == 9)
Console.WriteLine("OK");
else
if (g == 16 && m == 9)
Console.WriteLine("OK");
else
if (g == 17 && m == 9)
Console.WriteLine("OK");
else
if (g == 18 && m == 9)
Console.WriteLine("OK");
else
if (g == 19 && m == 9)
Console.WriteLine("OK");
else
if (g == 20 && m == 9)
Console.WriteLine("OK");
else
if (g == 21 && m == 9)
Console.WriteLine("OK");
else
if (g == 22 && m == 9)
Console.WriteLine("OK");
else
if (g == 23 && m == 9)
Console.WriteLine("OK");
else
if (g == 24 && m == 9)
Console.WriteLine("OK");
else
if (g == 25 && m == 9)
Console.WriteLine("OK");
else
if (g == 26 && m == 9)
Console.WriteLine("OK");
else
if (g == 27 && m == 9)
Console.WriteLine("OK");
else
if (g == 28 && m == 9)
Console.WriteLine("OK");
else
if (g == 29 && m == 9)
Console.WriteLine("OK");
else
if (g == 30 && m == 9)
Console.WriteLine("OK");
else
if (g == 31 && m == 9)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 10)
Console.WriteLine("OK");
else
if (g == 2 && m == 10)
Console.WriteLine("OK");
else
if (g == 3 && m == 10)
Console.WriteLine("OK");
else
if (g == 4 && m == 10)
Console.WriteLine("OK");
else
if (g == 5 && m == 10)
Console.WriteLine("OK");
else
if (g == 6 && m == 10)
Console.WriteLine("OK");
else
if (g == 7 && m == 10)
Console.WriteLine("OK");
else
if (g == 8 && m == 10)
Console.WriteLine("OK");
else
if (g == 9 && m == 10)
Console.WriteLine("OK");
else
if (g == 10 && m == 10)
Console.WriteLine("OK");
else
if (g == 11 && m == 10)
Console.WriteLine("OK");
else
if (g == 12 && m == 10)
Console.WriteLine("OK");
else
if (g == 13 && m == 10)
Console.WriteLine("OK");
else
if (g == 14 && m == 10)
Console.WriteLine("OK");
else
if (g == 15 && m == 10)
Console.WriteLine("OK");
else
if (g == 16 && m == 10)
Console.WriteLine("OK");
else
if (g == 17 && m == 10)
Console.WriteLine("OK");
else
if (g == 18 && m == 10)
Console.WriteLine("OK");
else
if (g == 19 && m == 10)
Console.WriteLine("OK");
else
if (g == 20 && m == 10)
Console.WriteLine("OK");
else
if (g == 21 && m == 10)
Console.WriteLine("OK");
else
if (g == 22 && m == 10)
Console.WriteLine("OK");
else
if (g == 23 && m == 10)
Console.WriteLine("OK");
else
if (g == 24 && m == 10)
Console.WriteLine("OK");
else
if (g == 25 && m == 10)
Console.WriteLine("OK");
else
if (g == 26 && m == 10)
Console.WriteLine("OK");
else
if (g == 27 && m == 10)
Console.WriteLine("OK");
else
if (g == 28 && m == 10)
Console.WriteLine("OK");
else
if (g == 29 && m == 10)
Console.WriteLine("OK");
else
if (g == 30 && m == 10)
Console.WriteLine("OK");
else
if (g == 31 && m == 10)
Console.WriteLine("OK");
else
if (g == 1 && m == 11)
Console.WriteLine("OK");
else
if (g == 2 && m == 11)
Console.WriteLine("OK");
else
if (g == 3 && m == 11)
Console.WriteLine("OK");
else
if (g == 4 && m == 11)
Console.WriteLine("OK");
else
if (g == 5 && m == 11)
Console.WriteLine("OK");
else
if (g == 6 && m == 11)
Console.WriteLine("OK");
else
if (g == 7 && m == 11)
Console.WriteLine("OK");
else
if (g == 8 && m == 11)
Console.WriteLine("OK");
else
if (g == 9 && m == 11)
Console.WriteLine("OK");
else
if (g == 10 && m == 11)
Console.WriteLine("OK");
else
if (g == 11 && m == 11)
Console.WriteLine("OK");
else
if (g == 12 && m == 11)
Console.WriteLine("OK");
else
if (g == 13 && m == 11)
Console.WriteLine("OK");
else
if (g == 14 && m == 11)
Console.WriteLine("OK");
else
if (g == 15 && m == 11)
Console.WriteLine("OK");
else
if (g == 16 && m == 11)
Console.WriteLine("OK");
else
if (g == 17 && m == 11)
Console.WriteLine("OK");
else
if (g == 18 && m == 11)
Console.WriteLine("OK");
else
if (g == 19 && m == 11)
Console.WriteLine("OK");
else
if (g == 20 && m == 11)
Console.WriteLine("OK");
else
if (g == 21 && m == 11)
Console.WriteLine("OK");
else
if (g == 22 && m == 11)
Console.WriteLine("OK");
else
if (g == 23 && m == 11)
Console.WriteLine("OK");
else
if (g == 24 && m == 11)
Console.WriteLine("OK");
else
if (g == 25 && m == 11)
Console.WriteLine("OK");
else
if (g == 26 && m == 11)
Console.WriteLine("OK");
else
if (g == 27 && m == 11)
Console.WriteLine("OK");
else
if (g == 28 && m == 11)
Console.WriteLine("OK");
else
if (g == 29 && m == 11)
Console.WriteLine("OK");
else
if (g == 30 && m == 11)
Console.WriteLine("OK");
else
if (g == 31 && m == 11)
Console.WriteLine("DATA NON VALIDA");
else
if (g == 1 && m == 12)
Console.WriteLine("OK");
else
if (g == 2 && m == 12)
Console.WriteLine("OK");
else
if (g == 3 && m == 12)
Console.WriteLine("OK");
else
if (g == 4 && m == 12)
Console.WriteLine("OK");
else
if (g == 5 && m == 12)
Console.WriteLine("OK");
else
if (g == 6 && m == 12)
Console.WriteLine("OK");
else
if (g == 7 && m == 12)
Console.WriteLine("OK");
else
if (g == 8 && m == 12)
Console.WriteLine("OK");
else
if (g == 9 && m == 12)
Console.WriteLine("OK");
else
if (g == 10 && m == 12)
Console.WriteLine("OK");
else
if (g == 11 && m == 12)
Console.WriteLine("OK");
else
if (g == 12 && m == 12)
Console.WriteLine("OK");
else
if (g == 13 && m == 12)
Console.WriteLine("OK");
else
if (g == 14 && m == 12)
Console.WriteLine("OK");
else
if (g == 15 && m == 12)
Console.WriteLine("OK");
else
if (g == 16 && m == 12)
Console.WriteLine("OK");
else
if (g == 17 && m == 12)
Console.WriteLine("OK");
else
if (g == 18 && m == 12)
Console.WriteLine("OK");
else
if (g == 19 && m == 12)
Console.WriteLine("OK");
else
if (g == 20 && m == 12)
Console.WriteLine("OK");
else
if (g == 21 && m == 12)
Console.WriteLine("OK");
else
if (g == 22 && m == 12)
Console.WriteLine("OK");
else
if (g == 23 && m == 12)
Console.WriteLine("OK");
else
if (g == 24 && m == 12)
Console.WriteLine("OK");
else
if (g == 25 && m == 12)
Console.WriteLine("OK");
else
if (g == 26 && m == 12)
Console.WriteLine("OK");
else
if (g == 27 && m == 12)
Console.WriteLine("OK");
else
if (g == 28 && m == 12)
Console.WriteLine("OK");
else
if (g == 29 && m == 12)
Console.WriteLine("OK");
else
if (g == 30 && m == 12)
Console.WriteLine("OK");
else
if (g == 31 && m == 12)
Console.WriteLine("OK");
}
}
}


grazie mille! se volete provare funziona anche questo :)
ke malato però che sono stato a fare tutta quella roba :D
comunque utillizzo il mio metodo perchè siccome a scuola abbiamo iniziato da poco c# se facevo vedere al prof comandi tipo quelli di DoctroPaz ...scammo assicurato :D
Grazie ancora! ora tocca al flow chart :/
 
Te non puoi fare da solo? non ho mai usato quel programma, dovrei anche scaricarlo, al massimo ti posso aiutare se non riesci.
 
Imageshack - flowcharth.png

Sembra giusto! :D che casino xò! :D

---------- Post added at 15:38 ---------- Previous post was at 15:36 ----------

mi sono dimenticato quando m==2 && g==28

NONO E' GIUSTO PERCHE' HO MESSO DATA VALIDA SE G != 29 MA TANTO PRIMA AVEVO MESSO SE G==31||G==30
 
Che casino quel codice! Ma non era meglio quello di doc? Oltretutto è migliorabile pure quello.
Comunque, la sezione è sbagliata, sposto.
 
SpeedJack è il secondo codice che facciamo in classe e sappiamo solo alcuni operatori di base...
se li facevo vedere un codice simile mi avrebbe dato 4 perchè molte cose che ha inserito doctro non li abbiamo ancora fatti!
lo so che è un casino ma basta che con l'eseguibile il risultato venga giusto! :sisi:
 
se devi portare solamente l'eseguibile puoi utilizzare qualsiasi codice, non credo che il professore reflecterà tutti i vostri programmi.
 
Supponendo che la data venga inserita secondo questa "sintassi" gg/mm/aaaa puoi provare questo codice, premetto che ci sono metodi piu eleganti per fare ciò che hai rischiesto, io ti posto questo:

Codice:
public bool Bisestile(int Anno)
{
    return Information.IsDate("2/29/" + Anno);
}

private void ControllaData(string Data)
{
    //26/07/1994
    string[] PData = Data.Split("/");
    if (Bisestile(Convert.ToInt32(PData(2)))) {
        switch (PData(1)) {
            case 2:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 30) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 32) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 31) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
        }
    } else {
        switch (PData(1)) {
            case 2:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 29) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 32) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                if (Convert.ToInt32(PData(1)) > 0 & Convert.ToInt32(PData(1)) < 31) {
                    Interaction.MsgBox("Data valida!");
                } else {
                    Interaction.MsgBox("Inserisci una data valida!");
                }
                break;
        }
    }
}

PS: Sezione sbagliata
ho provato ad utilizzare il csc su questo codice ma mi vengono svariati errori....
1.8,6.9,9.9,9.11,77.1 3 errori cs1518 1 errore cs1001 e uno cs1022 come mai?

---------- Post added at 22:17 ---------- Previous post was at 22:15 ----------

hei magari solo l'eseguibile! devo portare l'eseguibile il sorgente il flowchart e il sorgente del flowchart con algobuild! :D
 
Ultima modifica:
Ti posto anche la mia soluzione, ho usato solo gli if, eppure è molto più corta della tua. Dovrebbe essere semplice anche il diagramma di flusso.
Nel tuo programma esce "Ok" anche se inserisci giorni o mesi negativi, senza contare che un programma fatto in quel modo è da considerarsi più sbagliato di uno che non funziona XD

Codice:
    class Program
    {
        static void Main(string[] args)
        {
            // perndo in input i valori del mese, del giorno e dell'anno
            int giorno, mese, anno;
            Console.Write("giorno: ");
            giorno = Convert.ToInt32(Console.ReadLine());
            Console.Write("mese: ");
            mese = Convert.ToInt32(Console.ReadLine());
            Console.Write("anno: ");
            anno = Convert.ToInt32(Console.ReadLine());
            // verifico se il giorno è giusto per i mesi con 31 giorni
            if(mese == 1 || mese == 3 || mese == 5 || mese == 7 || mese == 9 || mese == 10 || mese == 12)
            {
                if(!(giorno >= 1 && giorno <= 31))
                {
                    Console.WriteLine("il giorno e' sbagliato!");
                }
                else
                {
                    Console.WriteLine("Ok");
                }
            }
            // verifico se il giorno e' giusto per febbraio (28 o 29 giorni)
            else if(mese == 2)
            {           
                if (!(giorno >= 1 && giorno <= 28) && !(giorno >= 1 && giorno <= 29 && anno % 4 == 0))
                {
                    Console.WriteLine("il giorno e' sbagliato!");
                }
                else
                {
                    Console.WriteLine("Ok");
                }
            }
            // verifico se il giorno e' giusto per i mesi con 30 giorni
            else if(mese == 4 || mese == 6 || mese == 8 || mese == 11)
            {
                if (!(giorno >= 1 && giorno <= 30))
                {
                    Console.WriteLine("il giorno e' sbagliato!");
                }
                else
                {
                    Console.WriteLine("Ok");
                }
            }
            // ho verificato tutti i 12 mesi, se va nell'else il mese non è corretto
            else
            {
                Console.WriteLine("il mese e' sbagliato!");
            }
        }
    }

EDIT:
Non ho mai fatto i diagrammi di flusso, ma il tuo mi sembra sbagliato. L'errore più evidente è al sesto blocco (non so come si chiamano xD): se il mese è maggiore di 12 si crea un loop infinito, senza che venga eseguita nessuna istruzione.
Visto questo non sono più andato avanti a guardarlo, ma fossi in te un'altra occhiata gliela darei ;)
 
  • Mi piace
Reazioni: h0use
Ultima modifica:
scusate il commento così poco costruttivo ma... house quanti if hai usato?? sei matto?


edit: lo rendo costruttivo:

Parti da un'idea risolutiva facendoti un diagramma degli stati o un flow chart, poi passa a programmare.
Ricordati tanti if in un programma lo rendono illeggibile e probabilmente anche inefficiente, lo stesso epr i return nelle funzioni.


ne ho fatto uno al volo in java, fa anche cagare come codice perchè è troppo lungo, ma siccome non posso usare tante librerie di java e nemmeno le classi l'ho fatto un po' alla buona.
non capirai molti import e nemmeno lo static ma fregatene sono convenzioni java=).
il parseint è per convertire stringhe ad interi, ma comunque il ragionamento di fondo si capisce.
Il sistemout.print è per visualizzare e tastiera è per legger

import java.util.Arrays;
import java.util.Scanner;
public class Data {

static int[] giorni31= {1, 3, 5, 7, 8, 10, 12};
static int[] giorni30= {4, 6, 9, 11};

public static boolean dataValida(String s) {
String data[]= s.split("/");
int giorno= Integer.parseInt(data[0]);
int mese=Integer.parseInt(data[1]);
int anno=Integer.parseInt(data[2]);
if (anno>0&&mese>0&&mese<13&&giorno>0) {
boolean bisestile= anno%4==0;
boolean valida =true;
int i=Arrays.binarySearch(giorni30, mese);
if (i<0) {
i=Arrays.binarySearch(giorni31, mese);
if (i<0) {
return (bisestile)? giorno<=29:giorno<=28;
} else valida=giorno<=31;
} else valida=giorno<=30;
return valida;
}
return false;

}

public static void main(String[] args) {
Scanner tastiera= new Scanner (System.in);
String s = tastiera.nextLine();
System.out.println(dataValida(s));

}
}
 
ok grazie a tutti ma partendo dal mio codice che era un vero casino :matto: sono riuscito ad ottenere questo risultato...
Codice:
using System;


class testInfo
{
    static void Main()
    {
        int g; // inserisco una variabile che chiamo "g" ed è intesa come giorno.
        int m; // inserisco una variabile che chiamo "m" ed è intesa come mese.
        int a; // inserisco una variabile che chiamo "a" ed è intesa come anno.
        
        Console.WriteLine("Inserisci un giorno valido:");
            
            g = Convert.ToInt32(Console.ReadLine());
                
                Console.WriteLine("Inserisci un mese valido:");
                    
                    m = Convert.ToInt32(Console.ReadLine());
                        
                        Console.WriteLine("Inserisci un anno valido:");
                            
                            a = Convert.ToInt32(Console.ReadLine());
                        
                        {
                            if (g > 31)

                               Console.WriteLine("DATA NON VALIDA");
                        else
                            if (g <= 0)
                            Console.WriteLine("DATA NON VALIDA");
                        else
                            if (m > 12)
                            Console.WriteLine("DATA NON VALIDA");
                        else
                            if (m <= 0)
                            Console.WriteLine("DATA NON VALIDA");
                        else
                            if (g <= 31 && m == 1 ||  g == 29 && m == 2 && a % 400 == 0 || a % 4 == 0 && a % 100 != 0 || g <= 31 && m == 3) // gennaio è compreso da 1 e 31 giorni come marzo,maggio,luglio,agosto,ottobre e dicembre.
                            Console.WriteLine("OK");
                        else
                            if (g <= 30 && m == 4 || g <= 31 && m == 5 || g <= 30 && m == 6)
                            Console.WriteLine("OK");
                        else
                            if (g <= 31 && m == 7 || g <= 31 && m == 8 || g <= 30 && m == 9)
                            Console.WriteLine("OK");
                        else
                            if (g <= 31 && m == 10 || g <= 30 && m == 11 || g <= 31 && m == 12)
                            Console.WriteLine("OK");
                        else
                            if (g > 29 && m == 2 || g == 29 && m == 2 && a % 400 != 0 || a % 4 == 0 && a % 100 == 0 || g == 31 && m == 4 || g == 31 && m == 6 || g == 31 && m == 9 || g == 31 && m == 11) // se con "g" ho 31 e su "m" ho 2/4/6/9/11(cioè o febbraio o aprile o giugno o settembre o novembre) in output mi da "DATA NON VALIDA" 
                            Console.WriteLine("DATA NON VALIDA");
        }
    }
}

è ancora un po' incasinata ma molto meglio di prima :D

P.S.
grazie steve per l'errore che hai visto nel flowchart non me n'ero accorto! comunque era l'unico errore tutto il resto è ok!

grazie mille a tutti :rulzz: e GL!

il voto ve lo sapro dire in futuro quindi admin aspetta ad eliminare la discussione :lol::lol::lol:

---------- Post added at 22:42 ---------- Previous post was at 22:21 ----------

se qualcuno vuole posso mettere il file zip che ho consegnato per vedere il mio lavoro!
grazie e ciao!
 
Biato te a me vogliono solo e sempre pascal :matto:. Io invece adoro il C# e il C++ e non ho mai fatto mai un flowchart neanche di progetti comprelli come può essere un critatore o cose di questo genere, preferisco farmi i ragionamenti in testa e poi scrivere il codice.
 
un criptatore non è un progetto complesso... il flow chart ti serve quando il problema è espansivo-.-
è ovvio che in programmini didattici non ti serve... ti serve solo se trovi difficoltà...
 
fede dal codice in java credo ci sia un errore ma non di punteggiatura o robe simili ma perchè un anno è bisestile quando è divisibile per 400 o per 4 ma non per 100...
tradotto in c#:

if (a % 400 == 0 ||( a % 4 == 0 && a % 100 != 0))
Console.WriteLine("Anno è bisestile");

:D
 
sul serio non avevo idea che quando cadeva il secolo non fosse bisestile...

comunque su java non bisogna fare ste funzioni perchè son tutte già fatte, ha le librerie più estese mai viste e qualsiasi cosa di semplice è già fatta..=) non mi ero mai chiesto quando un anno fosse bisestile io pensavo solo quando fosse divisibile per quattro
 
Ultima modifica:
un criptatore non è un progetto complesso... il flow chart ti serve quando il problema è espansivo-.-
è ovvio che in programmini didattici non ti serve... ti serve solo se trovi difficoltà...

Un criptatore non è un progetto complesso finché si parla di sostituire un carattere con un altro (o con una serie di altri), ma fare un algoritmo di criptazione come si deve può essere molto complesso. Difatti non sono poi così tanti gli algoritmi considerati sicuri, e comunque sono fuori portata per chi non ha conoscenze algebriche approfondite.


Biato te a me vogliono solo e sempre pascal :matto:. Io invece adoro il C# e il C++ e non ho mai fatto mai un flowchart neanche di progetti comprelli come può essere un critatore o cose di questo genere, preferisco farmi i ragionamenti in testa e poi scrivere il codice.

Ti puoi solo ritenere fortunato se non ti fanno fare i flowchart xD
Non saprei dire se sono particolarmente utili in fase di apprendimento, ma per sviluppare un programma sono solo una perdita di tempo (imho).
Basta vedere cosa ha fatto fede: prima il programma e poi il flowchart; in teoria bisognerebbe fare il contrario (almeno così intuisco), a programma finito non te ne fai niente del flowchart.

fede dal codice in java credo ci sia un errore ma non di punteggiatura o robe simili ma perchè un anno è bisestile quando è divisibile per 400 o per 4 ma non per 100...
tradotto in c#:

if (a % 400 == 0 ||( a % 4 == 0 && a % 100 != 0))
Console.WriteLine("Anno è bisestile");

Molto più semplicemente:
Codice:
if(a%4==0)
Console.WriteLine("Anno è bisestile");
Un anno è composto da 365 giorni e 6 ore. Ogni 4 anni queste 6 si sommano e formano un giorno in più, il 29 febbraio appunto.
Non c'è nessun legame nè col 400 e nè col 100, sono solo delle conseguenze dovute alla matematica: se un numero è divisibile per 400 è divisibile anche per 4 e se un un numero è divisibile per 4 non sempre è divisibile per 100.
Infatti il tuo codice è sbagliato: l'anno 1 (un esempio tra tanti) non è bisestile, ma NON è divisibile per 100 (1%100 != 100 -> true) e il tuo programma lo segna bisestile.

sul serio non avevo idea che quando cadeva il secolo non fosse bisestile...
...
non mi ero mai chiesto quando un anno fosse bisestile io pensavo solo quando fosse divisibile per quattro

Pensavi bene!
 
steve a chi ti riferisci? poi io ho capito che un anno non è bisestile se è divisibile per 100 anche se ovviamente è divisibile per quattro.
il flowchart lo faccio quasi sempre e su questo non l'ho fatto..
il "molto più semplicemente era quello che era scritto in java da me:
boolean bisestile= anno%4==0;

infatti l'anno 2000 è bisestile anche se è divisibile anche per cento! scusate ma house mi ha detto così allora mi son corretto senza informarmi... era giusto come l'avevo fatto io.
l'anno 1 non viene segnato come bisestile.
Il mio programma da per bisestili tutti quelli divisibili per quattro
 
Ultima modifica:
steve a chi ti riferisci?

Ho fatto delle citazioni, con sotto delle risposte. Mi riferivo alle stesse persone che avevo citato, ma avevo fatto un po' di casino con i multi-quote, quindi ho editato qualche minuto prima della tua risposta (può darsi che stavi scrivendo e non hai letto).

il "molto più semplicemente era quello che era scritto in java da me
...
l'anno 1 non viene segnato come bisestile.
Il mio programma da per bisestili tutti quelli divisibili per quattro

Era in risposta ad House. Il suo programma, come ho dimostrato, segna 1 (ma anche tutti i numeri tra 1 e 99, tra 101 e 199, e così via) come bisestile.
anno % 100 != 0 (sostituisci ad anno 1, 2, 3, 4, 5, 6, 7, ecc; e ti ritornerà sempre true)
 
Un criptatore non è un progetto complesso finché si parla di sostituire un carattere con un altro (o con una serie di altri), ma fare un algoritmo di criptazione come si deve può essere molto complesso. Difatti non sono poi così tanti gli algoritmi considerati sicuri, e comunque sono fuori portata per chi non ha conoscenze algebriche approfondite.




Ti puoi solo ritenere fortunato se non ti fanno fare i flowchart xD
Non saprei dire se sono particolarmente utili in fase di apprendimento, ma per sviluppare un programma sono solo una perdita di tempo (imho).
Basta vedere cosa ha fatto fede: prima il programma e poi il flowchart; in teoria bisognerebbe fare il contrario (almeno così intuisco), a programma finito non te ne fai niente del flowchart.



Molto più semplicemente:
Codice:
if(a%4==0)
Console.WriteLine("Anno è bisestile");
Un anno è composto da 365 giorni e 6 ore. Ogni 4 anni queste 6 si sommano e formano un giorno in più, il 29 febbraio appunto.
Non c'è nessun legame nè col 400 e nè col 100, sono solo delle conseguenze dovute alla matematica: se un numero è divisibile per 400 è divisibile anche per 4 e se un un numero è divisibile per 4 non sempre è divisibile per 100.
Infatti il tuo codice è sbagliato: l'anno 1 (un esempio tra tanti) non è bisestile, ma NON è divisibile per 100 (1%100 != 100 -> true) e il tuo programma lo segna bisestile.



Pensavi bene!

St3ve ti stai sbagliando di grosso ;)

leggi bene!

if (a % 400 == 0 ||( a % 4 == 0 && a % 100 != 0)) te lo traduco?
se l'anno è divisibile per 400 è bisestile (e chi non ci piove) ma è bisestile anche quando l'anno sì è divisibile per 4 ma non deve essere divisibile per 100 infatti l'esempio che hai fatto tu è sbagliato! se in input su anno metto 1 mi da sbagliato perchè 1 non è divisibile per 400 ne per 4 ma diverso da 100!
questo operatore qua && significa che per far si che funzioni tutte e 2 le istruzioni devono essere esatte cioè sia divisibile per 4 ma anche non divisibile per 100...

esempi:
1900 non è bisestile (perchè 1 non è divisibile per 400; 2 è divisibile per 4 ma anche per 100 quindi no!)
1808 è bisestile (perchè 1 non è divisibile per 400; 2 è divisibile per 4 ma non per 100 quindi è giusta!)

Capito?

"Era in risposta ad House. Il suo programma, come ho dimostrato, segna 1 (ma anche tutti i numeri tra 1 e 99, tra 101 e 199, e così via) come bisestile. "

macchè!?!?
c'è scritto anche su wiki -.- Anno bisestile - Wikipedia lol è uguale alla mia! ((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0)

---------- Post added at 22:23 ---------- Previous post was at 22:19 ----------

forse ti stai confondendo con gli operatori...
|| --> or (basta che una delle 2 sia vera)
&& --> and (tutte e 2 devono essere vere!)
% --> mod (== resto della divisione)
 
Stato
Discussione chiusa ad ulteriori risposte.