Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-10-2009, 18:53   #1
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
[C] Programma da fare con ciclo while, penso

Allora, ho da fare questo esercizio, e penso ma non ne sono sicurissimo, devo utilizzare il ciclo while.

L'esercizio è:
"
Scrivere un programma in linguaggio C che determini la paga lorda settimanale di un impiegato. Si tenga presente che:
• per le prime 36 ore lavorate l’impiegato riceve il salario settimanale di base;
• per le ore lavorate fra 37 e 46 il valore dell’ora aumenta a 1.2 volte il suo valore di base;
• per le ore oltre la 46 l’azienda paga 1.5 volte il valore orario base.
Il programma chiede e riceve in input il valore del salario settimanale base ed il numero totale di ore
lavorate. Il programma deve fornire in output la paga totale specificando i dettagli per le ore lavorate
oltre alla 36. Sono riportati qui sotto degli esempi di interazione del programma con diversi dati di ingresso:

• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 33
Salario per questa settimana: 360 Euro
• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 38
Salario per questa settimana: 384 Euro
Numero di ore pagate a 1.2 volte il salario di base: 2
• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 50
Salario per questa settimana: 540 Euro
Numero di ore pagate a 1.2 volte il salario di base: 10
Numero di ore pagate a 1.5 volte il salario di base: 4
"

Allora, dato che io non ho ancora mai usato il ciclo while, ho fatto che sviluppare il programma con un approccio un pò più semplicistico, cioè:

Codice:
#include <stdio.h>

int main()
{

  int sal, ore, i, sal12, orep, orepp, sal15;
  
  printf("Inserire il salario settimanale dell'impiegato [Euro]: ");
  scanf("%d", &sal);
  
  printf("Inserire il numero di ore lavorative: ");
  scanf("%d", &ore);
  
  if( ore <= 36)
    printf("Salario per questa settimana: %d\n", sal);

  if(( ore >= 37 ) || ( ore <= 46 ))
    {
	orep = ore - 36;
	sal12 = sal + ((sal/36) * (orep * 1.2));
	printf("Salario per questa settimana: %d\n", sal12);
	printf("Numero di ore pagate a 1.2 volte il salario di base: %d\n", orep); 
    }
	
  if(( ore >= 46 ) || ( ore <= 99 ))
    {
    orepp = ore - 36;
    sal15 = sal + ((sal/36) * (orepp * 1.5));
	printf("Salario per questa settimana: %d\n", sal15);
    printf("Numero di ore pagate a 1.5 volte il salario di base: %d\n", orepp); 
    }
  
  return 0;

}
solo che, naturalmente non è giusto è deve ancora essere finito, ma non riesco a capire/pensare come faccio a mettere assieme tutti gli if in un while.
Qualcuno pò aiutarmi per favore?
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:13   #2
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Allora, ho da fare questo esercizio, e penso ma non ne sono sicurissimo, devo utilizzare il ciclo while.

L'esercizio è:
"
Scrivere un programma in linguaggio C che determini la paga lorda settimanale di un impiegato. Si tenga presente che:
• per le prime 36 ore lavorate l’impiegato riceve il salario settimanale di base;
• per le ore lavorate fra 37 e 46 il valore dell’ora aumenta a 1.2 volte il suo valore di base;
• per le ore oltre la 46 l’azienda paga 1.5 volte il valore orario base.
Il programma chiede e riceve in input il valore del salario settimanale base ed il numero totale di ore
lavorate. Il programma deve fornire in output la paga totale specificando i dettagli per le ore lavorate
oltre alla 36. Sono riportati qui sotto degli esempi di interazione del programma con diversi dati di ingresso:

• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 33
Salario per questa settimana: 360 Euro
• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 38
Salario per questa settimana: 384 Euro
Numero di ore pagate a 1.2 volte il salario di base: 2
• Inserire il salario settimanale dell’impiegato [Euro]: 360
Inserire il numero di ore lavorate: 50
Salario per questa settimana: 540 Euro
Numero di ore pagate a 1.2 volte il salario di base: 10
Numero di ore pagate a 1.5 volte il salario di base: 4
"

Allora, dato che io non ho ancora mai usato il ciclo while, ho fatto che sviluppare il programma con un approccio un pò più semplicistico, cioè:

Codice:
#include <stdio.h>

