lunedì 28 luglio - 14:19
Google
 
Menù
  Home
  Come nasce IRC-Zone
  Glossario Informatico
  News
  I nostri progetti
  I nostri servizi
  Partners
  Diventa un Partner

IRC
  Cos'è IRC
  Storia di IRC
  Netiquette su IRC
  Emoticons
  Gergo della chat
  Lista Servers
  RFC 1459
  Shell Hosting

mIRC
  Cos'è il mIRC
  FAQ mIRC
  Configurazione mIRC
  Download mIRC
  Novità
  Script Stranieri
  Script Italiani
  MTS
  MTS Engine

mIRC Addon
  mIRC addon Audio
  mIRC addon SMS
  mIRC addon Grafica
  mIRC addon Utility
  mIRC addon Uso Bot

Client IRC
  Client IRC Linux
  Client IRC Mac
  Client IRC Win

XChat
  Cos'è XChat
  XChat per Win
  XChat per Unix

KVirc
  Cos'è KVirc
  FAQ KVirc
  Installazione su Linux
  KVirc Scripting
  KVirc per Mac
  KVirc per Win
  KVirc per Unix
  KVirc addon

Irssi
  Cos'è Irssi
  Download Irssi
  Download Moduli

Eggdrop/Windrop
  Cos'è un Eggdrop
  Download Eggdrop
  Configurazione Eggdrop
  Download Windrop
  Installazione Windrop

Tcl
  Download TCL
  Tutorial TCL scripting
  Documenti/Guide

BNC
  Cos'è un psyBNC
  Download psyBNC
  Configurazione psyBNC
  Download sBNC
  Configurazione sBNC

Linkaci!
footer

Credits
Somerights

footer

Statistiche
Ip: 54.225.18.187
Download: 782491 file
Totale: 1170230 MB

footer

Links amici
MF's IT User Essential Security Center



Basi di C++ - Le funzioni

Autore: [Papero]Data: 2005-04-20
Modificato: 2007-01-26 Letture: 4175
Torna indietroStampa articoloInvia ad un amico

Lezione 4: Le funzioni

Ora che avete imparato tutto sulle variabili, loops e comandi if, è ora di imparare la prossima cosa della programmazione: le Funzioni. Ovviamente dovete avere una idea chiara di cosa sia una funzione, dal momento che ne avete usata una come cout prima. Comunque, questa lezione sarà più specificatamente non solo sulle funzioni che sono già pronte, ma anche su come costruirsene di proprie, o forse lo spiegherò più avanti...
Un buon modo per descrivere una funzione è di mostrare il suo prototipo. Questo significa che cosa deve restituire e cosa deve prendere come suoi argomenti. Per esempio il prototipo di getch() è... int getch(void); int significa che restituisce un integer, void significa che non riceve nessun argomento. Adesso, potreste sapere che getch restituisce un carattere! Comunque, ciò non significa che deve restituire un carattere. Il fatto che il tipo restituito sia un integer non fa differenza, perché al set di caratteri ASCII non importa quale tipo di numero sia, così come se sia un numero... non preoccupatevi se non avete capito, non è poi così importante in questo momento.
Quello che è importante è che voi capiate i prototipi. un altro prototipo è...int kbhit(void); restituisce un integer e non riceve valori. Ora che spero abbiate capito ciò, sarete capaci di utilizzare i files di help molto più facilmente e io posso descrivere più dettagliatamente le funzioni. Primo, quali funzioni sono utili.
Ci sono molte funzioni utili e spesso sono difficili da trovare. Per il Turbo C++ Lite alcune funzioni utili includono, ma non si limitano a queste:
cout<< iostream.h
output
cin>> iostream.h
input
int getch(void) conio.h
get characters
void clrscr(void) conio.h clear screen

Ok, potrete pensare che questo è niente! Quattro misere funzioni, e sei a posto! Se esistono solo poche funzioni allora il C/C++ non può essere utile. Comunque, un sacco di programmatori non hanno bisogno di tutte queste funzioni. Ovviamente, suggerisco di conoscere tutte le funzioni che potete, o almeno il nome. A questo scopo, posterò un intero elenco di tutte le funzioni che trovo su tutti i libri che ho letto.
Comunque, per adesso, queste sono le funzioni più utili. Dopo tutto, se potete cancellare lo schermo, ricevere input e output e ricevere lo stato dei tasti della tastiera, che sono utili per fermare il programma e tornare all'IDE, potete fare quasi tutto! Credetemi, ci sono poche funzioni specializzate, ma veremente utili, il fatto è che non avete veramente bisogno di utilizzarle tutte le volte! Se avete un problema con la funzione che vi serve, e io non ho ancora messo in linea l'elenco, allora mandatemi una email a lallain@concentric.net, e vi troverò quello di cui avete bisogno!
Ad ogni modo, dopo di ciò non servono molte altre chiacchiere sulle funzioni, vi mostrerò come fare le vostre funzioni! Wow, posso farle? Certamente, altrimenti il C/C++ sarebbe inutile! Quindi, preparatevi ad imparare come fare le funzioni.
Per prima cosa lasciatemi dare un programma intero come esempio. Quindi potremo guardarlo ed impareremo a realizzare i nostri programmi propri.

