Innanzitutto creo un collegamento al sito con il tag a. Dopo inserisco, subito sotto, il pulsante che rimuoverà l’attributo quando verrà fatto clic su di esso.
Il metodo removeAttributeNode(), rimuove l’attributo specificato da un elemento e restituisce l’attributo rimosso come oggetto Attr.
Potrei allora costruire la funzione di prima in questo modo:
function link() {
var elemento = document.getElementById("collegamento");
var attr = elemento.getAttributeNode("href");
elemento.removeAttributeNode(attr);
}
Quindi con la funzione getAttributeNode() recupero il nodo dell’attributo e poi con removeAttributeNode() lo rimuovo.
Chiaramente questi sono solo dei semplici esempi per imparare a rimuovere attributi agli elementi del dom con JavaScript.
#include <iostream>
using namespace std;
int main() {
int numero;
const int a = 10;
const int b = 20;
cout << "Inserisci un numero: ";
cin >> numero;
if (numero >= a && numero <= b) {
cout << "Il numero è interno";
} else {
cout << "Il numero è esterno";
}
return 0;
}
Secondo esempio
Inserire un carattere e dire se è numerico oppure è una lettera dell’alfabeto oppure un’altra cifra qualunque.
if (c >= ‘0’ && c <= ‘9’)
con questa istruzione si vede se il carattere è numerico
if (c >= ‘a’ && c <= ‘z’)
con questa istruzione si vede se il carattere è una lettera minuscola
if (c >= ‘A’ && c <= ‘Z’)
infine, con questa istruzione si vede se il carattere è una lettera maiuscola.
Ecco dunque il listato completo.
#include <iostream>
using namespace std;
int main() {
char c;
cout << "Inserisci un carattere: ";
cin >> c;
if (c >= '0' && c <= '9') {
cout << "Cifra numerica";
} else if (c >= 'a' && c <= 'z') {
cout << "Carattere dell'alfabeto minuscolo";
} else if (c >= 'A' && c <= 'Z') {
cout << "Carattere dell'alfabeto maiuscolo";
} else {
cout << "Altro carattere";
}
return 0;
}
Terzo esempio
Inserire un carattere in input, se tale carattere è numerico o una lettera dell’alfabeto visualizzare ‘carattere valido’, altrimenti visualizzare ‘carattere non valido’.
Quindi questa volta ad esempio posso fare un solo if dove unisco le tre condizioni:
if ((c >= ‘0’ && c <= ‘9’) || (c >= ‘a’ && c <= ‘z’) || (c >= ‘A’ && c <= ‘Z’))
Se una di queste condizioni si verifica allora il carattere è valido, altrimenti non lo è.
#include <iostream>
using namespace std;
int main() {
char c;
cout << "Inserisci un carattere: ";
cin >> c;
if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
cout << "Carattere valido";
} else {
cout << "Carattere non valido";
}
return 0;
}
Quarto esempio
Dati in input 3 caratteri, il primo che rappresenta la classe, il secondo che rappresenta la sezione e il terzo che rappresenta l’indirizzo, dire se la sequenza può essere una classe di un determinato istituto scolastico.
Ipotizziamo che l’istituto abbia le classi che vanno dalla prima alla quinta e che le sezioni possono variare dalla A alla E e che gli indirizzi hanno le seguenti lettere: I=Informatica, E=Elettronica, M=Meccanica e C=Chimica.
Quindi alcune combinazioni possibili possosno essere:
3AI, 2BE, 1CC, 5EM, ecc…
Allora potrei fare questo controllo: prendo in input le variabili c, z e i che rappresentano rispettivamente la classe, la sezione e l’indirizzo.
#include <iostream>
using namespace std;
int main() {
int c;
char z, i;
bool flagc, flags, flagi;
cout << "Inserisci la classe:\n";
cin >> c;
cout << "Inserisci la sezione:\n";
cin >> z;
cout << "Inserisci l'indirizzo:\n";
cin >> i;
// Trasformo z e i in maiuscolo se sono inseriti in minuscolo
if (z >= 'a' && z <= 'z') {
z -= 32;
}
if (i >= 'a' && i <= 'z') {
i -= 32;
}
flagc = (c >= 1 && c <= 5);
flags = (z >= 'A' && z <= 'E');
flagi = (i == 'I' || i == 'E' || i == 'C' || i == 'M');
if (flagc && flags && flagi) {
cout << c << z << i << " è una classe del nostro istituto";
} else {
cout << "Non può essere una classe del nostro istit
Chiaramente ho proposto possibili soluzioni agli esempi con gli operatori logici in C++. Proponete pure la vostra soluzione.
Analizziamo un esempio con gli operatori logici in C++, al fine di comprendere meglio il funzionamento di detti operatori. Nel precedente tutorial ne abbiamo dato la definizione e visto l’ordine di precedenza.
Su una linea ferroviaria, rispetto alla tariffa piena, i pensionati usufruiscono di uno sconto del 10%, gli studenti del 15% e infine i disoccupati del 25%. Quindi, codificando i pensionati con una P, gli studenti con una S e i disoccupati con una D, scrivere un programma che, rischiesto il costo di un biglietto e l’eventuale condizione dell’utente, visualizzi l’importo da pagare.
Modifichiamo l’esercizio in modo tale che, sia inserendo le lettere minuscole sia le maiuscole, il programma funzioni ugualmente.
Basterà allora trasformare gli if in questo modo:
if (categoria == ‘P’ || categoria == ‘p’ )
Cioè se categoria = ‘P’ oppure categoria = ‘p’.
E così tutti gli altri.
Il resto del programma rimane chiaramente invariato.
Allego il listato completo dell’esempio con gli operatori logici in C++.
#include<iostream>
using namespace std;
int main() {
char categoria;
float costo;
cout << "Inserisci la categoria:\n"
<< "categoria P = pensionati, S = studenti, D = disoccupati):\t ";
cin >> categoria;
cout << "prezzo biglietto:\t ";
cin >> costo;
if (categoria == 'P' || categoria == 'p' ) {
costo *= 0.9;
} else if (categoria == 'S' || categoria == 's') {
costo *= 0.85;
} else if (categoria == 'D' || categoria == 'd') {
costo *= 0.75;
} else {
cout << "la categoria inserita non ha sconti\n" << endl;
}
cout << "Pagherai: \t" << costo << endl;
return 0;
}
Chiaramente questo è solo un semplice esempio con gli operatori logici in C++. Nel prossimo tutorial proporrò degli altri esempi in modo da esercitarci ulteriormente.
Commenti recenti