int main()
{

  int sal, ore, i, sal12, orep, orepp, sal15;
  
  printf("Inserire il salario settimanale dell'impiegato [Euro]: ");
  scanf("%d", &sal);
  
  printf("Inserire il numero di ore lavorative: ");
  scanf("%d", &ore);
  
  if( ore <= 36)
    printf("Salario per questa settimana: %d\n", sal);

  if(( ore >= 37 ) || ( ore <= 46 ))
    {
	orep = ore - 36;
	sal12 = sal + ((sal/36) * (orep * 1.2));
	printf("Salario per questa settimana: %d\n", sal12);
	printf("Numero di ore pagate a 1.2 volte il salario di base: %d\n", orep); 
    }
	
  if(( ore >= 46 ) || ( ore <= 99 ))
    {
    orepp = ore - 36;
    sal15 = sal + ((sal/36) * (orepp * 1.5));
	printf("Salario per questa settimana: %d\n", sal15);
    printf("Numero di ore pagate a 1.5 volte il salario di base: %d\n", orepp); 
    }
  
  return 0;

}
solo che, naturalmente non è giusto è deve ancora essere finito, ma non riesco a capire/pensare come faccio a mettere assieme tutti gli if in un while.
Qualcuno pò aiutarmi per favore?
while...?


usare uno switch no?
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:14   #3
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Poi... io non userei gli integer... per i cash ma i floating point!
Poi la condizione sull'IF è sbagliata... devi usare && (and logico...)
Poi l'ultima IF... perche deve essere minore di 99? Non hai un limite imposto nell'esercizio
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard

Ultima modifica di euphyllia87 : 23-10-2009 alle 19:17.
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:18   #4
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Il fatto è che lo switch non ce lì hanno ancora spiegati...
E per il floating point al posto degli interi veramente ci avevo pensato anche io, però poi non lì ho usati perchè da output di esempio i valori venivano restituiti tipo "360" e non "360.000"..
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:22   #5
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Il fatto è che lo switch non ce lì hanno ancora spiegati...
E per il floating point al posto degli interi veramente ci avevo pensato anche io, però poi non lì ho usati perchè da output di esempio i valori venivano restituiti tipo "360" e non "360.000"..
Dammi due minuti.
Lo Switch va bene ma dovresti usare un altro sistema... ovvero dividere i pagamenti in fasce (fascia 1, 2 e 3).

Ora ti stampo il codice ottimizzato.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:25   #6
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Certamente che aspetto.
Guarda, è tutto il pomeriggio che sto facendo prove, schemi, ma non ho ancora risolto niente....
E adesso eccomi qua a
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:27   #7
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Codice:
#include "stdio.h"

float calc(float payments, int hour, int value);

int main(int argc, char* argv[])
{
	int hour, value;
	float payments;
	
 	printf("Inserire il salario settimanale dell'impiegato [Euro, esempio: 100.00]: ");
  	scanf("%f", &payments);

	printf("Inserire il numero di ore lavorative: ");
	scanf("%d", &hour);
	
	if(hour <= 36)
	{
	    printf("Salario per questa settimana: %2f\n", payments);
		return 0;
	}
	else if(hour >= 36 && hour <= 47)
	{
	    printf("Salario per questa settimana: %2f\n", calc(payments, hour, 1.2));
		return 0;	
	}
	else
	{
	    printf("Salario per questa settimana: %2f\n", calc(payments, hour, 1.5));
		return 0;
	}
}

float calc(float payments, int hour, int value)
{
	hour -= 36;
	payments += ((payments/36) * (hour * value));	
}
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:34   #8
Cadetto Entusiasta
Member
 
L'Avatar di Cadetto Entusiasta
 
Iscritto dal: Apr 2005
Città: Prov. di Torino
Messaggi: 164
Sinceramente, non ho capito molto/quasi niente di quello che hai postato..
__________________
IMPOSSIBLE IS NOTHING
Cadetto Entusiasta è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 19:45   #9
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da Cadetto Entusiasta Guarda i messaggi
Sinceramente, non ho capito molto/quasi niente di quello che hai postato..
LOL... ho cercato di farlo più semplice possibile.
Devo spiegartelo? Ho usato una funzione calc...
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 23:27   #10
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Ora è completo e corretto:

Codice:
#include "stdio.h"

float calc(float payments, int hour, int value);

int main(int argc, char* argv[])
{
	int unsigned hour, value;
	float payments;
	
 	printf("Inserire il salario settimanale dell'impiegato [Euro, esempio: 100.00]: ");
  	scanf("%f", &payments);

	printf("Inserire il numero di ore lavorative: ");
	scanf("%d", &hour);
	
	if(hour <= 36)
	{
	    printf("Salario per questa settimana: %.2f\n", payments);
		return 0;
	}
	else if(hour > 36 && hour <= 47)
	{
	    printf("Salario per questa settimana: %.2f\n", calc(payments, hour, 1.20));
		return 0;	
	}
	else
	{
	    printf("Salario per questa settimana: %.2f\n", calc(payments, hour, 1.50));
		return 0;
	}
}

float calc(float payments, int hour, int value)
{
	hour -= 36;
	payments += ((payments/36) * (hour * value));	
}
Ovviamente l'unsigned sui valori float non esiste... l'IEEE ci ha insegnato qualcosa
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-10-2009, 23:38   #11
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Rivisto per l'ultima volta

Codice:
#include "stdio.h"

#define RANGE_A 1.20
#define RANGE_B 1.50

float calc(float payments, short int hour, short int value);

int main(int argc, char* argv[])
{
	unsigned short int hour, value;
	float payments;
	
 	printf("Inserire il salario settimanale dell'impiegato [Euro, esempio: 100.00]: ");
  	scanf("%f", &payments);

	printf("Inserire il numero di ore lavorative: ");
	scanf("%hd", &hour);
	
	if(hour <= 36)
	{
	    printf("Salario per questa settimana: %.2f Euro\n", payments);
		return 0;
	}
	else if(hour > 36 && hour <= 47)
	{
	    printf("Salario per questa settimana: %.2f Euro\n", calc(payments, hour, RANGE_A));
		return 0;	
	}
	else
	{
	    printf("Salario per questa settimana: %.2f Euro\n", calc(payments, hour, RANGE_B));
		return 0;
	}
}

float calc(float payments, short int hour, short int value)
{
	hour -= 36;
	payments += ((payments/36) * (hour * value));	
}
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 00:41   #12
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Ma li compili i programmi prima di postare?
La funzione calc non restituisce niente.

Ultima modifica di ||ElChE||88 : 24-10-2009 alle 00:57.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 00:43   #13
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Ma li compili i programmi prima di postare?
La funzione calc non ritorna niente.
Infatti è una procedura... non è una funzione.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard

Ultima modifica di euphyllia87 : 24-10-2009 alle 00:45.
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 00:56   #14
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Infatti è una procedura... non è una funzione.
Può anche essere la dentiera di mia nonna, ma se scrivi float calc significa che devi restituire un float.

PS: Qual'è la differenza tra procedura e funzione?

Ultima modifica di ||ElChE||88 : 24-10-2009 alle 01:02.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 01:00   #15
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Può anche essere la dentiera di mia nonna, ma se scrivi float calc significa che devi restituire un float.

PS: Qual'è la differenza tra procedura e funzione?
La funzione RITORNA un valore... una procedura non necessariamente.
La puoi trasformare in funzione con un semplice:

Codice:
return payments;
ed per l'ANSI C è decisamente più corretto.
La procedura sopra da me descritta non RITORNA un valore, ma restituisce una variabile con un valore.
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 01:24   #16
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Sei sei sicuro di sapere il C?

In C ci sono soltanto funzioni. Quando parli di procedura probabilmente intendi una funzione che non restituisce niente (void) e che modifica una delle variabili passate negli argomenti.

Tralasciando il fatto che il modo in cui esegui i calcoli è sbagliato (basta provare con gli esempi del primo post), gli errori gravi che hai fatto sono:
1)
Codice:
float calc
significa che la funzione restituisce un float. Non restituire niente è sbagliato, avresti dovuto dichiararla come
Codice:
void calc
2)
Codice:
(float payments, short int hour, short int value)
Se vuoi che le modifiche alla variabile payments si propaghino al di fuori della funzione devi passare un puntatore alla variabile, altrimenti viene passata solo una copia della variabile.
Codice:
(float* payments, short int hour, short int value)
...
*payments += ((*payments/36) * (hour * value));
3)
Codice:
printf("Salario per questa settimana: %.2f Euro\n", calc(payments, hour, RANGE_A));
Se una funzione non restituisce nulla non puoi usarla in quel modo...
Codice:
calc(&payments, hour, RANGE_B);
printf("Salario per questa settimana: %.2f Euro\n", payments);
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 01:36   #17
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Procedure e funzioni sono un discorso legato a qualsiasi linguaggio di programmazione imperativo... non solo al C.

Per quanto riguarda la funzione ritorna un float nel caso tu ritorni un float.

Se non ritorni un niente, è una procedura; è corretto indicarla con un void ma non sbagliato indicarla con un tipo di dato diverso al void; certo non è sintatticamente corretto.

E' un pò come la storia del void main(); c'è chi sostiene che il main debba ritornare un integer e quindi si definisce come int main con un return finale, c'è chi invece definisce il void e non ritorna niente (e qui splittano i vari utilizzi/impieghi/necessità del void/int main).

Per quanto riguarda il discorso del puntatore... è una cosa che non sapevo; di solito utilizzo il puntatore per accedere alle locazioni di memoria delle variabili.

PS. non ho mai detto di essere un esperto del C di conseguenza posso commettere anche degli errori di sintassi, non toccando questo splendido linguaggio da oltre 6 anni...
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard

Ultima modifica di euphyllia87 : 24-10-2009 alle 01:50.
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 01:40   #18
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Ho dato uno scorcio ora al tuo codice.
Cosa ritornerebbe ora calc dopo la modifica? payments?

Ma non era un puntatore?

EDIT: ho intuito che hai cambiato il tipo di dato della funzione.

Tornando in tema, l'unico errore 'grave' da me commesso è l'assenza del return nella funzione calc di tipo float.
E nonostante questo siamo riusciti a fornire due soluzioni valide e funzionanti all'utente che ne aveva bisogno (lo scopo del topic).
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard

Ultima modifica di euphyllia87 : 24-10-2009 alle 01:46.
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 02:36   #19
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Procedure e funzioni sono un discorso legato a qualsiasi linguaggio di programmazione imperativo... non solo al C.
Il linguaggio C ha soltanto funzioni; la divisione tra funzioni e procedure fa parte di altri linguaggi (Pascal ad esempio)... poi nessuno vieta di applicare il concetto al C (però rimane comunque soltanto un concetto).
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Se non ritorni un niente, è una procedura; è corretto indicarla con un void ma non sbagliato indicarla con un tipo di dato diverso al void; certo non è sintatticamente corretto.
Se non è sintatticamente corretto è sbagliato. Comunque:

ANSI C § 6.9.1/12
If the } that terminates a function is reached, and the value of the function call is used by the caller, the behavior is undefined.

Tu hai fatto proprio questo (usato la funzione all'interno della printf).

Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
E' come la storia del void main(); ci sono filosofie di pensiero completamente diverse su questo tema
Purtroppo lo standard non è molto chiaro in merito, ma sono previsti anche tipi di ritorno diversi da int (ANSI C § 5.1.2.2/1 e § 5.1.2.2/3)
Quote:
Originariamente inviato da euphyllia87 Guarda i messaggi
Tornando in tema, l'unico errore 'grave' da me commesso è l'assenza del return nella funzione calc di tipo float.
E nonostante questo siamo riusciti a fornire due soluzioni valide e funzionanti all'utente che ne aveva bisogno (lo scopo del topic).
Ehm, veramente (come ho specificato sopra) il programma non restituisce il risultato corretto.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-10-2009, 07:48   #20
euphyllia87
Member
 
Iscritto dal: Oct 2009
Città: Varese
Messaggi: 209
Allora, una cosa e la ripeto per l'ultima volta.

In C, come in tutti i linguaggi imperativi esistono procedure e funzioni.
Che non vengano usate (le procedure) è un discorso diverso.

Ma esistono. Ne ho avuto conferma guardando almeno una decina di codici sorgenti di 'progetti' opensource, prendendo in mano due libri di C e guardando gli appunti di un mio docente universitario che si occupa di C e basta.

Su questo sono sicuro. Non girarla in maniera diversa

Per la storia dell'annidamento delle funzioni, sai che non lo sapevo? Mi fai crollare un mondo! D'altronde non toccando C da tanti anni alcune cose si dimenticano, soprattutto se utilizzi linguaggi OOP come Java e C#.

Il mio sorgente è compilato e funziona; mi riporta i valori esatti.
Come è possibile? Indagherò quest'oggi.

PS. ora basta però mi sa che siamo ampiamente in OT, la soluzione l'abbiamo fornita all'utente
Se vuoi continuare a parlarne possiamo farlo benissimo in PVT
__________________
MacBook White 13.3'' Intel CPU :: 2GB DDR2 800Mhz :: 160Gb :: Mac OS X 10.6 Snow Leopard

Ultima modifica di euphyllia87 : 24-10-2009 alle 08:08.
euphyllia87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Mondraker Crafty Unlimited Gulf Edition,...
Amazon, altro rilancio per Haul: sconto ...
Chiusi in un bunker per soldi: Fallout d...
Yakuza Kiwami 3 and Dark Ties avrà...
Iran, il regime prolunga il blocco di in...
Lucasfilm cambia guida: cosa succede a S...
Roborock lancia in Italia F25 ACE Pro: c...
Auto elettriche, a Busto Arsizio stop al...
Smartphone potenti sotto i 300€: ecco i ...
Google rassicura: ChromeOS continuer&agr...
Merge Labs: esce allo scoperto la societ...
Blocco note su Windows 11 è sempre più c...
Cybersecurity: la vera leva strategica p...
Huawei annuncia tre prodotti: uno smartp...
La Cina sta proseguendo i test del razzo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v