Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 28 Marzo 2019 dalle 19:32:36 alle 20:07:46

Stefano Salvi
Scusate il ritardo...
Lara TANFOGLIO
Salve
Cristian ROSSINI
Buonasera
Stefano Salvi
Buonasera a tutti. Posiamo cominciare con le domande.
Daniele SCARDOVELLI
Buonasera
Lara TANFOGLIO
Prof non è che riuscirebbe a spiegarmi velocemente come funzionano gli struct? Perchè io mancavo quando li ha spiegati e non so se li ho capiti bene
Stefano Salvi
Tanfoglio: una struct è un dato che chntiene più valori anche di tipo diverso (a differenza dell\'array che ha più valori dello stesso tipo). I singoli valori di una struct si indicano con un nome. Prima di poter usare una struct (creare una variabile o un array di variabili "struct") occorre descriverla, indicandone un nome e indicando come è composta: i nomi dei vari valori ed il loro tipo. (riassunto più che minimo)
Martina MONTORIO
Nell\'esercizio figure piane bisogna creare dei valori double casuali per le lunghezze dei lati. Visto che usando la solita rand()%.. non funziona, come si può fare?
Lara TANFOGLIO
ok andrà male
Cristian ROSSINI
Anche io l\'argomento struct lo sento ancora molto fresco, forse troppo, non sono ancora riuscito a capirlo bene e a consolidarlo...
Stefano Salvi
Montorio: in effetti la solita rand % funziona, se tu hai deciso un numero preciso di decimali. Se ad esempio hai deciso di usare numeri con 2 decimali, dividi il risultato del % per 100.0 ed ottieni numeri con due decimali. Ci puoi lavorare su?
Martina MONTORIO
Ok proverò, grazie
Stefano Salvi
Forza, non siate pessimisti. Le struct sono una gran stupidata, se ci pensate bene. Le definite come volete ed avete un nuovo tupo "composto" (si dice "strutturato"). Le variabili (o gli elementi di array) di questo tipo si utilizzano chaimandoli con il . seguito dal nome del pezzo. Ad esempio definisco "struct g { int a; float b};" a quel punto posso crearmi una variabile s di tipo struct g -> "struct g s;" e poii posso assegnare due valori ai due membri (si chiamano campi) di s così: "s.a = 5; s.b=12.3".
Lara TANFOGLIO
Ok grazie forse ho capito
il livello di difficoltà dell\'esercizio che ci darà in verifica sarà circa come quello dell\'esempio che ci ha appena fatto vero?
Stefano Salvi
Circa come quello delle figure cui vi riferivate prima (che è poi la stessa cosa).
Lara TANFOGLIO
ok grazie
Stefano Salvi
D\'altronde sulle struct non è che si possano fare grandi voli... Sono quelle e basta... (come gli array, ma più facili...)
Montorio: visto che non ci sono domande, trniamo ai numeri coi decimali. Se devo produrre un numero casuale tra 1 e 10 con due decimali, produco un numero tra 100 e 1000 e poi lo divido per 100.0 ... pensaci che è facilissimo.
Daniele SCARDOVELLI
Prof per i numeri casuali se io ho numeri con la virgola il % non funziona ad esempio se devo fare numeri casuali da 1.05 a 12.52 come posso fare?
Stefano Salvi
Scardovelli: generi un numero casuale tra 105 e 1252 e lo dividi per 100.0
Daniele SCARDOVELLI
A ok scusi per la domanda ripetuta
Lara TANFOGLIO
Cosa intende con funzioni di conversione?
Stefano Salvi
Tanfoglio: Convertire una stringa in numero (con basi varie) o convertire un numero in stringa (sempre con basi varie).
Lara TANFOGLIO
Ah okok perfetto
Jaspreet SINGH
è finita
Stefano Salvi
Dai, questa volta cerchiamo di farlo bene. Io ho cercato di non farlo troppo lungo e voi impegnatevi a farlo bene!!!
Jaspreet SINGH
ok grazie
Larissa BERNARDI
Prof per passare ad esempio la parola "ciao" ad un "elemento"/"oggetto" dello struct devo sempre usare la strcpy?
Stefano Salvi
Cos\'è ch è finita, singh? Abbiamo ancora qualche minuto "ufficiale" e se poi avete domande, non scappo.
Lara TANFOGLIO
Grazie per la magnanimità, ma forse è un po\' troppo positivo
Stefano Salvi
Bernardi: certamente, l\'elemento della struct deve essere una stringa (array di char) e quindi devi per forza usare l\'strcpy.
Bernardi: naturalmente i tipi devono coincidere... mica puoi copiare una stringa in un int...
Larissa BERNARDI
Mentre per passargli un valore/numero basta fare ....=35 (esempio)
Stefano Salvi
Bernardi: esattamente, com e nel mio esempio.
Larissa BERNARDI
Capito grazie
Stefano Salvi
Bernardi: l\'unicom problema è che (come d\'altronde per gli array) non puoi copiare un\'intera struct in un\'altra con un\'istruzione, devi copiarla pezzo per pezzo.
Larissa BERNARDI
E quando faccio una struct, i prototipi delle funzioni vanno scritti solo dopo la struct giusto e prima del main giusto?
Sisi capito
Stefano Salvi
Bernardi: il C ha una degola d\'oro: tutto quello che usi deve essere dichiarato PRIMA di usarlo... Una buona regola potrebbe essere dichaiare prima le costanti, poi le struct, poi i prototipi delle funziono, poi le funzioni, partendo con main.
Larissa BERNARDI
Oks grazie
Martina MONTORIO
Si prof, adesso l\'ho sistemato e ho generato un numero casuale tra 100 e 1250, poi l\'ho diviso per 100
Stefano Salvi
Bene bene! Nessun problema allora domani (almeno per questo)!
Allora, siamo a posto? (e siate positivi, sicuri di voi e calmi!)
Ok, allora buona cena, buon riposo ed in bocca al lupo.

[Ritorna all'elenco sessioni]