Interger-Wert/ Passwortabfrage / Winkelfunktionen

DJMoscito

Mitglied
ist es möglich das jemand diese programme mit borland schreibt?
Würde mich ja freuen wenn wenigsten ein oder 2 programme jemand schreibt...
Für leute die das drauf haben ist das garantiert eine kleinigkeit für mich eher eine riesen hürde.

Aufgabe 1:
Schreiben Sie ein Programm, das mehrere Integer -Werte einliest und deren und deren arithmetischen Mittelwert berechnet. Das Programm soll zunächst abfragen, wie viele Zahlen der Anwender eingeben möchte. Diese Eingabe ist als Obergrenze der Schleife zu verwenden. Lösen Sie das Problem unter Anwendung der
a)for - Schleife
b)while - Schleife
c) do - while Schleife.

Aufgabe 2:
Schreiben Sie ein Programm, das vom Anwender die Eingabe eines Passwortes erwartet. Nach erfolgter Eingabe soll das Passwort überprüft werden. Ist die Eingabe korrekt, soll eine entsprechende Meldung ausgegeben werden. Ist es nicht korrekt, soll eine Ausgabe erfolgen,ob das Passwort zu kurz oder zu lang war oder nur nicht übereinstimmte.

Aufgabe 3:
Schreiben Sie ein Programm, das die Winkelfunktionen(sin,cos ,tan ,cot) berechnet.
Notwendige Parameter sollen eingegeben werden. Das Ergebnis der Berechnung soll
zurückgeliefert werden.


gruß stechmücke
 
Hi,
Wofur brauchst du das?
Und wie stellst du dir das Ergebniss vor? Soll das ganze in einer Konsole passieren, oder auf Form-Basis?
 
brauch dad für die schule, nur die frau hat uns aufgaben gegeben über die ferien die wir nimmer drann hatten und wir mit unseren fähigkeiten garnicht ereichen können, sind noch mehr aufgaben aber die schaffe ich alleine. :) aber in unsern büchern die wir haben steht leider auch nichts drinn daher frage ich hier.

Naja konsole? formbasis?
Ich brauche das am ende als borland c++ datei nicht als .exe das ich zur not noch was ändern kann das ich verstehe was die person dort geschrieben hat mit welchen "codes".
 
Dann erstelle ein Paar Borland Konsolenanwendungen und ersetze diesen Code:
Code:
int main(int argc, char **argv)
{
}
mit jeweils diesen Codes:

Aufgabe 1:
a)
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int i;
int Antwort=0;
char Str[100];
printf("Geben sie Zahlen ein, um ihren Mittelwert zu berechnen.\n\rGeben sie am Ende nichts ein und drucken sie einfachso die Engabetaste.\n\r");
// Ich glaube mich unverschtaendlich ausgedrueckt zu haben?
for(i = 0; true ; i = i + 1) // Endlosschleife
{
   gets(Str);
   if(Str[0] == 0)
   break;    // wird hier unterbrochen
   Antwort += atoi(Str);
}
Antwort /= i;
printf("Ergebniss: %d", Antwort);
getchar();
        return 0;
}
b)
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int i;
int Antwort=0;
char Str[100];
printf("Geben sie Zahlen ein, um ihren Mittelwert zu berechnen.\n\rGeben sie am Ende nichts ein und drucken sie einfachso die Engabetaste.\n\r");
// Ich glaube mich unverschtaendlich ausgedrueckt zu haben?
i = 0;
while(true) // Endlosschleife
{
   gets(Str);
   if(Str[0] == 0)
   break;    // wird hier unterbrochen
   Antwort += atoi(Str);
   i = i + 1;
}
Antwort /= i;
printf("Ergebniss: %d", Antwort);
getchar();
        return 0;
}

c)
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int i;
int Antwort=0;
char Str[100];
printf("Geben sie Zahlen ein, um ihren Mittelwert zu berechnen.\n\rGeben sie am Ende nichts ein und drucken sie einfachso die Engabetaste.\n\r");
// Ich glaube mich unverschtaendlich ausgedrueckt zu haben?
i = 0;
do // Endlosschleife
{
   gets(Str);
   if(Str[0] == 0)
   break;    // wird hier unterbrochen
   Antwort += atoi(Str);
   i = i + 1;
}while(true)
Antwort /= i;
printf("Ergebniss: %d", Antwort);
getchar();
        return 0;
}

Aufgabe 2.
a)
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv)
{
char *Passwort = "Kokus Baum";
char Str[100];
printf("Passwort bitte:\n\r");
while(true)
{
    gets(Str);
    if(strlen(Str) > strlen(Passwort))
        printf("Passwort zu lang, erneute Eingabe:\n\r");
    if(strlen(Str) < strlen(Passwort))
        printf("Passwort zu kurz, erneute Eingabe:\n\r");
    if(strlen(Str)== strlen(Passwort))
    {
        if(strcmp(Str, Passwort)== 0)
        {
            printf("Passwort genau richtig! Woher weiss du es?");
            break;
        }
        else
        {
            printf("Passwort stimmt nicht uberein. Erneute Eingabe: \n\r");
        }
    }
}
getchar();
        return 0;
}

Aufgabe 3.
a)
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main(int argc, char **argv)
{
char Str[100];
printf("Winkel in Grad bitte:\n\r");
gets(Str);

double Angle = atof(Str);
double AngleRad = Angle/180.0*3.1415;
printf("Sinus    von %f: %f\n\r", Angle, sin(AngleRad));
printf("Cosinus  von %f: %f\n\r", Angle, cos(AngleRad));
printf("Tangents von %f: %f\n\r", Angle, tan(AngleRad));

getchar();
        return 0;
}

PS: sei froh ihr nehmt C++ durch! wir machen in der Schule Sprachen die keiner ausser unsrem Lehrer kennt :p
 
Jo big thx!
Aber wie soll ich die ersetzten jetzt?
kapiersch net habsch noch ent gemacht.. bei mir sieht der code ganz anders aus ^^...
so ungefähr... oder solsch irgendwie ne leere datei speichern und irgendwo einfügen, und wenn wo? :suspekt:
mein ode sieht so aus:

HTML:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float zahl, ergebnis;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->SetFocus();
zahl = StrToFloat (Edit1->Text);
if(zahl <= 0)
{
Label1-> Caption = "ERROR" ;
}
else
{
ergebnis = 1/zahl;
Label1->Caption= FloatToStrF(ergebnis,ffNumber,8,4);
}
}
//---------------------------------------------------------------------------


Okay habe mal angefangen ein porgamm selbst zu schreiben habe borland 6 C++.

Aufgabe:

Aufgabe 1:
Erzeugen Sie ein Programm, das von der Tastatur ein beliebiges Zeichen einliest und prüft, ob das eingegebene Zeichen eine Zahl zwischen 1 und 5 ist. Liegt diese Zahl in diesem Intervall, ist sie auszugeben, ansonsten soll eine Meldung erscheinen , das die Zahl nicht zwischen 1 und 5 liegt.

DOWNLOAD

so problem ist er erzählt mir immer von einem "expected filename", am anfang dachte ich ich hätte ausversehen etwas falsch angeklickt und damit nen fehler reingebaut somit habe ich es neu gebaut aber der fehler kommt trozdem wo liegt mein Fehler?
 
Zuletzt bearbeitet:
Hi,
also erstens bitte sich normal auszudrücken, siehe Netiquette.

Eine Konsolenanwendung muss du erstellen, d.h. geh beim Borland auf File/New... und dann auf KonsolenAssistent.
Dann gilt das was ich gesagt habe.

Bei deinem Progg, da ist ein Fehler, statt
Code:
if ((zahl <= 0) && (zahl >=5))
muss da
Code:
if ((zahl <= 0) || (zahl >=5))

ansonsten sehe ich da keinen Fehler. Ich kann das Projekt auch nicht in mein Borland laden, ich habe die 3. Version. Was konkret sagt der denn?
 
[Linker Fataler Fehler] Fatal: Expected a file name:

mhh aber habsch schon 2mal neu gehschrieben.... :suspekt:

Bräuchte die programme anstatt konsole eher mit formbasis, das geht ja auch mit boralnd 3 und borland 6 unterstütz die 3 auch aber andersrum gehts net... :(

währe es möglich die also als ausführendes programm mit "benutzeroberfläche" zu bekommen?
 
Zuletzt bearbeitet:
naja auf Formbasis machst du dir das Leben schwerer, sonst nix. Die Aufgabe ist ja so wie sie ist mit Konsole schneller und praktischer gelöst.
 
Was für ein Zufall, ich habe genau die selben aufgaben bekommen und habe für das Programm der Passwortabfrage folgende Lösung:

Code:
  //---------------------------------------------------------------------------
  
  #include <vcl.h>
  #pragma hdrstop
  
  #include "Unit1.h"
  //---------------------------------------------------------------------------
  #pragma package(smart_init)
  #pragma resource "*.dfm"
  TForm1 *Form1;
  AnsiString Pass, superschule;
  //---------------------------------------------------------------------------
  __fastcall TForm1::TForm1(TComponent* Owner)
  		: TForm(Owner)
  {
  }
  //---------------------------------------------------------------------------
  
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
   Edit1->SetFocus ();
    Pass=(Edit1->Text);
    int Size=Edit1->GetTextLen();
    char *StringBuf = new char[Size];
    Edit1->GetTextBuf(StringBuf,Size);
  if ((Size==11 && Pass=="superschule")) {Application->MessageBox ("RICHTIG! - 100 Punkte","",0);
     Button1->Caption="Acces granted";}
     else {if (Size==11)Application->MessageBox ("Anzahl der Zeichen richtig, Passwort falsch!","",0);
     Button1->Caption="&Erneut versuchen";}
  if (Size<11) {Application->MessageBox ("Das Passwort ist zu kurz","",0);
  	Button1->Caption="&Erneut versuchen";}
  if (Size>11) {Application->MessageBox ("Das Passwort ist zu lang","",0);
  	Button1->Caption="&Erneut versuchen";}
  }
  //---------------------------------------------------------------------------

"superschule" ist in demfall mein vorher bestimmtes Passwort, mit sicherheit ist dies nicht die beste Lösung, aber immerhin etwas ;)

Das problem mit der Winkelfunktion, habe ich nur für einen speziellen fall gelöst (rechteckiges Dreieck, nur im Bogenmaß!):

Code:
  //---------------------------------------------------------------------------
  
  #include <vcl.h>
  #pragma hdrstop
  
  #include "Unit1.h"
  //---------------------------------------------------------------------------
  #pragma package(smart_init)
  #pragma resource "*.dfm"
  TForm1 *Form1;
  float ank,geg,hyp,alp;
  AnsiString ablage;
  //---------------------------------------------------------------------------
  __fastcall TForm1::TForm1(TComponent* Owner)
  		: TForm(Owner)
  {
  }
  //---------------------------------------------------------------------------
  
  //---------------------------------------------------------------------------
  
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
  ablage=(Label3->Caption);
  if (ablage=="sinus-alpha") {geg=StrToInt(Edit1->Text);
  hyp=StrToInt(Edit2->Text);
  (alp=geg/hyp);
  Edit3->Text=FormatFloat("0.00",alp);}
  if (ablage=="tangens-alpha") {geg=StrToInt(Edit1->Text);
  ank=StrToInt(Edit2->Text);
  (alp=geg/ank);
  Edit3->Text=FormatFloat("0.00",alp);}
  if (ablage=="cosinus-alpha") {ank=StrToInt(Edit1->Text);
  hyp=StrToInt(Edit2->Text);
  (alp=ank/hyp);
  Edit3->Text=FormatFloat("0.00",alp);}
  if (ablage=="cotangens-alpha") {ank=StrToInt(Edit1->Text);
  geg=StrToInt(Edit2->Text);
  (alp=ank/geg);
  Edit3->Text=FormatFloat("0.00",alp);}
  }
  }
  //---------------------------------------------------------------------------
  void __fastcall TForm1::Button2Click(TObject *Sender)
  {
   Label1->Caption="Gegenkathete";
   Label2->Caption="Hypotenuse";
   Label3->Caption="sinus-alpha";
   Label4->Caption="Danke - Nun bitte die fehlenden Werte angeben";
  }
  //---------------------------------------------------------------------------
  void __fastcall TForm1::Button3Click(TObject *Sender)
  {
   Label1->Caption="Gegenkathete";
   Label2->Caption="Ankathete";
   Label3->Caption="tangens-alpha";
    Label4->Caption="Danke - Nun bitte die fehlenden Werte angeben";
  }
  //---------------------------------------------------------------------------
  void __fastcall TForm1::Button4Click(TObject *Sender)
  {
   Label1->Caption="Ankathete";
   Label2->Caption="Hypotenuse";
   Label3->Caption="cosinus-alpha";
    Label4->Caption="Danke - Nun bitte die fehlenden Werte angeben";
  }
  //---------------------------------------------------------------------------
  void __fastcall TForm1::Button5Click(TObject *Sender)
  {
   Label1->Caption="Ankathete";
   Label2->Caption="Gegenkathete";
   Label3->Caption="cotangens-alpha";
    Label4->Caption="Danke - Nun bitte die fehlenden Werte angeben";
  }
  //---------------------------------------------------------------------------

Das problem des Mittelwertes konnte ich auf Basis einer Win32 Anwendung leider noch nicht lösen :(

//MfG bluedark.stow
 

Neue Beiträge

Zurück