Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   rechenprogramm mir fehlern(c) (https://www.delphipraxis.net/16712-rechenprogramm-mir-fehlern-c.html)

PomBär 22. Feb 2004 11:18


rechenprogramm mir fehlern(c)
 
moin leute
ich hab versucht ein programm zu schreiben mit auswahlmenue und so.
leider funzt das net so richtig er kompiliert zwar gibt auch keine fehlermeldung aus aber startes das programm nicht.

Code:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
void kreis_area(float d)

float flaeche, pi = 3.1415;
flaeche = d*d*pi/4;
printf("Fläche des Kreises: %.2f\n", flaeche);
}

void kreis_durchmesser(float flaeche)
{float d, pi = 3.1415;
d = sqrt(4* flaeche/pi);
printf("Durchmesser des Kreises betraegt: %.2f\n" ,d);
}
void kreis_umfang(float d)
{
float umfang, pi = 3.1415;
umfang =d *pi;
printf("Umfang des Kreis betraegt: %.2f\n",umfang);
}
using namespace std;

int main(int argc, char *argv[])
{
  float var;
  int abfrage;
 
  do{
      printf("welche Berechnung wollen Sie durchfuehren?\n\n");
      printf("<1> Kreisflaeche\n");
      printf("<2> Kreisdurchmesser\n");
      printf("<3> Kreisumfang\n");
      printf("<4> Programm beenden\n\n");
      printf("Ihre Auswahl <>\b\b");
      scanf("%d", &abfrage);
     
      switch(abfrage)
      {
        case 1 : printf("Durchmesser:");
        scanf("%f",&var);
        kreis_area(var);
        break;
       
        case 2 : printf("Fläche:");
        scanf("%f",&var);
        kreis_durchmesser(var);
        break;
       
        case 3 : printf("Durchmesser:");
        scanf("%f",&var);
        kreis_umfang(var);
        break;
       
        case 4 : printf("Programmende");
        break;
        default : printf("Unbekannte Eingabe\n);
        }
        }while(abfrage!=4);
       
  system("PAUSE");   
  return 0;
}
[Warning] multi-line string literals are deprecated
missing terminating " character
possible start of unterminated string literal
[Warning] In function `int main(int, char**)':
parse error before string constant
[Build Error] [main.o] Error 1


was hab ich falsch gemacht?
:wiejetzt:

[edit=sakura] code-tags... Mfg, sakura[/edit]

Luckie 22. Feb 2004 11:29

Re: rechenprogramm mir fehlern(c)
 
Zitat:

Zitat von PomBär
er kompiliert zwar gibt auch keine fehlermeldung aus aber startes das programm nicht.

Kann ich irgendwie nicht so recht glauben, wenn ich das:
Code:
[Build Error] [main.o] Error 1
lese.

PomBär 22. Feb 2004 11:32

Re: rechenprogramm mir fehlern(c)
 
er läuft durch ohne mir eine zeile anzuzeigen in der der fehler sein soll. nach dem durchlauf gibt er mir wieder den quelltext aus.

was kann ich machen?

fkerber 22. Feb 2004 11:39

Re: rechenprogramm mir fehlern(c)
 
Hi!

Der Compiler gibt doch diese Warnungen/Fehler aus:

Zitat:

[Warning] multi-line string literals are deprecated missing terminating " character possible start of unterminated string literal
[Warning] In function `int main(int, char**)': parse error before string constant
[Build Error] [main.o] Error 1
Vielleicht springt er durch Draufklicken in die Fehlerzeile?
Irgendwas ist da anscheinend falsch vor einem String...


Ciao fkerber

atreju2oo0 22. Feb 2004 11:45

Re: rechenprogramm mir fehlern(c)
 
Zitat:

default : printf("Unbekannte Eingabe\n);
Da muss auf jeden Fall ans Ende noch nen " .
Was anderes hab ich erstmal nicht gefunden...

PomBär 22. Feb 2004 20:49

Re: rechenprogramm mir fehlern(c)
 
danke
ich hab wirklich die anführungsstriche vergessen.

ich hab aber noch ne frage:
wie kann ich verhinder, dass wenn ich 2,3 statt 2.3 eingebe eine endlosschleife entsteht?
:lol:

fkerber 22. Feb 2004 21:03

Re: rechenprogramm mir fehlern(c)
 
Hi!

Ersetze vor deiner Schleife alle , durch .
Oder verhindere die Eingabe von ,
Aber frag mich nicht, wie das in C geht :oops:

Ciao fkerber

atreju2oo0 23. Feb 2004 16:37

Re: rechenprogramm mir fehlern(c)
 
Also Kerber hat auf jeden Fall Recht mit der SChleife...
Und praktisch umsetzten kannst Du das mit den String-Befehlen!
Schau einfach in der C++ Hilfe nach...
1. Strcomp() für Suchen
2. strCopy() für Kopieren

Dann also jede Eingabe nach nem Komma durchsuchen und durch nen Punkt ersetzen...
(nicht vergessen die Lib für Strings einzubinden)
Viel Erfolg

:zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz