Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 22:51

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Hilfe bei einer C Aufgabe ;)

Discussion on Hilfe bei einer C Aufgabe ;) within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2005
Posts: 407
Received Thanks: 11
Ich habe auch noch ein kleines Problem bei einer C Aufgabe

Es sollen 3 Zahlen eingelesen werden und dann überprüft werden ob das Dreieck
- rechtwinklig
- gleichzeitig
- gleichschenklig

oder ob 2 der oben genannten sachen zutreffen

Ich hatte mir überlegt das ich es so schreibe

Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{	
	float a, b, c; /* deklaration */
    
	do
	
	/* eingabe der zahlen, einlesen und ueberpruefung ob <= 0 */
	{
	printf("Bitte geben Sie die laenge der ersten Seite ein\n"); 
	scanf("%f", &a);
	if(a<=0)
	printf("Bitte geben Sie eine positive Zahl ein\n");
	
	}
	while(a<=0);
	do
	{
	printf("Bitte geben Sie die laenge der zweiten Seite ein\n");
	scanf("%f", &b);
	if(b<=0)
	printf("Biitte geben Sie eine positive Zahl ein\n");
	}
	while(b<=0);
	do
	{
	printf("Bitte geben sie die laenge der dritten Seite ein\n");
	scanf("%f", &c);
	if(c<=0)
	printf("Bitte geben sie eine positive Zahl ein\n");
	}
	while(c<=0);

/*In der folgenden anweisung wird berechnet was das Dreieck fuer eine Art ist*/


if(fabs(a-b)<0.0001 || fabs(a-c)<0.0001 || fabs(b-c)<0.0001)
printf("Das Dreieck ist gleichschenklig!\n");

else if (fabs(a-b)<0,0001 && fabs(a-c)<0.0001 && fabs(b-c)<0.0001)
printf("Das Dreieck ist gleichseitig!\n");


float aqua, bqua, cqua;
aqua = a*a;
bqua = b*b;
cqua = c*c;


else ((fabs(aqua+bqua)-cqua)<0.0001 || (fabs(aqua+cqua)-bqua)<0.0001 || (fabs(cqua+bqua)-aqua)<0.0001)
printf("Das Dreieck ist rechtwinklig!\n");



return 0;
}
und dann in der Ausgabe erscheint was es ist, wenn mehrere zutreffen das prog 2 sachen ausgibt z.b.

Das Dreieck ist Gleichseitig
Das Dreieck ist Gleichwinklig

