C C#

lxlox

Cadet 4th Year
Registriert
Nov. 2013
Beiträge
74
Ich möchte eine Kommazahl ausrechnen die durch 0,5 teilbar ist. Das klappt jedoch noch nicht so gut in c wie ich will. Ich bekomme immer das selbe raus: " 1.#InF00 ". Könnt Ihr mir bitte helfen?

Code:
#include <stdio.h>

int main()
{
    double summe, zwischensumme;
    int auswahl;
    zwischensumme= 0.5/summe;

    
    
  
  printf("Geben Sie die Summe ein, die durch 0.5 geteilt werden soll: ");
  scanf("%lf", &summe);
  
  printf("waehlen sie 1 oder etwas anderes: ");
  scanf("%d", &auswahl);
  
  switch (auswahl)
  {
         case 1:
                
                printf("die zwischensumme betraegt %f \n", zwischensumme);
                break;

         default:
                printf("Sie haben sich nicht zwischen fuer 1 entschieden");
                break;
  }
  
  system("PAUSE");	
  return 0;
}
 
AW: C#-Sammelthread

Du teilst in Zeile 7 die Zahl 0.5 durch summe - wobei summe nicht initialisiert ist, also 0.
 
AW: C#-Sammelthread

Geiler Code, Definieren und Deklinieren von Variablen ist an Dir vorbei gegangen: Lese in folgendem Buch:
http://de.wikipedia.org/wiki/The_C_Programming_Language

Ist ein dünnes Heft nur, aber so gut wie alle Kernel Coder haben das intus...

Und wieso schreibst Du nicht:

void main(void){}

CPU für die Katz ackern lassen offensichtlich, oder besteht die nächste Aufgabe, das return(0) durch einen definierten integer an die Console zurück zu feuern ? Wat jetzt die Console mit einem Integer anfangen soll questionmark.

www.mycsharp.de - Du wirst sofort durchschaut wegen dem Threadtitel System.("PAUSE");
 
Zuletzt bearbeitet:
DigitalIllusion schrieb:
Geiler Code, Definieren und Deklinieren von Variablen ist an Dir vorbei gegangen: Lese in folgendem Buch:
http://de.wikipedia.org/wiki/The_C_Programming_Language

Ist ein dünnes Heft nur, aber so gut wie alle Kernel Coder haben das intus...

Jeder hat mal "klein" angefangen..

DigitalIllusion schrieb:
Und wieso schreibst Du nicht:

void main(void){}

CPU für die Katz ackern lassen offensichtlich, oder besteht die nächste Aufgabe, das return(0) durch einen definierten integer an die Console zurück zu feuern ? Wat jetzt die Console mit einem Integer anfangen soll questionmark.

Diese Aussage ist sowas von Quatsch. Frag das nächste mal deine "Kernel Coder". Zu Zeiten von ANSI C (oder heutzutage im embedded Bereich bzw. mystischen Compilern) taucht(e) void main(void) auf. Mittlerweile wird von main verlangt einen int zurückzuliefern, andernfalls wird, was auch immer im entsprechenden Register gespeichert ist, als Exit-Code verwendet - nicht sonderlich clever.
 
Prozessorregister interessieren sich doch nicht für die console, Betriebsystemfunktionen höchstens. Nonsens also,

Wenn ich in A0-A7, D1-D7 einen 32 Bit Wert hatte, das war der Console egal und so ist es auch wenn ich ne windows 7 consolen applikation schreibe und die ohne rückgabe beende, aners ist das in scripts mit übergabewerten oder ReXX

Ich hole noch weiter aus. Doug Walker vom SAS Institute, Canada, war Compilerbauer und lange wie ein Vater für mich. Auf dem MC68000 übersetzte der Lattice C, später SAS C Compiler void main(void){} mit #$4e75.

#$4e75 ist ein RTS auf dem Prozessor, schlank wonich. Und da gehe ich in Aalborg Denmark auf The Party, zähle wegen Pinball Dreams Coding die Taktzyklen für scrollfreies Ruckeln mit The Silents um mir dann son Scheiss hier anzuhören. Frames ohne Ende mit Blitter und Copper.

TE: Zeig dem Professor, das Du Rechenzeit einsparen kannst mit void main(void){}

http://www.youtube.com/watch?v=cB7HFyONyFk

http://www.youtube.com/watch?v=6UNGMiPETXo

Carnivore Beermacht mit Beermon, geila Coder in Assembler - Düsseldorf TRSI


Schätzelein, ich habe auf 8 Bit gelernt, 2KB Adressraum reichte, dann 32/16 Bit, also Prozessor intern 32 Bit, Adressraum 16 Bit, jetzte auf den starken Speichern, 32 bit/64 Bit, hoch neee was haben wir Platz allemann.
 
Zuletzt bearbeitet:
AW: C#-Sammelthread

DigitalIllusion schrieb:
Und wieso schreibst Du nicht:

void main(void){}

CPU für die Katz ackern lassen offensichtlich, oder besteht die nächste Aufgabe, das return(0) durch einen definierten integer an die Console zurück zu feuern ? Wat jetzt die Console mit einem Integer anfangen soll questionmark.

www.mycsharp.de - Du wirst sofort durchschaut wegen dem Threadtitel System.("PAUSE");

Oh Mann, da geht mir glatt der Hut hoch. Vielleicht tut er es deshalb nicht, weil void main schlicht und ergreifend FALSCH ist. Der C-Standard verlangt, daß main einen int-Wert zurückgibt, und damit hat sich die Sache erledigt.

(Und die Rechenzeit, die du mit so einem Blödsinn zu sparen glaubst, mußt du mir mal zeigen.)
Ergänzung ()

lxlox schrieb:
Ich möchte eine Kommazahl ausrechnen die durch 0,5 teilbar ist. Das klappt jedoch noch nicht so gut in c wie ich will. Ich bekomme immer das selbe raus: " 1.#InF00 ". Könnt Ihr mir bitte helfen?

Code:
#include <stdio.h>

int main()
{
    double summe, zwischensumme;
    int auswahl;
    zwischensumme= 0.5/summe;

    
    
  
  printf("Geben Sie die Summe ein, die durch 0.5 geteilt werden soll: ");
  scanf("%lf", &summe);
  
  printf("waehlen sie 1 oder etwas anderes: ");
  scanf("%d", &auswahl);
  
  switch (auswahl)
  {
         case 1:
                
                printf("die zwischensumme betraegt %f \n", zwischensumme);
                break;

         default:
                printf("Sie haben sich nicht zwischen fuer 1 entschieden");
                break;
  }
  
  system("PAUSE");	
  return 0;
}

Dir ist aber schon aufgefallen, daß du deiner summe-Variablen nie einen Wert zugewiesen hast, bevor du 0.5 durch summe dividierst, oder? Demzufolge kommt bei der Division irgend ein zufäliger Murks raus, und der steht dann in zwischensumme drin. Also, erst mal summe einen Wert zuweisen; erst dann mit summe weiterrechnen.
Und verpasse den Variablen mal gescheite Namen. Summe und Zwischensumme impliziert Addition, während du da ja ganz offensichtlich eher Division betreibst.
 
Zuletzt bearbeitet:
naja, was auch immer passieren wird, der code funzt nicht
 
Zurück
Oben