Dienstag, 27. September 2011

C - Sinuskurve zeichnen


Die Sinuskurve:

Eine Sinuskurve entsteht wenn, man, am Rand einer Runden Scheibe einen Bleistift befestigt und die Scheibe dreht, während dem sie sich auf einer geraden Linie fortbewegt. Durch diese Bewegung entsteht eine Sinusähnliche Kurvenform. Diese Lässt sich auch berechnen. Das in C geschriebene Programm zeichnet eine Sinuskurve im Konsolenfenster.
 















------------------------------------------------------------------------------------------------
Zur berechnung des Sinus wird der befehl a=sin();, aus der Bibliothek <math.h> verwendet.

/*----------------------------------------------------------------------------------------------------
Titel: Sinuskurve
Datei: Sinuskurve.cpp
Autor: Jonathan Ernst
Datum: 27.09.2011
Funktion: Das Programm zeichnet eine Sinus Kurve
--------------------------------------------------------------------------------------------*/
#include   //Bibliothek Tastatur laden
#include   //Bibliothek I/O laden
#include   //Bibliothek math laden
#include 
#define PI 3.14159          //definiere PI


void sinus(int hohe, int anzahl) // Unterprogramm welches die Sinus Kurve zeichnet.
{
int Matrix[700][700];            // erstellt eine Matrix der grösse 700x700
int x,y,z = 0;                   // definition der variabeln x.y.z werden für die For schlaufen benötigt.
float wert = 0;                  //definition Variable wert = 0 wird zur berechnung des Sinus verwendet
int ss = 0;                      //definition Variable ssbestimmt die x achse der Matrix
for( z = 0; z < anzahl;z++)        //bestimmt wie vielmal die Sinuskurve gezeichnet wird

{
 for(ss=0;ss < (hohe*2);ss++)      //bestimmt anzahl spalten
 {
                 
  for(y=0;y < 360;y++)             //bestimmt vieviel mal die Rechnung des Sinus durchgeführt werden soll. 360 = ein Kreis
    {
     wert=sin((y*2*PI)/(360));   //berechnung des Sinus wertes
     wert=wert*hohe;             //den Wert des Sinus wird an die höhe der Matrix angepasst
     if (wert == wert)           // wert in integer umformen
     ss = wert+hohe;             // wert in integer umformen + die höhe
    Matrix[y][ss]=88888;         //zeichnet 88888 an jeweiliger position welche durch den Wert des sinus bestimmt wird.     
    }
      for(y=0;y<360;y++)         //bestimmt die länge des Matrix ( 360 Zeilen)
        {
          for(ss=0;ss<(hohe*2+1);ss++)  //bestimmt die höhe des Matrix
           {
               printf("%3d ",Matrix[y][ss]); //zeichnet den Matrix
            }
            printf("\n"); //Zeilen umschlag
        }
   }
}
}

int main(void) //hauptprogramm
{
    int hohe = 0;     //defonition Variable Höhe
    int anzahl = 0;   //definition Variable anzahl
    char exit = 'a';  //definition Variable a
     do               //do schlaufe, um das Programm zu wiederholen
    {
    printf("Welche höhe soll die Sinus Kurve haben? (z.bsp 50) : "); //Textausgabe
    scanf("%i", &hohe); //Texteingabe
    printf("Wie viele male soll der Sinus gezeichnet werden? : ");//Textausgabe
    scanf("%i",&anzahl);//Texteingabe
    sinus(hohe,anzahl); //Aufruf des unterprogrammes welches den Sinus zeichnet
    getch(); //wartet auf enter taste
    printf("Wollen sie einen weiteren Sinus Zeichnen? j/n");//Textausgabe
    fflush(stdin); //löscht tastatur puffer
    exit = getchar(); //liest buchstaben ein
} while (exit !='n'); // bestimmt ob Programm wiederholt werden soll oder nicht

    return (0);//gibt 0 zurück
}//ende

Der Compilierte Code/ The compiled Code:

 


Einstellungen im Konsolenfenster:

- Schriftart ganz klein.
- Anzahl Zeilen und Spalten auf maximum schalten.
So kann die "Auflösung" vergrössert werden. !

C - simple programs --------------------------------------------------------------------------------- Captain Malgardi Malgardis Crew become a fan on Facebook : Malgardi Fan!

Keine Kommentare:

Kommentar veröffentlichen