#include
#include
int mult(int x, int y);
void main()
{
int x, y;
cout<<"Inserire un numero, ed il numero per il quale moltiplicarlo";
cin>>x>>y;
cout< getch();
}

int mult(int x, int y)
{
return x*y;
}

Come è utile... bene, in questo programma la funzione è totalmente inutile, e può solo moltiplicare interi! Ma è solo per mostrarvi come fare funzioni, dopo che avrete compreso le basi spero che sarete capaci di fare qualsiasi cosa da soli.
Che cosa fa il mio esempio: #includes...inclusioni di base Cos'è int mult(int x, int y);? E' un prototipo della funzione, senza di esso non potreste utilizzare mult! Cos'è void main()? Dovreste saperlo. Cos'è cout<

int mult(int x, int y)
{
return x*y;
}

Bene, questa è la funzione! Essa dice che il tipo restituito è un integer. Quando viene usato il comando return, si è detto che la funzione mult ha un valore qualunque siano x*y... così si è detto return x*y. I due int che prende sono x e y.
Quindi li moltiplica e restituisce il valore ottenuto. Perciò emette mult(x,y); è assolutamente legale. Forse potrebbe esservi d'aiuto pensare come se la funzione mult ha un valore per qualsiasi x*y. Questo non è propriamente vero, restituisce semplicemente questo valore e potete farci tutto quello che volete, ma spero che vi sia d'aiuto.
Che cosa potete fare? Potete fare funzioni void che non fanno niente...

#include
void function(void);
void main()
{
function();
}
void function(void)
{
cout<<"Questa è una funzione completamente inutile e dispendiosa";
}

Quello che fa è dichiarare che ci sarà una funzione, fornendone il prototipo, quindi la funzione è definita in basso e fa solo una cosa... restituisce "Questa è una funzione completamente inutile e dispendiosa" Comunque, se volevamo fare qualcosa che prendeva 3 linee 400 volte in posti differenti?

#include
void function(void);
void main()
{
ENORME CODICE CHE HA BISOGNO DI RESTITUIRE Line 1Line 2Line 3
}
void function(void)
{
cout<<"Line 1";
cout<<"Line 2";
cout<<"Line 3";
}

Questo, oltre al fatto di essere un pessimo esempio, è dove bisogna usarlo quando avete bisogno di chiamare qualcosa un sacco di volte, ma non volete effettuare copia e incolla. Le funzioni sono veramente utili, e spero di averle spiegate abbastanza bene da farvele comprendere.


 

Branzilla Contest Redeem

Links utili

Newsletter
Iscriviti
Cancellati

Ci sono 39 iscritti

In rilievo..
  JackSMS v3
  Venom Script Lite

Documenti/Guide
  I Social Network
  Sicurezza in rete
  Cos'è SSL
  FAQ Bot
  Documenti su IRC
  FAQ Ident
  RFC 2810
  RFC 2811
  IRCx RFC

Informatica libera
  Gli Hoaxes
  Hoaxes report
  Documenti vari
  CensorWare
  Windows
  Linux

mIRC Scripting
  Codice ASCII
  Snippet mIRC scripting
  Tutorial mIRC scripting
  Dll per mIRC
  Utilities

IRCd
  Cos'è un IRCd
  Download Unreal
  Download Hybrid 6
  Download Hybrid 7
  Download Ultimate
  Download Bahamut
  Configurazione IRCd

IRC Services
  Cosa sono i Services
  Download Anope
  Download Epona
  Ircservices 5.0
  Ircservices 5.1
  Configurazione Epona
  Configurazione Anope
  Comandi ChanServ
  Comandi NickServ
  Comandi MemoServ

NeoStats
  Cosa sono i NeoStats
  Download NeoStats
  Configurazione NeoStats
  Download Moduli

IPv6
  Cos'è IPv6
  IPv6 su Win2000
  IPv6 su WinXP
  IPv6 su Linux
  IPv6 su mIRC e Xchat

Programmazione
  Tutorial C++
  Tutorial C
  Compilatori C/C++

Altro
  Contatti
  Banners Gallery

RSS Feed




Progetti
Starlight
IRCHippo

Validato CSS
Sito interamente sviluppato in PHP
MySQL
©2004+ IRC-Zone | Webmaster | Sitemap
Created by Cesare 'Kaesar83' Lasorella
Designed by Manuel 'erkokki' Cabras
IRC-Zone non è responsabile del contenuto dei siti linkati
Pagina creata in: 0.077 sec con 27 queries
Spampoison
Sviluppato con Notepad++
website monitoring service