AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++ [C] Probleme mit Aufgabe und Variablen
Thema durchsuchen
Ansicht
Themen-Optionen

[C] Probleme mit Aufgabe und Variablen

Ein Thema von Hybrid666 · begonnen am 30. Sep 2010 · letzter Beitrag vom 30. Sep 2010
 
Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#1

[C] Probleme mit Aufgabe und Variablen

  Alt 30. Sep 2010, 16:52
Hallo,

zuerst: KEINE ANGST! ich will hier keine lösung für meine aufgabe, die ich zu bearbeiten habe. ich hänge grade nur an einer stelle.

Ich habe folgende aufgabe (auch wenn ich das meiste sinnfrei finde, wie das gelöst ist):
Zitat:
Schreiben Sie ein Programm, welches 2 float-Zahlen a und b mit der Funktion einlesen() einliest, und dann mit der Funktion average () den Durschnitt, mit der Funktion quotient() den Quotienten, mit der funktion produkt() das Produkt, mit der funktion summe() die Summe und mit der Funktion differ() die Differenz berechnet. Alle Funktionen sollen in main() aufgerufen werden. Jede funktion steht in einer eigenen Datei. Der Dateiname bildet sich aus dem jeweiligen Funktionsnamen und der endung.c

Die Zahl a soll eine globaale Variable sein und in der Datei main.c definiert sein. Die zahl b soll über die Parameterliste übergeben werden. Die ergebnisse der arithmetischen Operationen sollen bei average(), quotient() und produkt() über die Parameterliste, bei summe() und differ() als Rückgabewert übergeben werden
Dazu bekamen wir diese main.c:
Code:
#include <stdio.h>
#include "einlesen.c"
#include "average.c"
#include "quotient.c"
#include "produkt.c"
#include "summe.c"
#include "differ.c"



extern void einlesen (float *, float *);
extern void average (float, float *);
extern void quotient (float, float *);
extern void produkt (float, float *);
extern float summe (float);
extern float differ (float);

float a;

int main (void)
{
   float b;
   float mittel, quot, prod, summ, diff;

   einlesen (&a, &b);
   average (b, &mittel);
   quotient (b, &quot);
   produkt (b, &prod);

   summ = summe (b);
   diff = differ (b);
   printf ("\n a = %6.2f, b = 6.2f",a,b);
   printf ("\n der Mittelwert von a und b ist %6.2f", mittel);
   printf ("\n das Produkt a*b ist %6.2f", prod);
   printf ("\n der Quotient a/b ist %6.2f", quot);
   printf ("\n die Summe a + b ist %6.2f", summ);
   printf ("\n die Differenz ist %6.2f", diff);
   return 0;
}
Die anderen Dateien sehen bei mir wie folgt aus:

einlesen.c:
Code:
#include <stdio.h>

void einlesen (float * first, float * second) {
   printf ("Bitte a eingeben: ");
   scanf ("%f", first);
   printf ("Bitte b eingeben: ");
   scanf ("%f", second);
}
average.c:
Code:
void average (float num, float * res) {
  *res = (a / num) / 2;
}
quotient.c:
Code:
void quotient (float num, float * res) {
  *res = num / a;
}
usw. eigentlich nichts späktakuläres (und total unsinnig alles in einzelne files zu packen, aber OK).

Nun habe ich das problem, das keine der externen dateien die variable "a" findet.
Der Compiler meldet:
Code:
user@bueckstueck02 ~/Desktop/Labor Info/blatt1/aufg1 $ gcc -o main main.c
In file included from main.c:3:
average.c: In Funktion »average«:
average.c:2: Fehler: »a« nicht deklariert (erste Benutzung in dieser Funktion)
average.c:2: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
average.c:2: Fehler: für jede Funktion in der er auftritt.)
In file included from main.c:4:
quotient.c: In Funktion »quotient«:
quotient.c:2: Fehler: »a« nicht deklariert (erste Benutzung in dieser Funktion)
In file included from main.c:5:
produkt.c: In Funktion »produkt«:
produkt.c:2: Fehler: »a« nicht deklariert (erste Benutzung in dieser Funktion)
In file included from main.c:6:
summe.c: In Funktion »summe«:
summe.c:2: Fehler: »a« nicht deklariert (erste Benutzung in dieser Funktion)
In file included from main.c:7:
differ.c: In Funktion »differ«:
differ.c:2: Fehler: »a« nicht deklariert (erste Benutzung in dieser Funktion)
user@bueckstueck02 ~/Desktop/Labor Info/blatt1/aufg1 $
Woran liegt das? ich glaube nicht, das es an der main.c liegt, da die fertig schon da war und das labor in den jahren davor ja auch zu machen war.

Danke für eure hilfe!
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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