infatti ho dimenticato la fprintf..ecco il codice
codice:
#include <stdio.h>
#include <stdlib.h>
#define N 6
/*
*
*
*
*
*/
int main() {
int numero, num, pos, media;
int i = 0;
int j = 0;
int k = 0;
int V[N];
struct risultato{
int pos;
float med;
}risultati[N];
FILE *cfPtr; /*cfPtr = punta al file ingresso.txt*/
/*scrive il file*/
if ((cfPtr = fopen("appello.txt", "w")) == NULL){
printf ("Il file non può essere aperto");
}
else{
printf ("Inserisci i numeri del vettore : \n");
printf ("Inserisci EOF per terminare l'inserimento \n");
scanf ("%d", &numero);
while (!feof(stdin)){
fprintf (cfPtr, "%d\n", numero);
scanf ("%d", &numero);
}
fclose(cfPtr);
}
/*fopen apre il file*/
if ((cfPtr = fopen("appello.txt", "r")) == NULL){
printf ("Il file non può essere aperto");
}
else{
fscanf (cfPtr, "%d", &numero);
V[i] = numero;
i++;
while (!feof(cfPtr)){
fscanf (cfPtr, "%d", &numero);
V[i] = numero;
i++;
}
fclose(cfPtr);
}
printf ("Inserisci il numero da cercare : \n");
scanf ("%d", &num);
k = 0;
for (j = 0; j < i - 1; j++){
if (num == V[j]){
risultati[j].pos = k;
risultati[j].med = (float)(V[k-1]+ V[k+1])/2;
printf ("Posizione del numero : %d\n", risultati[j].pos);
printf ("Media : %.2f", risultati[j].med);
}
k++;
}
return 0;
}
ho notato una cosa strana con visual c++, cioè eseguendo il debug passo passo mi stampa le ultime 2 printf con i risultati..mentre se vado in esecuzione normale...alla fine mi chiede la finestra senza mostarmi i risultati..come mai?