WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.11.2003, 22:02   #1
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard c noob frage

also ich hab da es programm...

und da will ich wenn er 1 eingibt das unterprogramm für die berechnung der quadratischen aufrufen!
aba ich weiß nicht genau warums nicht geht es passiert genau gar nix, wenn ma eins drückt!

Code:
#include <stdio.h>
#include <conio.h>
#include <math.h>
float unterwurzfkt(float vara,float varb,float varc,float unterwurz);
float komplexeloesungen(float vara,float varb,float varc,float erg2);
float reelleloesungen(float vara,float varb,float varc,float ergreteil,float unterwurz);

void main ()
{
   float quadratische;
	int auswahl;
   printf("Bitte treffen sie ihre Auswahl: \n\n");
   printf("1) Quadratische Gleichung loesen\n");
   printf("2) Mittelwert berechnen\n");
   printf("3) Requesion\n");
   printf("Auswahl: ");
   scanf("%d",&auswahl);
   /*void clrscr(void);*/
   switch(auswahl)
     {
       case 1:
        {
          void quadratische();
          break;
	     }
       case 2:
        {
   		 printf("\nMittelwertberechnung: ");
   	  }
       case 3:
        {
   		 printf("\nRegession: ");
   		 break;
        }
     default:
   	 {
   	   printf("Falsche Auswahl!!");
   	   break;
       }
     }
   getch();

}
void quadratische()
{
   float vara,varb,varc,erg1,erg2,unterwurz,ergreteil;
   do
   {
     printf("a: ");
     scanf("%f",&vara);
     if (vara==0)
     {
       	printf("   a darf nicht 0 sein! Da es sonst keine Quadratische Gleichung ist\n");
     }
   }
   while (vara==0);
   printf("b: ");
   scanf("%f",&varb);
   printf("c: ");
   scanf("%f",&varc);
   erg1=((-varb)/(2*vara));
   unterwurz=unterwurzfkt(vara,varb,varc,unterwurz);
   if (unterwurz<0)
   {
      erg2=komplexeloesungen(vara,varb,varc,erg2);
      printf("\nErgebnis 1: %5.3f",erg1);
      printf(" +");
      printf("%5.3fj",erg2);
      printf("\nErgebnis 2: %5.3f",erg1);
      printf(" -");
      printf("%5.3fj",erg2);
      printf("\nDiese Gleichung hat 2 komplexe Loesungen!!");
   }
   else
   {
      if (unterwurz==0)
      {
      	printf("\nErgebnis: %5.3f",erg1);
         printf("\nDiese Gleichung hat nur 1 reelle Loesung!!");
      }
      else
      {
      	ergreteil=reelleloesungen(vara,varb,varc,ergreteil,unterwurz);
      	erg1=(-varb/2*vara)+ergreteil;
      	erg2=(-varb/2*vara)-ergreteil;
      	printf("\nErgebnis 1: %5.3f",erg1);
      	printf("\nErgebnis 2: %5.3f",erg2);
      }
   }


 }
float unterwurzfkt(float vara,float varb,float varc,float unterwurz)
{
   unterwurz=((varb*varb)-(4*vara*varc));
   return(unterwurz);
}
float komplexeloesungen(float vara,float varb,float varc,float erg2)
{
	erg2=sqrt((-1)*((varb*varb)-(4*vara*varc)));
   return(erg2);
}
float reelleloesungen(float vara,float varb,float varc,float ergreteil,float unterwurz)
{
	ergreteil=sqrt(unterwurz)/(2*vara);
   return(ergreteil);
}
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 27.11.2003, 23:26   #2
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

Code:
#include <stdio.h>
#include <conio.h>
#include <math.h>
float unterwurzfkt(float vara,float varb,float varc,float unterwurz);
float komplexeloesungen(float vara,float varb,float varc,float erg2);
float reelleloesungen(float vara,float varb,float varc,float ergreteil,float unterwurz);

void quadratische1 ( void );

int main ()
{
   float quadratische;
	int auswahl;
   printf("Bitte treffen sie ihre Auswahl: \n\n");
   printf("1) Quadratische Gleichung loesen\n");
   printf("2) Mittelwert berechnen\n");
   printf("3) Requesion\n");
   printf("Auswahl: ");
   scanf("%d",&auswahl);
   /*void clrscr(void);*/
   switch(auswahl)
     {
       case 1:
          quadratische1();
          break;
       case 2:
   		 printf("\nMittelwertberechnung: ");
        break;
       case 3:
   		 printf("\nRegession: ");
   		 break;
     default:
   	 {
   	   printf("Falsche Auswahl!!");
   	   break;
       }
     }
   getch();

 return 0;
}

