tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
13
ZUGRIFFE
625
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    IFIllusion IFIllusion ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    1
    Hallo, ich fange gerade an C zu lernen, bekomme es aber etwas nicht hin. Ich möchte ein kleines Programm schreiben, dass folgendes tut: Es soll je nach Tastatureingabe (auswahl zwischen "a" für die Berechnung von sin(x) und "b" für die Berechnung von cos(x))diese beiden Funktionen berechnen. Ich stelle mir den Programmablauf so vor:
    1) a für sin(x) / b für cos(x)
    2) Eingabe: a
    3) für welchen Wert soll sin(x) berechnet werden?
    4) Eingabe: x=1
    Leider weiss ich nicht wie ich das schaffe, Bücher und Skripte haben mir dabei auch nicht geholfen..., dass ich die math.h einbinden muss weiss ich
     

  2. #2
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Hallöle *g*

    Warum lernst du C, und nicht C++/C# (Achtung, C++ und C# sind anders!).
    Wenn dein kompiler auch C++ "versteht" kann ich dir vl. helfen..

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    #include <cmath>
    #include <iostream>
    using namespace std;
     
    int main() {
         char was; // *g*
         cout<<"Bitte a für sin(x) und b für cos(x) drücken!\n";
         cin>>was;
         
         double zahl;
         double erg;
     
         if(was=="a") {
              cout<<"\n\nGeben sie eine Zahl für x ein:\n";
              cin>>zahl;
              erg = sin(zahl); //Syntax: double sin(double zahl);
              cout<<"sin("<<zahl<<") = "<<erg;
         }
         elseif(was=="b"){
              cout<<"\n\nGeben sie eine Zahl für x ein:\n";
              cin>>zahl;
              erg = cos(zahl); //Syntax: double cos(double zahl);
              cout<<"cos("<<zahl<<") = "<<erg;
         }

    mfg

    Philipp9494
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  3. #3
    Avatar von the_undertaker
    the_undertaker the_undertaker ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Erlangen (Franken)
    Beiträge
    151
    Hallo,

    was ist denn der Unterschied zwischen math.h und cmath?
     
    "Alles, was bloß wahrscheinlich ist, ist wahrscheinlich falsch." René Descartes
    "Mathematikern geht man am Besten aus dem Wege, sie machen überall Schwierigkeiten, welche nur sie allein zu beseitigen im Stande sind." Johann Wolfgang von Goethe
    "Man überzeugt im Allgemeinen besser durch Gründe, die man selber gefunden hat, als durch die, die anderen eingefallen sind." Blaise Pascal
    "Alles ist Zahl." Pythagoras

  4. #4
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Hallo

    math.h ist eine C-Bibliothek und cmath eine C++, nein, das c bedeuted, das es das gleiche ist, aber halt nur umbenannt. Das c bedeuted, dass es eine C-Bibliothek ist.

    Lg

    Philipp9494
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  5. #5
    Avatar von the_undertaker
    the_undertaker the_undertaker ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Erlangen (Franken)
    Beiträge
    151
    Mit anderen Worten, es ist egal, welches man nimmt?
     
    "Alles, was bloß wahrscheinlich ist, ist wahrscheinlich falsch." René Descartes
    "Mathematikern geht man am Besten aus dem Wege, sie machen überall Schwierigkeiten, welche nur sie allein zu beseitigen im Stande sind." Johann Wolfgang von Goethe
    "Man überzeugt im Allgemeinen besser durch Gründe, die man selber gefunden hat, als durch die, die anderen eingefallen sind." Blaise Pascal
    "Alles ist Zahl." Pythagoras

  6. #6
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Nein!!

    "cout" geht nur mit C++, so win "cin"

    in C glaub ich gibt es sprint oder so ähnlich..

    Lg

    Philipp9494
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  7. #7
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Nunmal nichts durcheinander würfeln.

    "cmath" und "math.h" sind beides Headerdateien (keine Bibliotheken).

    "math.h" ist eine Standard-Headerdatei der C Bibliothek.

    "cmath" ist eine Standard-Headerdatei der C++ Standard Bibliothek.

    In C++ sollten alle Standad-Headerdateien der C Bibliothek nicht direkt eingebunden werden, sondern durch die entsprechend angepasste C++ Header Datei. Die C Standard-Headerdateien werden in C++ ohne Endung und mit dem Präfix 'c' eingebunden. Also statt "stdio.h" nimmt man "cstdio", statt "stdlib.h" nimmt man "cstdlib" etc.

    Der Grund ist das die Funktionen die durch die C Headerdateien bekannt gemacht werden z.B. im Namensraum std definiert werden (C kennt keine Namensräume). Außerdem unterstützt C++ das Überladen von Funktionen was bei C nicht möglich ist.

    Daher kann man in C++ z.B. der Funktion "abs" unterschiedliche Typen von Argumenten übergeben. Während man in C gezwungen ist für unterschiedliche Datentypen Funktionen mit anderen Namen aufzurufen (also abs(double) bzw. fabs(float)).

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  8. #8
    Avatar von the_undertaker
    the_undertaker the_undertaker ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Erlangen (Franken)
    Beiträge
    151
    Soll heißen, es ist besser cmath zu nehmen als math.h?(Wenn ich in C++ schreibe)
     
    "Alles, was bloß wahrscheinlich ist, ist wahrscheinlich falsch." René Descartes
    "Mathematikern geht man am Besten aus dem Wege, sie machen überall Schwierigkeiten, welche nur sie allein zu beseitigen im Stande sind." Johann Wolfgang von Goethe
    "Man überzeugt im Allgemeinen besser durch Gründe, die man selber gefunden hat, als durch die, die anderen eingefallen sind." Blaise Pascal
    "Alles ist Zahl." Pythagoras

  9. #9
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von the_undertaker Beitrag anzeigen
    Soll heißen, es ist besser cmath zu nehmen als math.h?(Wenn ich in C++ schreibe)
    Ja. Das wollte ich damit sagen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  10. #10
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Dazu hätte ich auch mal eine Frage. Gibt es einen Unterschied zwischen einer Header-Datei(foobar.h) und einer C-Datei(foobar.c) ?
    Leider kann mir dabei keine Suchmaschine/Hilfe helfen.
    Bis jetzt habe ich in C++ Projekten immer eigene Header-Dateien includiert, nun lese ich aber das es unüblich ist zumindest bei Standardfiles.
     

  11. #11
    Avatar von Philipp9494
    Philipp9494 Philipp9494 ist offline Mitglied Brokat
    Registriert seit
    Apr 2006
    Ort
    Oberösterreich
    Beiträge
    251
    Hallo..

    Jede Datei wo zum Schluss .h steht ist eine Headerdatei
    .c ist eine C-Quellcodedatei (also dort stehen funktionen, etc.)

    Lg

    Philipp9494
     
    Bei "Lösung" eines Problems, "Erledigt" markieren !

    Nichtstun macht nur dann Spaß, wenn man eigentlich viel zu tun hätte.
    Noel Coward


    Was nützt uns die schönste künstlichste Intelligenz, wenn wir keine natürliche haben?
    Programm: Fortunes


    MyPi

  12. #12
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Danke nun weiß ich immerhin das es für C ist.
    Wenn es keine weiteren Unterschiede gibt was die verwendung angeht geb ich mich zufrieden In einer Headerdatei stehen auch Funktionen und evtl globale Variablen usw.

    mfg
     

  13. #13
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Eine Headerdatei muß nicht unbedingt eine bestimmte Endung haben. Im Grunde kannst du deine eigenen Headerdateien bennennen wie du lustig bist (möglichst aber nicht genauso wie Standard-Headerdateien).

    Es ist üblich Headerdateien die Endung .h zu geben. Auch wird häufig in C++ für Headerdateien die Endung .hpp (als Pendant zu .cpp) benutzt (z.B. von der boost Bibliothek).

    In Headerdateien stehen üblicherweise Typdefinitionen, Funktionsdeklarationen bzw. Variablendeklarationen aber keine Definitionen von Variablen oder Funktionen (Ausnahme: inline-Funktionen).

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  14. #14
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    vielen Dank @deepthroat
    Für Klassen benutze ich sie immer
     

Ähnliche Themen

  1. Anfänger problem
    Von itwasjustme im Forum PHP
    Antworten: 3
    Letzter Beitrag: 30.06.05, 23:35
  2. Anfänger I/O-problem
    Von zwob im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 05.04.05, 08:49
  3. anfänger problem mit if
    Von Germanterminaotr im Forum PHP
    Antworten: 17
    Letzter Beitrag: 12.01.05, 09:51
  4. Anfänger Problem
    Von igfas im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 07.09.03, 19:40
  5. Anfänger Problem!
    Von Dark Dämon im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 09.06.03, 10:22