Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Nuove informazioni sul fallimento del la...
SpaceX: completato parte dell'assemblagg...
Landspace si prepara al secondo lancio d...
Tutti gli sconti Apple su Amazon: tornan...
Altro che entry-level: due smartwatch Am...
Roscosmos ha posticipato (ancora) il lan...
Isar Aerospace si prepara al secondo lan...
Tory Bruno è entrato in Blue Orig...
Fujifilm lancia la cartuccia per archivi...
Dreame H15 Mix: la soluzione 7-in-1 per ...
AirPods Pro 3 in forte sconto su Amazon:...
36 offerte Amazon, molte appena partite:...
2 caricatori multipli eccezionali: da 28...
OLED e 360 Hz a un prezzo senza preceden...
Roborock Q10 S5+ a un prezzo molto conve...
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: 21:04.


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