www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - 2 Kompilierfehler
2 Kompilierfehler < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

2 Kompilierfehler: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:59 Sa 09.07.2011
Autor: David90

Aufgabe
Hi Leute, ich schreib Montag Klausur über C und wollte noch ein bisschen üben. Ich hab folgendes Programm geschrieben, aber wenn ich es kompiliere kommen 2 Fehlermeldungen. Kann mir jemand sagen wo mein Fehler liegt?

Mein Prog sieht folgendermaßen aus:
#include <stdio.h>
#include <math.h>
double berechnung(float seite, float *umkreisradius);
int main(void)
{
float s,ergebnis_umkreisradius;
double ergebnis_flaeche;
printf("Bitte geben Sie die Seitenlaänge des gleichseitigen Dreiecks ein. Die eingegebene Seite hat die Einheit [mm] Meter\n"); [/mm]
scanf("%f", &s);
ergebnis_flaeche=berechnung(s, &ergebnis_umkreisradius);
printf("Die Fläche des gleichseitigen Dreiecks beträgt %f [mm] \n", [/mm] ergebnis_flaeche);
printf("Der Umfang des gleichseitigen Dreiecks beträgt %f [mm] \n", [/mm] &ergebnis_umkreisradius);
return 0;
}

double berechnung (float seite, float *umkreisradius)
{
double flaeche;
*umkreisradius = seite/sqrt(3);
[mm] flaeche=seite^2/4*sqrt(3); [/mm]
return flaeche;
}
Hoffe jemand kann mir schnellstmöglich helfen:(
gruß David

        
Bezug
2 Kompilierfehler: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:09 Sa 09.07.2011
Autor: David90

Achso bin ich ein Kunde xD die fehlermeldungen sind folgende:

flaeche_und_umfang.c: In function 'main':
flaeche_und_umfang.c:12: warning: format '%f' expects type 'double', but argument 2 has type 'float*'
flaeche_und_umfang.c: In function 'berechnung':
flaeche_und_umfang.c:20: error: invalid operands to binary ^ (have 'float' and 'double')

Bezug
                
Bezug
2 Kompilierfehler: Antwort
Status: (Antwort) fertig Status 
Datum: 13:14 Sa 09.07.2011
Autor: felixf

Moin!

> Achso bin ich ein Kunde xD

Kunde?

> die fehlermeldungen sind
> folgende:
>  
> flaeche_und_umfang.c: In function 'main':
>  flaeche_und_umfang.c:12: warning: format '%f' expects type
> 'double', but argument 2 has type 'float*'

Das ist kein Compilerfehler, aber eine Warnung. Sie weisst trotzdem auf einen Fehler hin. Den solltest du aber eigentlich auch selber finden koennen.

>  flaeche_und_umfang.c: In function 'berechnung':
>  flaeche_und_umfang.c:20: error: invalid operands to binary
> ^ (have 'float' and 'double')

Dazu hatte ich schon was geschrieben.

LG Felix



Bezug
        
Bezug
2 Kompilierfehler: Antwort
Status: (Antwort) fertig Status 
Datum: 13:13 Sa 09.07.2011
Autor: felixf

Moin David!

> Hi Leute, ich schreib Montag Klausur über C und wollte
> noch ein bisschen üben. Ich hab folgendes Programm
> geschrieben, aber wenn ich es kompiliere kommen 2
> Fehlermeldungen. Kann mir jemand sagen wo mein Fehler
> liegt?
>
>  Mein Prog sieht folgendermaßen aus:

Du haettest ja netterweise auch sagen koennen, wo dein Compiler die Fehler findet. Die Information reicht ja meist schon aus, um zu sehen wo das Problem ist.

Und das Verwenden von [code]...[/code]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

haette das ganze auch etwas lesbarer gemacht.

>  #include <stdio.h>
>  #include <math.h>
>  double berechnung(float seite, float *umkreisradius);
>  int main(void)
>  {
>  float s,ergebnis_umkreisradius;
>  double ergebnis_flaeche;
>  printf("Bitte geben Sie die Seitenlaänge des
> gleichseitigen Dreiecks ein. Die eingegebene Seite hat die
> Einheit [mm]Meter\n");[/mm]
>  scanf("%f", &s);
>  ergebnis_flaeche=berechnung(s, &ergebnis_umkreisradius);
>  printf("Die Fläche des gleichseitigen Dreiecks
> beträgt %f [mm]\n",[/mm] ergebnis_flaeche);

In dieser Zeile:

>  printf("Der Umfang des gleichseitigen Dreiecks beträgt
> %f [mm]\n",[/mm]Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

&ergebnis_umkreisradius);

ist ein Fehler, die dein Compiler moeglicherweise nicht bemerkt hat.

>  return 0;
>  }
>  
> double berechnung (float seite, float *umkreisradius)
>  {
>  double flaeche;
>  *umkreisradius = seite/sqrt(3);

Diese Zeile hier:

>  [mm]flaeche=seite^2/4*sqrt(3);[/mm]

ergibt in C oder C++ keinen Sinn. Was soll seite^2 sein? Wenn seite ein Integer-Datentyp wear, dann waer ^Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

das bitweise XOR. Fuer Fliesskommadatentypen ist es allerdings nicht definiert.

>  return flaeche;
>  }
>   Hoffe jemand kann mir schnellstmöglich helfen:(

Abgesehen von meinen zwei Anmerkungen oben ist das Proramm korrekt, der Compiler akzeptiert es also nach bereits einer dieser Aenderungen (und zwar der unteren).

Kann es sein, dass du Link-Fehler auch zu Compilerfehler zaehlst? In dem Fall hast du evtl. das Dazulinken der C-Math-Library vergessen (oft mit dem Kommandozeilenargument -lm).

LG Felix


Bezug
                
Bezug
2 Kompilierfehler: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:23 Sa 09.07.2011
Autor: David90

ok danke schon mal für die schnelle antwort^^ also die formel mit dem hoch 2 hab ich aus nem übungsbuch, da halte ich mich einfach dran^^ hab aus hoch 2 jetz einfach seite*seite gemacht und die binary fehlermeldung war weg^^ jetz is nur noch die warning mit dem expects tyoe 'double' da. Vielleicht bin ich blöd aber hattest du geschrieben wo der fehler liegt? weil ich finde den nich, diese fehlermeldung hab ich irgendwie immer bei jedem prog und hab nie rausgefunden was jetz falsch is...ergebnis_umkreisradius is doch typ float und der bei scanf muss man dann %f schreiben :O
gruß david

Bezug
                        
Bezug
2 Kompilierfehler: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:26 Sa 09.07.2011
Autor: David90

ähhh ich mein natürlich bei printf muss man für eine float variable %f schreiben xD

Bezug
                        
Bezug
2 Kompilierfehler: Antwort
Status: (Antwort) fertig Status 
Datum: 13:31 Sa 09.07.2011
Autor: felixf

Moin!

> ok danke schon mal für die schnelle antwort^^ also die
> formel mit dem hoch 2 hab ich aus nem übungsbuch, da halte
> ich mich einfach dran^^ hab aus hoch 2 jetz einfach
> seite*seite gemacht und die binary fehlermeldung war weg^^
> jetz is nur noch die warning mit dem expects tyoe 'double'
> da. Vielleicht bin ich blöd aber hattest du geschrieben wo
> der fehler liegt? weil ich finde den nich, diese
> fehlermeldung hab ich irgendwie immer bei jedem prog und
> hab nie rausgefunden was jetz falsch
> is...ergebnis_umkreisradius is doch typ float und der bei
> scanf muss man dann %f schreiben :O

Nun, prinft braucht den Wert der Variablen, scanf deren Adresse.

In der Zeile ueber dem prinft mit dem Fehler hast du es ja auch richtig gemacht.

LG Felix


Bezug
                                
Bezug
2 Kompilierfehler: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:37 Sa 09.07.2011
Autor: David90

ok danke dir:) hab das & weggemacht und jetz gehts:) er gibt twar immer noch eine meldung raus und zwar: unrecognized option '-1m' aber wenn ich das 1m weglasse klappt alles super:) danke nochmal...bleib mal on, kommen bestimmt nochn paar fragen im laufe des tages xD

Bezug
                                        
Bezug
2 Kompilierfehler: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:08 Sa 09.07.2011
Autor: felixf

Moin!

> ok danke dir:) hab das & weggemacht und jetz gehts:) er
> gibt twar immer noch eine meldung raus und zwar:
> unrecognized option '-1m' aber wenn ich das 1m weglasse

Nun, es heisst ja auch -lm und nicht -1m :-) Also ein kleines L, anstelle der Ziffer 1.

> klappt alles super:) danke nochmal...bleib mal on, kommen
> bestimmt nochn paar fragen im laufe des tages xD

Ich werd nicht die ganze Zeit on sein, aber immer wieder ;-)

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de