EOF (End of File)

hallooo,
das Programm soll später mittelwert, abweichung etc ausgeben.
mein problem ist, wenn ich die eingabe mit ctrl-d abbreche, wird auf die anzahl der Zahlen trotzdem noch einer drauf gezählt.
ist meine if-abfrage falsch??

#include 

int main()
{
 float zahlen[6]={0,0,0,0,0,0}, summe=0, mittelwert=0, abweichung=0;
 int i=0, j=0,anzahl=0, ende=0;

 printf('\nBitte geben Sie die Zahlen mit 2 Nachkommastellen an!');

 while (ende!=EOF && i

_[MOD]: 

    -Tags hinzugefügt, in Zukunft bitte selbst machen._ 

hallooo,

Hi,
also was ich nicht ganz verstehe, woher denn nun dieses EOF kommt. Normalerweise wird dies doch genutzt, wenn man mit FILE* aus einer Datei liest, um eben das Ende selbiger anzuzeigen. Da du allem Anschein nach aber eben nicht aus einer Datei liest, ist diese Abfrage doch wahrscheinlich ohne Effekt oder? Falls ich da jetzt falsch liege könntest du mich ja aufklären, denn eigentlich habe ich mit C nix zu tun, sondern viel mehr mit C++.

Hruß UsYer

[MOD]: sinnloses full-quote gelöscht

Hallo,

das Programm soll später mittelwert, abweichung etc ausgeben.
mein problem ist, wenn ich die eingabe mit ctrl-d abbreche,
wird auf die anzahl der Zahlen trotzdem noch einer drauf
gezählt. ist meine if-abfrage falsch??

Ja, Du mußt genau schauen, wann Du die Schleife anhalten mußt
und wann Du den Zähler hochzählen mußt.

#include

int main()
{
float zahlen[6]={0,0,0,0,0,0}, summe=0, mittelwert=0,

Ich hab mal Deinen Quelltext minimal verändert - so, wie ich denke,
daß es richtig gehen müßte:

#include 

 int main()
{
 double zahlen[]={ 0, 0, 0, 0, 0, 0 }, summe=0, r\_mean=0;
 int i, ende=0, anzahl=0, N=sizeof(zahlen)/sizeof(zahlen[0]);
 char puffer[25];

 printf("\nBitte geben Sie die %d Zahlen mit je 2 Nachkommastellen an!\n", N);
 setbuf(stdout, NULL);

 while( ! ende && anzahl 

Grüße

CMБ