[C]problema con una funzione

frab1
Buongiorno,
sto risolvendo il presente quesito in C:
"Sommare i primi n numeri naturali(n richiesto da tastiera).Realizzare il sorgente implementando 2 funzioni, una che legga n, e l'altra che calcoli la sommatoria".

Ho un solo problema, non riesco a restituire al main correttamente il valore letto dalla funzione $acquisizione()$ e pertanto non riesco a fornire il numero per calcolare la sommatoria. Qualcuno ha un consiglio da darmi?Grazie :roll:
... ecco il codice

//SOMMARE I PRIMI N NATURALI(N DA TASTIERA);USA 1 FUNZIONE PER LA LETTURA,1 FUNZIONE PER CALCOLARE LA SOMMATORIA

#include <stdio.h>

int acquisizione();
int sommatoria(int n);

int main(void)
{
	acquisizione();
	printf("Il valore acquisito è:%d\n",acquisizione());
	sommatoria(n);
	printf("La sommatoria vale: %d\n",sommatoria(n));
}

int acquisizione()
{
	int n=0;
	printf("Inserire n (corrispondente al numero di cifre da sommare):\n");
	scanf("%d",&n);
	return n;
}

int sommatoria(int n)
{
	int i=0,sum=0;
	for (i=0;i<=n;i++) {
		sum+=i;
	}
	return sum;
}	

Risposte
minomic
Ciao,
nel main stai chiamando due volte la funzione acquisizione. Puoi semplicemente fare così:

int n = acquisizione();
printf("Il valore acquisito e' %d\n", n);

frab1
Grazie infinite! :-)

minomic
Prego! ;)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.