Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Mein Programm bleibt hängen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
13.04.2005, 11:21 Uhr
Psus82



Ich habe ein Programm zu Sinusberechnung geschrieben.
Aber irgendwie bleibt er nach der Grad eingabe hängen.
Könnt ihr mal darüber schauen wo der Fehler liegt?
Hier sind meine Programme.
Meine Header.h

C++:
double Summengliedfunktion(double);
double Potenzfunktion(int,double);
double Fakultaetfunktion(int);



Meine Main


C++:
#include <stdio.h>
#include <math.h>
#include "header.h"

int main ()

{
  double Ergebnis=0, Eingabe=0, MathErgebnis=0;
  
  int Abbruch = 0;
  
  while (Abbruch!=1)
  {
    
    printf ("\t ** Sinusberechnung **");
    
    printf ("\n\n Gradzahl: ");
    
    scanf ("%lf",&Eingabe);
    
    printf("1");
    
    Ergebnis=Summengliedfunktion (Eingabe);
    
    MathErgebnis = sin (Eingabe);
    
    printf (" Ergebnis: %lf",Ergebnis);
    
    printf (" Math.h Ergebnis:%lf ",MathErgebnis);
    
    printf ( "\n\n\n\t ! Abbruch mit 1 !");
    
    scanf("%i",&Abbruch);
    
    }
   return 0;
}




Meine Summengliedfunktion


C++:
#include "header.h"
#include <stdio.h>

double Summengliedfunktion (double Eingabe)

{
double TempErgebnis=0, TempErgebnis2=0 ,Summenglied=0, BetragSummenglied=0,Potenz=0,Fakultaet;

int Counter3;


for (Counter3=1; Counter3<=Eingabe; Counter3++)

   {
     Potenz = Potenzfunktion (Counter3,Eingabe);
    
     Fakultaet = Fakultaetfunktion (Counter3);
    
     Summenglied=Potenz/Fakultaet;
    
     if (Summenglied <0)
    
      {
        BetragSummenglied=Summenglied*(-1);
        
      }
      
      else
      
       {
        BetragSummenglied=Summenglied;
        
       }
      
       while ( BetragSummenglied <= 0,00001)
      
       {
      
         if (Counter3 %2==0)
        
            {
            TempErgebnis=TempErgebnis+Summenglied;
          
            }
            
            else
            
            {
             TempErgebnis=TempErgebnis-Summenglied;
            
            }
            
        }
        
}
   TempErgebnis2=TempErgebnis;
   return TempErgebnis2;
  
}
            
            
    




Meine Potenzfunktion



C++:
#include"header.h"

double Potenzfunktion (int Counter3, double Eingabe)

{
  
  int Counter1;
  
  double PotenzTemp=1;
  
  for (Counter1=1 ; Counter1<=Counter3; Counter1++)
  
  {
    PotenzTemp=PotenzTemp*Eingabe;
    
  }
    return PotenzTemp;
}




Und meine Fakultätfunktion



C++:
#include"header.h"

double Fakultaetfunktion (int Counter3)

{
  int Counter2;
  double FakultaetTemp=1;
  
  for (Counter2=1; Counter2<=Counter3; Counter2++)
  
  {
   FakultaetTemp=FakultaetTemp*Counter2;
  
  }
      return FakultaetTemp;
}






Wäre echt toll wenn ihr den Fehler oder die Fehler finden würdet habe schon mit vier man drüber geschaut und nichts gefunden.
--
Drei Dinge die Programmierer hassen:
1.)Frische sauerstoffreiche Luft
2.)Sonnenschein
3.)Das ätzende Geräusch zwitschernder Vögel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.04.2005, 11:27 Uhr
Tommix



Hallo,
was mir auf die Schnelle ins Auge springt ist

C++:
while ( BetragSummenglied <= 0,00001)


in SummenGliedFunktion, da muß ein Punkt hin (statt dem Komma).

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: