Zum Inhalt springen

Histogramm aufgabe


Xanthi24

Empfohlene Beiträge

hey hab ne aufgabe is zwar nicht viel ,,bin aber c neuling kann mir jemand helfen!?

Erstellen Sie ein ANSI-C-Programm, mit dem ein Histogramm von Prüfungsnoten ermittelt und in folgender Form auf dem Bildschirm ausgegeben werden kann:

Histogramm der Noten

|

|

|

|

|

|

|

|

|

|

|

|

|

| *

| * * *

| * * * * *

| * * * * * *

| * * * * * * * * *

| * * * * * * * * * * * *

| * * * * * * * * * * * * *

--+--+--+--+--+--+--+--+--+--+--+--+--+

0 1 2 3 4 5 6 7 8 9 10 11 12

Die Noten werden bei der Eingabe in Kategorien (0 bis 12) eingeteilt und zwar nach folgenden Schema:

Noten: 1.0 1.3 1.7 2.0 2.3 2.7 3.0 3.3 3.7 4.0 4.3 4.7 5.0

Kategorie: 0 1 2 3 4 5 6 7 8 9 10 11 12

Damit die gesamte Bildschirmausgabe sichtbar ist, ist bei Noten, deren Auftritte die Anzahl 20 überschreitet die Ausgabe auf 19 Sternchen zu begrenzen und an der Position des 20. (obersten) Sternchens die tatsächliche Anzahl der Auftritte auszugeben.

Die Noten stehen in einer Textdatei namens noten.dat, jeweils eine Note pro Zeile. Das Programm öffnet die Datei und liest alle Noten (bis EOF). Danach wird die Datei geschlossen und das Histogramm ausgegeben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Xanthi24:

Beginne einfach mal mit einen Programmablauf:

1.) Datei einlesen

2.) Werte zählen (in Kategorie umrechnen und zählen)

3.) Histogramm ausgeben

Diese Dinge kannst du dann weiter unterteilen und Implementierungsideen entwickeln: z.b. "Lese ich zuerst die dei ein und zähle dann die Werte oder verarbeite ich gleich den Wert nach dem einlesen ?"

Weiters überlege, welche Datenstrukturen du brauchst (arrays, listen, ...)

Dann befaße dich auch mit Textausgabe: Erstellst Du das histogramm in einem "virtuellen Bildschirm" und gibst es zeilenweise aus oder gleich direkt.

Dann gehe Detailfragen an: Wie zähle ich die Noten ?, Wie rechne ich die Noten in Kategorien um ? Welche Datenstruktur brauch ich für einen "virtuellen Bildschirm" ? usw.

MfG, Michael

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gehen wir einen großen Schritt zurück, ganz an den Anfang:

Was tut man, wenn man kein C kann ?

Man besorgt sich ein Buch zu diesem Thema (a la "C für blutige Anfänger")

und arbeitet dieses mal soweit durch bis man glaubt diese Aufgabe lösen zu können.

Zur Aufgabe: Die Lösung hat sicher nicht mehr als 100 Zeilen, und ist daher schonmal vom Aufwand her realtiv einfach.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein Ansatz?

Okay lese deine Noten (wie auch immer) in ein zweidimensionales Array ein z.B. histogramm[sCHUELERANZ][NOTEN].

sind keine Werte vorhanden, dann liesst Du ein Blank ein.

Dann durschläufst Du das Array einfach nur in 2 for Schleifen von oben nach unten durch mit einem printf und fertig ist das ganze.

fertigen Code bekommst Du nicht :P

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

ein Ansatz:


#include <stdio.h>

int main()
{
return 0;
}
[/php]

Ein übersichtliche Referenz bekommst du hier:

www.cppreference.com

Und hier noch ein Onlinebuch:

www.pronix.de

In welchem Rahmen hast du diese Aufgabe denn bekommen? Studium? Schule? Ihr müsstet doch irgendetwas dazu besprochen haben bzw. es müssten doch irgendwelche Vorkenntnisse vorhanden sein?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

ein Ansatz:


#include <stdio.h>

int main()
{
return 0;
}
[/php]

Super, das hätten wir ... im ansatz schon mal falsch gepostet :rolleyes: oder is C++ = PHP ... dann wäre VC++ eine geniale IDE für PHP entwickler.

Zum Ansatz, ich denke es hilft einem Blutigen anfänger wenig, ihm nur die Grundstruktur einer Konsolen-Anwendung zu geben.

Ich verweise freundlichst auf diese Tutorials:

- Hallo Welt - Tutorial

- Arrays - Tutorial

- Bloody Develope - C++ Tutorial

Bedingt der situation, das lernenden Menschen geholfen wird, solltest du ersteinmal versuchen einen eigenen Quelltext für dein Programm zu überlegen, zumindest versuchen einen Quelltext zu realisieren. Das was du hast, wo du AFAIK nicht weiterkommst, Poste hier. So denke ich, wird dir am schnellsten geholfen :cool:

grüße Exelsior.

P.S.: Hunde weckt man mit Knochen, int main() { return 0 } ... ist ein sehr leckerer Knochen :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

oder is C++ = PHP ... dann wäre VC++ eine geniale IDE für PHP entwickler.

Nur weil der PHP Tag verwendet wird, heisst das noch lange nicht, dass der getaggte Code auch PHP-Code sein muss!

P.S.: Hunde weckt man mit Knochen, int main() { return 0 } ... ist ein sehr leckerer Knochen :floet:

Tja, das ist leider kein gültiges C/C++ Programm, im Gegensatz zum Code in den PHP-Tags!!

Es ist auch nicht besonders hilfreich, bei einem konkreten Problem auf diverse C/C++ Tutorials allgemeiner Art zu verlinken.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Super, das hätten wir ... im ansatz schon mal falsch gepostet :rolleyes: oder is C++ = PHP ... dann wäre VC++ eine geniale IDE für PHP entwickler.

Ich liebe es, (vor allem unsinnig) klugzugeschissen zu werden. Aber das kann ich auch: Ansi C != C++.

Zum Ansatz, ich denke es hilft einem Blutigen anfänger wenig, ihm nur die Grundstruktur einer Konsolen-Anwendung zu geben.

Das sehe ich ein wenig anders, aber natürlich gibt es mehrere Ansätze dazu. Ich fange selber immer so an, auch wenn mir durchaus bewusst ist, dass das nicht unbedingt der Königsweg ist.

Bedingt der situation, das lernenden Menschen geholfen wird, solltest du ersteinmal versuchen einen eigenen Quelltext für dein Programm zu überlegen, zumindest versuchen einen Quelltext zu realisieren. Das was du hast, wo du AFAIK nicht weiterkommst, Poste hier. So denke ich, wird dir am schnellsten geholfen :cool:

Weise Worte, aber so weit waren wir schon. Die einzelnen Schritte sind, soweit ich mich erinnere, bereits gepostet worden. Es galt eben "nur" noch, das in Code umzusetzen und da kann eine Referenz a la www.cpprerence.com schonmal behilflich sein, zumal anschließend auch "nur" nach der Syntax gefragt wurde:

mein problem ist nur das in c-syntax zu schreiben!!!
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...