Aber es gibt immer alle 3 Dinge aus egal was man eingibt ;(

Weiß vielleicht jemand Rat? Wäre sehr dankbar
lugh is offline  
Old 11/11/2006, 12:04   #2
 
rEdoX's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
Aus dem bauch raus wuerde ich es so machen:

Code:
if (a == b && a ==c || b == c && b == a || c == a && c == b){
 printf("Das Dreieck ist gleichseitig!\n");}
else if (a == b || b == c || c == a ){
 printf("Das Dreieck ist gleichschenklig!\n");}
if (a*a + b*b == c*c){
 printf("Das Dreieck ist rechtwinklig!\n");}

grueße redox
rEdoX is offline  
Old 11/11/2006, 12:52   #3
 
mr.rattlz's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
Quote:
Originally posted by rEdoX@Nov 11 2006, 12:04
Aus dem bauch raus wuerde ich es so machen:

Code:
if (a == b && a ==c || b == c && b == a || c == a && c == b){
 printf("Das Dreieck ist gleichseitig!\n");}
else if (a == b || b == c *|| c == a ){
 printf("Das Dreieck ist gleichschenklig!\n");}
if (a*a + b*b == c*c){
 printf("Das Dreieck ist rechtwinklig!\n");}

grueße redox
Die Mitte ist gut, oben prüfst du unnötig viel und unten zu wenig ;D
mr.rattlz is offline  
Old 11/11/2006, 13:56   #4
 
elite*gold: 0
Join Date: May 2005
Posts: 407
Received Thanks: 11
Quote:
Originally posted by mr.rattlz+Nov 11 2006, 12:52--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (mr.rattlz @ Nov 11 2006, 12:52)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--rEdoX@Nov 11 2006, 12:04
Aus dem bauch raus wuerde ich es so machen:

Code:
if &#40;a == b && a ==c || b == c && b == a || c == a && c == b&#41;{
 printf&#40;&#34;Das Dreieck ist gleichseitig!&#092;n&#34;&#41;;}
else if &#40;a == b || b == c || c == a &#41;{
 printf&#40;&#34;Das Dreieck ist gleichschenklig!&#092;n&#34;&#41;;}
if &#40;a*a + b*b == c*c&#41;{
 printf&#40;&#34;Das Dreieck ist rechtwinklig!&#092;n&#34;&#41;;}

grueße redox
Die Mitte ist gut, oben prüfst du unnötig viel und unten zu wenig ;D [/b][/quote]
wie denn dann?

und ja irgendwie hab ich noch meine probs bei if anweisungen, leider
lugh is offline  
Old 11/11/2006, 14:25   #5
 
mr.rattlz's Avatar
 
elite*gold: 0
Join Date: Aug 2005
Posts: 896
Received Thanks: 334
Quote:
Originally posted by lugh+Nov 11 2006, 13:56--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (lugh @ Nov 11 2006, 13:56)</td></tr><tr><td id='QUOTE'>
Quote:
Originally posted by -mr.rattlz@Nov 11 2006, 12:52
<!--QuoteBegin--rEdoX
Quote:
@Nov 11 2006, 12:04
Aus dem bauch raus wuerde ich es so machen:

Code:
if &#40;a == b && a ==c || b == c && b == a || c == a && c == b&#41;{
 printf&#40;&#34;Das Dreieck ist gleichseitig!&#092;n&#34;&#41;;}
else if &#40;a == b || b == c *|| c == a &#41;{
 printf&#40;&#34;Das Dreieck ist gleichschenklig!&#092;n&#34;&#41;;}
if &#40;a*a + b*b == c*c&#41;{
 printf&#40;&#34;Das Dreieck ist rechtwinklig!&#092;n&#34;&#41;;}

grueße redox

Die Mitte ist gut, oben prüfst du unnötig viel und unten zu wenig ;D
wie denn dann?

und ja irgendwie hab ich noch meine probs bei if anweisungen, leider [/b][/quote]
Code:
if &#40;a == b && a ==c || b == c && b == a || c == a && c == b&#41;
Ist vollkommen unnötig solang, weil
Code:
if &#40;a == b && a ==c&#41;
total ausreichend wäre: Wenn a=b ist und a=c dann ist auch c=b und somit alle Seiten gleichlang

Code:
if &#40;a*a + b*b == c*c&#41;
Das geht davon aus, dass c die längste Seite ist, was aber nicht unbedingt so sein muss oder ?
An der Stelle muss der Code also länger sein, wenn man von der Möglichkeit ausgeht, dass jede der Seiten die längste sein könnte:
Code:
if &#40;a*a + b*b == c*c||a*a+c*c==b*b||b*b+c*c==a*a&#41;
mr.rattlz is offline  
Old 11/11/2006, 15:23   #6
 
elite*gold: 0
Join Date: May 2005
Posts: 407
Received Thanks: 11
aber wir müssen es mit einer fabs anweisung machen ;(
lugh is offline  
Old 11/11/2006, 17:09   #7
 
rEdoX's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
das faellt dir ja frueh ein
rEdoX is offline  
Old 11/11/2006, 17:14   #8
 
elite*gold: 0
Join Date: May 2005
Posts: 407
Received Thanks: 11
sry

aber deswegen hat ich es auch mit einer fabs gemacht, bin jetzt soweit gekommen


Code:
#include &#60;stdio.h>
#include &#60;stdlib.h>
#include &#60;math.h>

int main&#40;int argc, char *argv&#91;&#93;&#41;
{  
  float a, b, c; /* deklaration */
  float aqua, bqua, cqua;  
  do
  
  /* eingabe der zahlen, einlesen und ueberpruefung ob &#60;= 0 */
  {
  printf&#40;&#34;Bitte geben Sie die laenge der ersten Seite ein&#092;n&#34;&#41;; 
  scanf&#40;&#34;%f&#34;, &a&#41;;
  if&#40;a&#60;=0&#41;
  printf&#40;&#34;Bitte geben Sie eine positive Zahl ein&#092;n&#34;&#41;;
  
  }
  while&#40;a&#60;=0&#41;;
  do
  {
  printf&#40;&#34;Bitte geben Sie die laenge der zweiten Seite ein&#092;n&#34;&#41;;
  scanf&#40;&#34;%f&#34;, &b&#41;;
  if&#40;b&#60;=0&#41;
  printf&#40;&#34;Biitte geben Sie eine positive Zahl ein&#092;n&#34;&#41;;
  }
  while&#40;b&#60;=0&#41;;
  do
  {
  printf&#40;&#34;Bitte geben sie die laenge der dritten Seite ein&#092;n&#34;&#41;;
  scanf&#40;&#34;%f&#34;, &c&#41;;
  if&#40;c&#60;=0&#41;
  printf&#40;&#34;Bitte geben sie eine positive Zahl ein&#092;n&#34;&#41;;
  }
  while&#40;c&#60;=0&#41;;

/*In der folgenden anweisung wird berechnet was das Dreieck fuer eine Art ist*/


if&#40;fabs&#40;a-b&#41;&#60;0.0001 || fabs&#40;a-c&#41;&#60;0.0001 || fabs&#40;b-c&#41;&#60;0.0001&#41;
printf&#40;&#34;Das Dreieck ist gleichschenklig!&#092;n&#34;&#41;;

else if &#40;fabs&#40;a-b&#41;&#60;0,0001 && fabs&#40;a-c&#41;&#60;0.0001 && fabs&#40;b-c&#41;&#60;0.0001&#41;
printf&#40;&#34;Das Dreieck ist gleichseitig!&#092;n&#34;&#41;;

   else {
aqua = a*a;
bqua = b*b;
cqua = c*c;

    if &#40;&#40;fabs&#40;aqua+bqua&#41;-cqua&#41;&#60;0.0001 || &#40;fabs&#40;aqua+cqua&#41;-bqua&#41;&#60;0.0001 || &#40;fabs&#40;cqua+bqua&#41;-aqua&#41;&#60;0.0001&#41;
printf&#40;&#34;Das Dreieck ist rechtwinklig!&#092;n&#34;&#41;;
}
return 0;
}
aber da ist noch irgendwo ein fehler da die ausgabe IMMER gleichschenklig ist ;(
lugh is offline  
Old 11/11/2006, 19:07   #9
 
elite*gold: 0
Join Date: Aug 2004
Posts: 1,325
Received Thanks: 109
Code:
#include &#60;stdio.h>
#include &#60;stdlib.h>
#include &#60;math.h>


float getNumber&#40;char *number&#91;&#93;&#41;{
 float zahl;
 do {
 printf&#40;&#34;Bitte geben sie die laenge der %s Seite ein&#092;n&#34;,number&#41;;
	scanf&#40;&#34;%f&#34;, &zahl&#41;;
 }
 while&#40;zahl&#60;=0&#41;;

 return zahl;
}

int main&#40;int argc, char *argv&#91;&#93;&#41;
{  
  float a, b, c; /* deklaration */
  float aqua, bqua, cqua;  

  a = getNumber&#40;&#34;erste&#34;&#41;;
  b = getNumber&#40;&#34;zweite&#34;&#41;;
  c = getNumber&#40;&#34;dritte&#34;&#41;;


/*In der folgenden anweisung wird berechnet was das Dreieck fuer eine Art ist*/

if&#40;fabs&#40;a-b&#41;&#60;0.0001 || fabs&#40;a-c&#41;&#60;0.0001 || fabs&#40;b-c&#41;&#60;0.0001&#41;
	printf&#40;&#34;Das Dreieck ist gleichschenklig!&#092;n&#34;&#41;;

if &#40;fabs&#40;a-b&#41;&#60;0,0001 && fabs&#40;a-c&#41;&#60;0.0001 && fabs&#40;b-c&#41;&#60;0.0001&#41;
	printf&#40;&#34;Das Dreieck ist gleichseitig!&#092;n&#34;&#41;;

if &#40;&#40;fabs&#40;a*a+b*b&#41;-c*c&#41;&#60;0.0001 || &#40;fabs&#40;a*a+c*c&#41;-b*b&#41;&#60;0.0001 || &#40;fabs&#40;c*c+b*b&#41;-a*a&#41;&#60;0.0001&#41;
	printf&#40;&#34;Das Dreieck ist rechtwinklig!&#092;n&#34;&#41;;

return 0;
}
so evtl?

p.s. musste feststellen das der code tag die tabs kaputt macht und das deswegen nso schei**e anzeigt
NoName is offline  
Reply


Similar Threads Similar Threads
Physik Aufgabe!Bitte um hilfe^^
06/17/2010 - Main - 4 Replies
Hey Jungs. Habe hier ein dreckiges Problem. Aufgabe Dort die Aufgabe 328. Ich weiß zwar das im Aufgabenteil a.) FR (Reibungskraft) gesucht ist und die Formel wie folgt lautet: FR= µ*FN bzw. FN = FG*Cos( αlpha) -----
Hilfe benötigt für eine Aufgabe
11/24/2009 - Off Topic - 14 Replies
Ich brauche die Lösung dieser Aufgabe.^^ Es wäre nett, wenn es einer Schritt für Schritt erklären würde.^^ http://www.imagebanana.com/code/3bqmxm7v/AufgabeR ESY.jpg http://img5.imagebanana.com/view/3bqmxm7v/Aufgabe RESY.jpg
[HILFE] Hilfe bezüglich einer Levelanzeige
11/20/2009 - Metin2 Private Server - 39 Replies
Hallo ihr lieben, ich wollte mal fragen wie es möglich ist das ich ingame die Level von anderen Spielern sehen kann. Muss ich da was an der Db vom Server ändern? oder geht des überhaupt? Würde mich über eure hilfe freuchen :rolleyes:
Hilfe bei einer Java Aufgabe
11/11/2006 - General Coding - 4 Replies
Denke mal hier kennen sich auch ein paar mit dem programmieren einer Java Aufgabe aus ;) Komme leider an einer stelle nicht weiter, daher versuch ich es mal hier public class hallo { public static void main&#40;String&#91;&#93; args&#41; { TextIO.putln&#40;&#34;Bitte geben sie einen der folgenden Laendercodes ein&#58; A=Austria, D=Deutschland, F=Frankreich, G=Groábritanien I=Italien oder M=Malle&#34;&#41;;



All times are GMT +1. The time now is 22:51.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.