void quadratische1 ( void )
{
   float vara,varb,varc,erg1,erg2,unterwurz,ergreteil;
   do
   {
     printf("a: ");
     scanf("%f",&vara);
     if (vara==0)
     {
       	printf("   a darf nicht 0 sein! Da es sonst keine Quadratische Gleichung ist\n");
     }
   }
   while (vara==0);
   printf("b: ");
   scanf("%f",&varb);
   printf("c: ");
   scanf("%f",&varc);
   erg1=((-varb)/(2*vara));
   unterwurz=unterwurzfkt(vara,varb,varc,unterwurz);
   if (unterwurz<0)
   {
      erg2=komplexeloesungen(vara,varb,varc,erg2);
      printf("\nErgebnis 1: %5.3f",erg1);
      printf(" +");
      printf("%5.3fj",erg2);
      printf("\nErgebnis 2: %5.3f",erg1);
      printf(" -");
      printf("%5.3fj",erg2);
      printf("\nDiese Gleichung hat 2 komplexe Loesungen!!");
   }
   else
   {
      if (unterwurz==0)
      {
      	printf("\nErgebnis: %5.3f",erg1);
         printf("\nDiese Gleichung hat nur 1 reelle Loesung!!");
      }
      else
      {
      	ergreteil=reelleloesungen(vara,varb,varc,ergreteil,unterwurz);
      	erg1=(-varb/2*vara)+ergreteil;
      	erg2=(-varb/2*vara)-ergreteil;
      	printf("\nErgebnis 1: %5.3f",erg1);
      	printf("\nErgebnis 2: %5.3f",erg2);
      }
   }


 }

float unterwurzfkt(float vara,float varb,float varc,float unterwurz)
{
   unterwurz=((varb*varb)-(4*vara*varc));
   return(unterwurz);
}
float komplexeloesungen(float vara,float varb,float varc,float erg2)
{
	erg2=sqrt((-1)*((varb*varb)-(4*vara*varc)));
   return(erg2);
}
float reelleloesungen(float vara,float varb,float varc,float ergreteil,float unterwurz)
{
	ergreteil=sqrt(unterwurz)/(2*vara);
   return(ergreteil);
}
Entferne die geschweiften Klammern in den case Blöcken der switch Anweisung und füge am Ende ein break; ein, falls dieser Befehl nicht vorhanden ist.

Taufe die Funktion bzw. Prozedur quadratische um, in Dev-C++ schreibt er raus, daß quadratische keine Funktion ist, mit dem Name quadratische1 gelingt die Kompilierung des obigen Programmcodes.

mfg Kikakater
kikakater ist offline   Mit Zitat antworten
Alt 27.11.2003, 23:38   #3
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Zitat:
Original geschrieben von kikakater
Code:
     default:
   	 {
   	   printf("Falsche Auswahl!!");
   	   break;
       }
Entferne die geschweiften Klammern in den case Blöcken der switch Anweisung und füge am Ende ein break; ein, falls dieser Befehl nicht vorhanden ist.
im Default-Block aber auch!
Code:
     default:
   	   printf("Falsche Auswahl!!");
   	   break;
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 03.12.2003, 22:49   #4
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Frage neues programm neue frage:

also:
Code:
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
 float C,R,d,t,Uin,U;
 int   tau1,tau,i,x;
 printf("Berechnet Kondensatorladung:\n\n");
 printf("Geben Sie bitte C ein: ");
 scanf ("%f",&C);
 printf("\nGeben Sie bitte R ein: ");
 scanf ("%f",&R);
 printf("\nGeben Sie bitte Uin ein: ");
 scanf ("%f",&Uin);
 do
 {
   printf("\nWieviele Messwerte wollen Sie pro Tau haben:  ");
   scanf ("%d",&tau);
 }
 while (tau>5||tau<1);

 x=0;
 do
  {
   x++;
   tau1=R*C;
   t=x/(tau1);
   U=Uin*(1-exp(-t));
/*   U=1000;*/
   printf("\nU ist=%f",U);
  }
 while (x!=tau);
 printf("\nAufwiedersehen\n");

 getche();
}
und zwar hab ich das problem das imma 0 rauskommt! egal was ich eingeb! also es dürfte sich um einen Rechenfehler handeln! ich komm aba leider nicht drauf!

hab ma dacht es is vielleicht zu klein für die werte und habs bevor ichs ausgeben hab auch schon mit 100000 multipliziert........hat nix gholfen!?!

wie mach ich daS?
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Alt 03.12.2003, 23:24   #5
Flink
Hero
 
Registriert seit: 29.08.2001
Alter: 57
Beiträge: 904


Flink eine Nachricht über ICQ schicken Flink eine Nachricht über Skype™ schicken
Standard

Code:
tau1=R*C;
Das ergibt wenig Sinn, wenn
Code:
int tau1; float R, C;
definiert ist.
Auch tau1 benötigt den Datentyp float.
____________________________________
Bibel
Flink ist offline   Mit Zitat antworten
Alt 04.12.2003, 19:45   #6
porli
minderwertiges individuum
 
Registriert seit: 09.09.2002
Beiträge: 1.888


porli eine Nachricht über ICQ schicken
Standard

danke stimmt! war a umbesserungsfehla den ich nimma endeckt hab!
danke
____________________________________

http://www.againsttcpa.com
Don\'t let them take your rights!
porli ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:32 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag