Hi Jungs,
ich sitze jetzt schon einige Tage an meinem Programm zu Berechnung des Umfanges eines Rechtecks inclusive Flächeninhalt. Ich habe so meine Probleme mit meinen erstellten Klassen vllt könnt ihr mal einen Blick darauf werfen
HTML
Main.cpp
Rechteck.cpp
// C_Rechteck.cpp: Hauptprojektdatei.
#include "stdafx.h"
#include "C_Punkt.h"
#include "C_Rechteck.h"
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
using namespace System;
void main()
{
C_Rechteck p1, p2;
char ausw;
float x, y;
int status = 0; // 0 - keine Koordinaten
// 1 - nur 1.Punkt
// 2 - nur 2.Punkt
// 3 - beide Punkte
do
{
system("cls");
printf("\n\tAuswahl:\n");
printf("\t========\n\n");
printf("\t1 - Eingabe der Koordinaten 1.Punkt\n");
printf("\t2 - Eingabe der Koordinaten 2.Punkt\n");
printf("\t3 - Berechnung Abstand x-Richtung\n");
printf("\t4 - Berechnung Abstand y-Richtung\n");
printf("\t5 - Berechnung Abstand direkt\n");
printf("\t6 - Korrektur der Koordinaten 1.Punkt\n");
printf("\t7 - Korrektur der Koordinaten 2.Punkt\n");
printf("\t8 - Programmende\n");
printf("\n\tIhre Wahl: ");
fflush(stdin);
scanf("%c",&ausw);
switch(ausw)
{
case '1': printf("\tBitte geben Sie die x-Koordinate des ersten Punktes an: ");
fflush(stdin);
scanf("%f",&x);
p1.setx(x);
printf("\tBitte geben Sie die y-Koordinate des ersten Punktes an: ");
fflush(stdin);
scanf("%f",&y);
p1.sety(y);
p1.ausgabe();
if (status == 0) status = 1;
if (status == 2) status = 3;
getch();
break;
case '2': printf("\tBitte geben Sie die x-Koordinate des zweiten Punktes an: ");
fflush(stdin);
scanf("%f",&x);
p2.setx(x);
printf("\tBitte geben Sie die y-Koordinate des zweiten Punktes an: ");
fflush(stdin);
scanf("%f",&y);
p2.sety(y);
p2.ausgabe();
if (status == 0) status = 2;
if (status == 1) status = 3;
getch();
break;
case '3': if (status == 3)
{
printf("\n\tx-Abstand von ");
p1.ausgabe_kurz();
printf(" und ");
p2.ausgabe_kurz();
printf(": %.1f\n",p1.berechneU(p2));
}
else
{
printf("\n\twas soll ich rechnen??\n");
printf("\tkeine Koordinaten vorhanden von Punkt ");
if (status == 0)
{
printf("1 und Punkt 2!!\n");
}
else if (status == 1)
{
printf("2!!\n");
}
else if (status == 2)
{
printf("1!!\n");
}
}
getch();
break;
case '4': if (status == 3)
{
printf("\n\ty-Abstand von ");
p1.ausgabe_kurz();
printf(" und ");
p2.ausgabe_kurz();
printf(": %.1f\n",p1.berechneA(p2));
}
else
{
printf("\n\twas soll ich rechnen??\n");
printf("\tkeine Koordinaten vorhanden von Punkt ");
if (status == 0)
{
printf("1 und Punkt 2!!\n");
}
else if (status == 1)
{
printf("2!!\n");
}
else if (status == 2)
{
printf("1!!\n");
}
}
getch();
break;
case '5': if (status == 3)
{
printf("\n\tAbstand von ");
p1.ausgabe_kurz();
printf(" und ");
p2.ausgabe_kurz();
printf(": %.1f\n",p1.abstand(p2));
}
else
{
printf("\n\twas soll ich rechnen??\n");
printf("\tkeine Koordinaten vorhanden von Punkt ");
if (status == 0)
{
printf("1 und Punkt 2!!\n");
}
else if (status == 1)
{
printf("2!!\n");
}
else if (status == 2)
{
printf("1!!\n");
}
}
getch();
break;
case '6':if (status==3)
{
printf("\n\tUmfang des Rechtecks ");
printf(": %.1f\n",p1.abstand(p2));
}
else
{
printf("\n\twas soll ich rechnen??\n");
printf("\tkeine Koordinaten vorhanden von Punkt ");
if (status == 0)
{
printf("1 und Punkt 2!!\n");
}
else if (status == 1)
{
printf("2!!\n");
}
else if (status == 2)
{
printf("1!!\n");
}
}
getch();
break;
break;
case '7':
break;
case '8': break;
default: printf("\n\tungueltige Auswahl - bitte korrigieren!!");
getch();
}
}while(ausw != '8');
}
Alles anzeigen
HTML
Rechteck.cpp
C_Rechteck.cpp
#include "stdafx.h"
#include "C_Punkt.h"
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include "C_Rechteck.h"
C_Rechteck ::C_Rechteck()
{
}
C_Rechteck ::~C_Rechteck()
{
}
void C_Rechteck::setp1(C_Rechteck p)
{
p1=p;
}
void C_Rechteck::setp2(C_Rechteck p)
{
p2=p;
}
float C_Rechteck ::berechneU(C_Rechteck p)
{
return (2*p1.xabstand(p2)+2*p1.yabstand(p2));
}
float C_Rechteck::berechneA(C_Rechteck p)
{
return (p1.xabstand(p2)*p1.yabstand(p2));
}
float C_Rechteck::getp1()
{
return p1;
}
float C_Rechteck::getp2()
{
return p2;
}
void C_Rechteck::ausgabe()
{
printf("Koordinaten: (%4.1f|%4.1f)\n",x,y);
}
void C_Rechteck::ausgabe_kurz()
{
printf("(%4.1f|%4.1f)",x,y);
}
Alles anzeigen
HTML
C_Rechteck.h
C_Rechteck.h
#ifndef C_RECHTECK_H
#define C_RECHTECK_H
class C_Rechteck
{
private:
float p1,p2;
float x,y;
public:
C_Rechteck();
C_Rechteck (float,float);
~C_Rechteck();
C_Rechteck getp1();
C_Rechteck getp2();
void setx(float);
void sety(float);
void setp1(float);
void setp2(float);
float berechneU();
float berechneA();
float abstand(C_Rechteck);
float xabstand(C_Rechteck);
float yabstand(C_Rechteck);
void ausgabe();
void ausgabe_kurz();
};
#endif
Alles anzeigen
Danköööö