C progr.

Tags:    c++

Nogle der kan se af hvor jeg laver fejl?

Når jeg printer ud, så får jeg:"253531009815049120000000000000000.000000" som gennemsnits temperatur for jan2009, hvilket er helt henne i vejret, for det skal give -2,06.

takker på forhånd.

Tekstfilerne som programmet skal læse fra, kan downoades i nedstående links:

TempJan2008.txt http://peecee.dk/upload/view/159973

TempJan2009.txt http://peecee.dk/upload/view/159974

#include <stdio.h>
#include <stdlib.h>


float gsnit(float a[], int antal)
{
int i;float sum=0;
for(i=0; i < antal; i++)
{
sum+=a;
}
return sum/antal;

}

int main(void)
{
float temp08[31],temp09[31];
FILE *fpt;
FILE *fpq;
int i, n;
float snit08,snit09;

fpt = fopen("TempJan2008.txt","r");

for(n = 0; n < 31; n++){ fscanf(fpt,"%f",&temp08[n]); }
fclose(fpt);

snit08 = gsnit(temp08,31);
printf("Gennemsnitstemperaturen for januar 2008 er %f\n",snit08);

fpt = fopen("TempJan2009.txt","r");

for(i=0; i < 31; i++){ fscanf(fpt,"%f",&temp09);}
fclose(fpt);

snit09 = gsnit(temp09,31);
printf("Gennemsnitstemperaturen for januar 2009 er %f\n",snit09);

return 0;
}




Jeg skal aflevere den imorgen, og mangler en del, håber kan få svar en smugle hurtigere hvis det muligt?



Jeg har ændret koden så den kan oversætte, ændringer er beskrevet i kommentarer */

Fold kodeboks ind/udKode 


Jeg ved ikke om det virker...

Dine links til filerne virker ikke




sorry, her skulle de være der:

nedbør jan 2008
http://peecee.dk/upload/view/160532

nedbør jan 2009
http://peecee.dk/upload/view/160533




Jeg har prøvet at køre dine ændringer, kompileren kan ikke køre den, den går i stå og siger at programmet har fundet en fejl. (så kommer den der fejlrapport til microsoft frem).



så der må være en fejl et eller andet sted, Jeg har prøvet og udelukke den første funktion, temperaturmaaling, så kører programmet i fejl. Fejlen må så være i den nye funktion (nedboermængde).



Jeg tror at filen skal hedde nJan20083.txt der hvor du åbner den.

Og der mangler et & tegn i denne linje:
fscanf(fpt, "%f", nbj08[n])
Det skal være:
fscanf(fpt, "%f", &nbj08[n])



Yeah.. nu er den lavet ;)
Det var den der & tegn der manglede. men det 3-tal der kommer på filnavnet til sidst, det er den der peecee hjemmeside der tilføjer den. :)
Jeg prøver lige selv at lave for Januar 2009, hvis jeg går i stå, må jeg vel vende tilbage.



Har skrevet lidt mere på koden, og det kører, herligt ;)

den nye kode:
Fold kodeboks ind/udKode 


Men nu er jeg nået til en delopgave der siger: programmet skal udskrive hvor mange dage temperaturen var større end 0 grader, hvor mange dage med 0 grader og hvor mange dage med minusgrader i januar2008.

Hvordan gør jeg det? have no idea.




Lav tre nye variabler:
int below0 = 0, was0 = 0, above0 = 0;

Lav en loop der løber alle målingerne for måneden igennem, og så så en if/if else/else
Fold kodeboks ind/udKode 

Så skal du bare skrive de tre varibler ud, med en passende tekst.



Jeg har svært ved at se hvordan jeg skal kalde funktionen til at køre den for loop?



t