thehasso Geschrieben 1. April 2008 Geschrieben 1. April 2008 Hallo ich hab eine aufgabe die mich total verrückt macht und zwar versuch ich schon lange Umsätze einzulesen inkl den entsprechenden Monat . Ich hab aber eine schwirigkeit dabei. Aufgabe: Für die beiden Filialen der Handelsfirma A & B GmbH sollen die Umsätze von Januar 2007 bis Dezember 2007 manuell per Tastatur erfasst werden. Diese Erfassung soll als erster Menüpunkt dem Bediener angeboten werden und von einem separaten Programm – Modul übernommen werden. Ein weiterer Menüpunkt soll der tabellarischen Ausgabe aller Umsätze beider Filialen dienen und ebenfalls von einem separaten Programm – Modul übernommen werden. #include <stdlib.h> #include <stdio.h> int main() { int umsatz; int i; char umsatz_monat[12]; umsatz_monat[0]='januar'; umsatz_monat[1]='februar'; umsatz_monat[2]='maerz'; umsatz_monat[3]='april'; umsatz_monat[4]='mai'; umsatz_monat[5]='juni'; umsatz_monat[6]='juli'; umsatz_monat[7]='august'; umsatz_monat[8]='september'; umsatz_monat[9]='oktober'; umsatz_monat[10]='november'; umsatz_monat[11]='dezember'; printf("\nBitten geben Sie die Werte fuer Januar bis Dezember:\n"); for(i=1;i<12; i++) { printf("%s",umsatzmonat++);scanf("%i",&umsatz); } system("pause"); } hab mir gedacht dass das array mit printf(); ausgegeben werden soll ich kanns nicht umsetzten .. bittee kann mir jemand dabei helfen das so programmieren damit ich mal sehen kann wie das ganze programm aussieht dann kann ich das viel besser nachvollziehen. lg Zitieren
Klotzkopp Geschrieben 1. April 2008 Geschrieben 1. April 2008 hab mir gedacht dass das array mit printf(); ausgegeben werden soll ich kanns nicht umsetzten ..Und das heißt konkret? bittee kann mir jemand dabei helfen das so programmieren damit ich mal sehen kann wie das ganze programm aussieht dann kann ich das viel besser nachvollziehen.Und es hätte den angenehmen Nebeneffekt, dass du es nicht mehr selbst machen müsstest, stimmt's? Das ist aber sicher nicht Sinn der Sache. Hier eine Liste der Fehler, ohne Anspruch auf Vollständigkeit: 1) umsatz_monat ist ein Array von 12 char, also 12 Einzelzeichen. Du versuchst aber, da 12 Zeichenketten reinzustecken, das kann nicht funktionieren. In C ist eine Zeichenkette ein nullterminiertes Array von char, oder ein Zeiger auf dessen erstes Zeichen. Wenn du also ein Array von Zeichenketten brauchst, brauchst du ein zweidimensionales char-Array, oder ein Array von char-Zeigern. Da die Strings hier konstant sind, währen Zeiger auf Stringliterale wohl besser. 2) Mit Hochkommas kennzeichnet man Einzelzeichenliterale. 'Januar' ist Unfug, das ist eine Zeichenkette, die muss in Anführungszeichen eingeschlossen werden. 3) Deine Schleife läuft von 1 bis 12, dein Array geht aber von 0 bis 11. 4) Der Bezeichner umsatzmonat ist nicht deklariert. Und falls du umsatz_monat meinst: Auch umsatz_monat++ ist Unfug. umsatz_monat ist ein Array, das hat keinen Inkrementoperator. 5) Du kannst nicht 12 Werte in einer einzigen int-Variablen speichern. Ist dir klar, was in der Aufgabenstellung mit "separatem Modul" gemeint ist? Zitieren
TDM Geschrieben 1. April 2008 Geschrieben 1. April 2008 4) Der Bezeichner umsatzmonat ist nicht deklariert. Und falls du umsatz_monat meinst: Auch umsatz_monat++ ist Unfug. umsatz_monat ist ein Array, das hat keinen Inkrementoperator. Das ist so nicht ganz korrekt. Ein Zeiger ist im Endeffekt auch nur ein double (oder long?! egal.). Auf jeden Fall kannst du ihn erhöhen und zur nächsten Position springen. Ich glaub zwar nicht, dass das sinnvoll ist, aber bei Arrayzeigern kann man so eine (unsaubere) Iteration durchführen. Zitieren
Klotzkopp Geschrieben 1. April 2008 Geschrieben 1. April 2008 Ein Zeiger ist im Endeffekt auch nur ein double (oder long?! egal.).Weder noch. Ein Zeiger ist ein Zeiger. Auf bestimmten Plattformen mag ein Zeiger so groß sein wie ein double oder long, aber die interne Repräsentation ist nicht festgelegt. Auf jeden Fall kannst du ihn erhöhen und zur nächsten Position springen.Richtig. Das nennt sich Zeigerarithmetik. Ich glaub zwar nicht, dass das sinnvoll ist, aber bei Arrayzeigern kann man so eine (unsaubere) Iteration durchführen.Ich weiß nicht, was du mit "Arrayzeiger" meinst, aber wir haben hier keinen Zeiger im Code, nur ein Array. Der Bezeichner des Arrays selbst ist kein lvalue, und auch eine Konvertierung in einen Zeiger bringt hier nichts, weil die auch keinen lvalue ergibt. Der Inkrementoperator braucht aber einen lvalue-Operanden. Zitieren
TDM Geschrieben 1. April 2008 Geschrieben 1. April 2008 Ich weiß nicht, was du mit "Arrayzeiger" meinst, aber wir haben hier keinen Zeiger im Code, nur ein Array. Der Bezeichner des Arrays selbst ist kein lvalue, und auch eine Konvertierung in einen Zeiger bringt hier nichts, weil die auch keinen lvalue ergibt. Der Inkrementoperator braucht aber einen lvalue-Operanden. Ja, ich hab grad was durcheinander gebracht. Hatte vergessen, dass man den Array selber nicht mit einem Operator versehen kann. Meinte das in folgendem Sinne: int zahlen[] = { 1, 2, 3 }; int * ptr = &zahlen[0]; ptr++; // ptr == &zahlen[0] + sizeof(int) = &zahlen[1] Zitieren
thehasso Geschrieben 1. April 2008 Autor Geschrieben 1. April 2008 Und das heißt konkret? Und es hätte den angenehmen Nebeneffekt, dass du es nicht mehr selbst machen müsstest, stimmt's? Das ist aber sicher nicht Sinn der Sache. Ist dir klar, was in der Aufgabenstellung mit "separatem Modul" gemeint ist? Ne überhaupt nicht ich sitze jeden tag lang genug am Rechner und versuch das nur geht schlecht bin überhaupt nicht faul. ich wünscht könnte es programmieren sonst würd ich nicht um eure hilfe bitten. Ich glaub ein seprates Modul soll außerhalb der main() funktion sein.. so ganz bin ich mir nicht im klaren... Hier hab ich eure anweisungen befolgt. #include <stdlib.h> #include <stdio.h> int main() { int umsatz; int i; char * umsatz_monat[13]; umsatz_monat[1]="januar"; umsatz_monat[2]="februar"; umsatz_monat[3]="maerz"; umsatz_monat[4]="april"; umsatz_monat[5]="mai"; umsatz_monat[6]="juni"; umsatz_monat[7]="juli"; umsatz_monat[8]="august"; umsatz_monat[9]="september"; umsatz_monat[10]="oktober"; umsatz_monat[11]="november"; umsatz_monat[12]="dezember"; printf("\nBitten geben Sie die Werte fuer Januar bis Dezember:\n"); for(i=1;i<12; i++) { scanf("%i",&umsatz); } system("pause"); } oder so char* Monate[12] = { "Januar", "Ferbruar", "März", "April","Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; Jetzt fehlt noch der array für jeder eingabe den entsprechenden monat anzeigt und die ausgabe einer Tabbelarischen form . Jemand ein tipp :confused: lg the hasso Zitieren
thehasso Geschrieben 1. April 2008 Autor Geschrieben 1. April 2008 Hallo, ich hab das Programm nun zuende geschrieben. Nun wird gefordert tabbelarische Ausgabe der Umsätze. jemand ne ahnung wie das funktionieren soll? [cpp] #include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz; int m1; char* monate[12] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate); printf("Eingabe:");scanf("%i",&umsatz);//cls } } else { printf("\n\tDas Programm wurde Beendet\n"); } system("pause"); } [/cpp] lg the hasso Zitieren
Klotzkopp Geschrieben 2. April 2008 Geschrieben 2. April 2008 Ich glaub ein seprates Modul soll außerhalb der main() funktion sein.. Genau das ist damit gemeint. Du musst für die Teilaufgaben eigene Funktionen anlegen. Hier hab ich eure anweisungen befolgt.Eigentlich nicht. Du versuchst immer noch, 12 Umsatzwerte in einer einzigen int-Variablen abzulegen. Am Ende steht nur noch der Wert für Dezember in der Variablen umsatz, alle anderen Eingaben sind weg. Hallo, ich hab das Programm nun zuende geschrieben. Nun wird gefordert tabbelarische Ausgabe der Umsätze. jemand ne ahnung wie das funktionieren soll?Die Werte in einer Schleife wieder ausgeben? Dazu müsstest du natürlich erst einmal Werte zum Ausgeben haben. Bisher hast du immer noch nur einen einzigen Zitieren
thehasso Geschrieben 2. April 2008 Autor Geschrieben 2. April 2008 Hallo #include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz[12]; int m1; int summe=0; char* monate[12] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate[i]); printf("Eingabe:");scanf("%i",&umsatz[i]);//cls } } else { summe=summe+umsatz[zi]; summe+=umsatz[i] // die Summe aller Monate Ist voll groß? printf("%i",&summe); } system("pause"); } und die ausgabe des arrays mit forschleife sprich: for(i=0; umsatz[i]<11;i++) { printf("%i"&umsatz[i]) } so müsst es stimmen oder? Wie erfolgt eine tabelraische ausgabe , das Eine Spalten nr,Umsätze,Jahr? lg hasso Zitieren
thehasso Geschrieben 2. April 2008 Autor Geschrieben 2. April 2008 aufjeden fall mit einer array matrix..... Zitieren
Klotzkopp Geschrieben 2. April 2008 Geschrieben 2. April 2008 summe=summe+umsatz[zi]; summe+=umsatz[i] // die Summe aller Monate Ist voll groß? [/code] Diese beiden Zeilen tun dasselbe, du solltest nur eine von beiden verwenden. [code]printf("%i",&summe); Hier muss das & weg. printf("%i"&umsatz[i])Hier auch. Wie erfolgt eine tabelraische ausgabe , das Eine Spalten nr,Umsätze,Jahr?Tabellarisch heißt einfach nur, dass die Daten in Zeilen und Spalten organisiert sind. Wie du das verteilst, bleibt dir überlassen. Zitieren
thehasso Geschrieben 2. April 2008 Autor Geschrieben 2. April 2008 OK. Danke Dann könnt ich das in eine Matrix aufgeben wär doch eine Idee, oder ? Zitieren
thehasso Geschrieben 2. April 2008 Autor Geschrieben 2. April 2008 Hallo, ich hab das programm soweit ich nur kann geschrieben.. um weiter zu machen fehlen mir die kenntnisse deswegen bitte ich irgendjemand um hilfe der mir hierbei helfen kann. Die Ausgabe muss einer Matrix erfolgen Sprich eine Spalte für Umsätze und für Die Monate + Jahr damit das auch alles gerade ist. hier mal eine Beispiel. #include <stdio.h> void main (void) { int m[3][4]; int z,s; for (z= 0; z < 3;z++) for(s = 0; s < 4; s++) m [z] = s+1+4*z; for (z= 0; z < 3;z++) { for(s = 0; s < 4; s++) printf("%10i",m[z]); printf("\n"); } } Ab hier Mein Programm... #include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz[12]; int m1,m2; int summe=0; // char* monate [12]=... char monate[12][20] = { "Januar 2007\n", "Ferbruar 2007\n", "März 2007\n", "April 2007\n","Mai 2007\n", "Juni 2007\n", "Juli 2007\n", "August\n", "September 2007\n", "Oktober 2007\n", "November 2007\n", "Dezember 2007\n" }; printf("\n\tHandelsfirma A & B GmbH\n"); printf("\nMenue Punkt 1: Eingabe ihrer Umsaetze taetigen Sie die Ziffer 1\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=11;i++) { printf("\nBitte %i -ten Umsatz fuer %s",i+1,monate); printf("Eingabe:");scanf("%i",&umsatz);//cls summe=summe+umsatz; } printf("Ausgabe Umsaetze:"); for (i=0;i<=11;i++) { printf("%i %s",umsatz,monate); printf("\n"); } printf("\n Die Summe ist:%i \n",summe); system("pause"); } } Ich hoffe mir kann jemand helfen Zitieren
thehasso Geschrieben 3. April 2008 Autor Geschrieben 3. April 2008 Tabellarisch heißt einfach nur, dass die Daten in Zeilen und Spalten organisiert sind. Wie du das verteilst, bleibt dir überlassen. Wie macht man das denn ?? bittee bitte hilf mir dabei muss die aufgabe bis zum wocheende fertig haben... gruß Zitieren
Klotzkopp Geschrieben 3. April 2008 Geschrieben 3. April 2008 Wie macht man das denn ??Vergleich doch mal den Formatstring im Beispiel mit deinem. Die 10 steht da nicht zum Spaß drin Zitieren
thehasso Geschrieben 4. April 2008 Autor Geschrieben 4. April 2008 Hallo, so ich hab das jetzt gemacht und muss echt sagen das programm gefällt mir:) - nur leider fehlt mir noch etwas und zwar wie man den kleinsten/und größten Umsatz ausgeben kann. dann müsst ich das nur noch alles in äußeren Modulen machen. Wüsstest du wie man da vorgehen müsste? hab schon int min, max deklariert:) #include <stdlib.h> #include <stdio.h> #include<math.h> #include "conio.h" int main() { int min,max; int const n=11; int umsatz[12],m1,m2,i; int umsatz_summe=0; // char* monate [12]=... float mittelwert=0; char monate[13][20] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; char jahr[13][30] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; printf("\n\tHandelsfirma A & B GmbH\n"); printf("Menue:\n"); printf("1: - Umsaetze eingeben\n"); printf("2: - Programm Wiederholen\n"); printf("3: - Ermittlung kleinster Wert\n"); printf("4: - Ermittlung groesster Wert\n"); scanf("%i",&m1); if(m1==1) { for (i=0;i<=n;i++) { printf("\nBitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]); // Eingabe printf("Eingabe:");scanf("%i",&umsatz[i]);//cls umsatz_summe+=umsatz[i]; // Berechnung Summe mittelwert=umsatz_summe/n; // Berechnung Mittelwert //standtardabweichung= } printf("\n-----------------------------------------------\n"); //printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); for (i=0;i<=11;i++) { printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]); //Ausgabe Umsatz, Monat, Jahr printf("\n"); } printf("\n-----------------------------------------------\n"); printf("\nDie Summe ist:%i Mittelwert:%.2f",umsatz_summe,mittelwert); // Ausgabe Summe } system("pause"); } lg thehasso Zitieren
Klotzkopp Geschrieben 4. April 2008 Geschrieben 4. April 2008 - nur leider fehlt mir noch etwas und zwar wie man den kleinsten/und größten Umsatz ausgeben kann. dann müsst ich das nur noch alles in äußeren Modulen machen.Es fehlt noch ein wenig mehr. In der Aufgabenstellung steht etwas von "beiden Filialen" Wüsstest du wie man da vorgehen müsste? hab schon int min, max deklariert:)Üblicherweise vergleicht man die eingegebenen Werte in einer Schleife mit dem Min- bzw. Maxwert, und passt diesen an, wenn der Wert kleiner bzw. größer ist. Du kannst das auch gleich bei der Eingabe machen. Deine Arrays monate und jahr sind übrigens zu groß, du brauchst nur 12 Strings, nicht 13. Und das jahr-Array ist überflüssig, wenn in jedem Element sowieso dasselbe drinsteht Zitieren
thehasso Geschrieben 4. April 2008 Autor Geschrieben 4. April 2008 Es fehlt noch ein wenig mehr. In der Aufgabenstellung steht etwas von "beiden Filialen" #include <stdlib.h> #include <stdio.h> #include<math.h> #include "conio.h" int main() { int min,max; int const n=11; int umsatz[12],umsatza[12],m1,m2,i,a; int umsatz_summe=0; // char* monate [12]=... float mittelwert=0; char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; printf("\n\tHandelsfirma A & B GmbH\n"); printf("Menue:\n"); printf("1: - Umsaetze eingeben\n"); printf("2: - Programm Wiederholen\n"); printf("3: - Ermittlung kleinster Wert\n"); printf("4: - Ermittlung groesster Wert\n"); scanf("%i",&m1); if(m1==1) { for(a=0;a<=n;a++){ for(i=0;i<=n;i++){ printf("\nBitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]); // Eingabe printf("Eingabe:");scanf("%i",&umsatz[i]); printf("Eingabe:");scanf("%i",&umsatza[a]); umsatz_summe+=umsatz[i]; // Berechnung Summe mittelwert=umsatz_summe/n; // Berechnung Mittelwert //standtardabweichung= } } printf("\n-----------------------------------------------\n"); //printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); for (i=0;i<=11;i++) { printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]); //Ausgabe Umsatz, Monat, Jahr printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatza[a]); //Ausgabe Umsatz, Monat, Jahr printf("\n"); } printf("\n-----------------------------------------------\n"); printf("\nDie Summe ist:%i Mittelwert:%.2f",umsatz_summe,mittelwert); // Ausgabe Summe } system("pause"); } Das Programm läuft jetzt nach jeden 12 durchgang wieder von anfang an ??:confused: darf nicht sein. Ich habe eine grenze gesetzt wieso passiert das?... Deine Arrays monate und jahr sind übrigens zu groß, du brauchst nur 12 Strings, nicht 13. Und das jahr-Array ist überflüssig, wenn in jedem Element sowieso dasselbe drinsteht stimmt habs verkleinert. Zitieren
thehasso Geschrieben 4. April 2008 Autor Geschrieben 4. April 2008 Hallo, das davorige problem ist gelöst. letzte Problem die ermittlung des min wert der eingabe und max wert der Ausgabe. habe dazu leider 0 Wissen und nichts nützliches gefunden. Über deine Hilfe würde ich sehr freuen. #include <stdlib.h> #include <stdio.h> #include<math.h> #include "conio.h" int main() { int min,max; int const n=11; int umsatz[12],umsatza[12],m1,m2,i; int umsatz_summe=0; // char* monate [12]=... float mittelwert=0; char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; printf("\n\tHandelsfirma A & B GmbH\n"); printf("Menue:\n"); printf("1: - Umsaetze eingeben\n"); printf("2: - Programm Wiederholen\n"); printf("3: - Ermittlung kleinster Wert\n"); printf("4: - Ermittlung groesster Wert\n"); for(i=0;i<=n;i++){{ printf("\nBitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]); // Eingabe printf("Eingabe:");scanf("%i",&umsatz[i]); printf("Eingabe:");scanf("%i",&umsatza[i]); }} umsatz_summe+=umsatz[i]; // Berechnung Summe mittelwert=umsatz_summe/n; // Berechnung Mittelwert //standtardabweichung= printf("\n--------------------------------------------------------------------------------\n"); //printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); for (i=0;i<=11;i++) { printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]); //Ausgabe Umsatz, Monat, Jahr printf("%5i. %10s %10s %10i",i+1 ,monate[i],jahr[i],umsatza[i]); //Ausgabe Umsatz, Monat, Jahr printf("\n"); } printf("\n--------------------------------------------------------------------------------\n"); printf("\nDie Summe ist:%i Mittelwert:%.2f",umsatz_summe,mittelwert); // Ausgabe Summe system("pause"); } ps. Wir wohnen ja beide in der selben City. gibts in Essen vielleicht crash kurs oder sowas in der art für Programmierer? Lg thehasso Zitieren
Amstelchen Geschrieben 4. April 2008 Geschrieben 4. April 2008 nichts für ungut, aber mir dreht sich der magen um; wer erfindet solche aufgaben? ich finde es ja ganz schön, jemandem C auf diese weise beizubringen, aber gerade unternehmenszahlen (umsätze, statistiken) in hardcodeten arrays mit der kapazität eines jahres vorzuhalten, geht doch an jeglicher praxis vorbei. gut und schön das ganze, aber ich hege bei sowas immer die befürchtung, dass azubis soetwas dann in unternehmenskritischen bereichen - zuungunsten angemessener MIS-systeme - etablieren. just my 2 cents, s'Amstel Zitieren
thehasso Geschrieben 4. April 2008 Autor Geschrieben 4. April 2008 Hallo, Mein Professor hat die Aufgabe gestellt. Ob man so Programmieren lernt. i DONT KNOW: Ich glaub das ist der beweis das wir in Der Pisa Studie nicht gut abschneiden. Zu wenig förderung. lg thehasso Zitieren
Klotzkopp Geschrieben 4. April 2008 Geschrieben 4. April 2008 letzte Problem die ermittlung des min wert der eingabe und max wert der Ausgabe. habe dazu leider 0 Wissen und nichts nützliches gefunden. Du gehst das Problem falsch an. Programmieren bedeutet nicht, die Lösung für eine Unzahl möglicher Problemstellungen zu wissen oder im Internet finden zu können. Programmieren heißt, ein Problem soweit zu zerlegen und zu abstrahieren, dass man einen Algorithmus formulieren kann, der das Problem löst. Den kann man dann in eine Programmiersprache übersetzen. Da hilft kein Crash-Kurs. Und wenn du gar keinen Ansatz findest, dann überleg dir doch einfach mal, wie du so ein Problem selbst, ohne Programm lösen würdest. Was würdest du tun, wenn du eine lange Liste von Zahlen hast, und den größten Wert herausfinden musst? Zitieren
thehasso Geschrieben 11. April 2008 Autor Geschrieben 11. April 2008 Hallo, Ich brauch dringend hilfe... ich versteh nicht wie das mit module funktioniert.. Das Programm kann ich schreiben jedoch wird gefordert das man das Programm in module aufteilt. Und ich weiß nicht wie die parameter übergeben werden....die aufgaben haben ich zum größten teil schon gelöst nur wie man die zusammen bindet kann ich nicht.. bitte das Programm wird benotet und hab nicht mehr viel zeit... Aufgabe Bsp.: Für die beiden Filialen der Handelsfirma A & B GmbH sollen die Umsätze von Januar 2007 bis Dezember 2007 manuell per Tastatur erfasst werden. Diese Erfassung soll als erster Menüpunkt dem Bediener angeboten werden und von einem separaten Programm – Modul übernommen werden. Ein weiterer Menüpunkt soll der tabellarischen Ausgabe aller Umsätze beider Filialen dienen und ebenfalls von einem separaten Programm – Modul übernommen werden. Bieten Sie zusätzlich per Menü die Berechnung und Ausgabe von Mittelwert und Standardabweichung über alle Umsätze beider Filialen an, realisiert wiederum in separaten Modulen! Programm: #include <stdlib.h> #include <stdio.h> #include <math.h> #include "conio.h" int eingabe(); int ausgabe(); int main() { } int eingabe(float summand1, float summand2, float summand3, char summand4, char summand5, int summand6, int summand) { float umsatz_summe_1 = 0; float umsatz_summe_2 = 0; float umsatz_unternehmen_1[12],umsatz_unternehmen_2[12]; char monate[12][12] = {"Januar", "Ferbruar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; char jahr[12][5] = {"2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007", "2007"}; int i; int n=12; printf("\n\tHandelsfirma A & B GmbH\n"); printf( "\nBitte geben Sie die Daten fuer das 1. Unternehmen ein:\n" ); for(i=0;i<=n;i++) { printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]); // Eingabe printf("Eingabe:");scanf("%f",&umsatz_unternehmen_1[i]); } printf( "\nBitte geben Sie die Daten fuer das 2. Unternehmen ein:\n" ); for(i=0;i<=n;i++) { printf("Bitte %i -ten Umsatz fuer %s %s \n",i+1,monate[i],jahr[i]); // Eingabe printf("Eingabe:");scanf("%f",&umsatz_unternehmen_2[i]); } } /* ausgabe() { printf("\n--------------------------------------------------------------------------------\n"); printf("\n\n Filiale 1 Filiale 2\n\n"); printf("\n--------------------------------------------------------------------------------\n"); for (i=0;i<=11;i++) { printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_1[i]); //Ausgabe Umsatz, Monat, Jahr printf("%5i. %10s %10s %10.2f",i+1 ,monate[i],jahr[i],umsatz_unternehmen_2[i]); //Ausgabe Umsatz, Monat, Jahr printf("\n"); } printf("\n--------------------------------------------------------------------------------\n"); }*/ /* mittelwert_u_1() { float summe_unternehmen_1 = 0; float mittelwert = 0; summe_unternehmen_1 = summe_unternehmen_1 + umsatz_unternehmen_1[i]; mittelwert = summe_unternehmen_1/12 ; } mittelwert_u_2() { float summe_unternehmen_2 = 0; float mittelwert; summe_unternehmen_2 = summe_unternehmen_2 + umsatz_unternehmen_2[i]; mittelwert = summe_unternehmen_2/12 ; } int klein() // Definition der Funktion 1 { float umsatz_unternehmen_1[12]; float umsatz_unternehmen_2[12]; float min_unternehmen_1 = umsatz_unternehmen_1[0]; float min_unternehmen_2 = umsatz_unternehmen_2[0]; float i; for (i=0; i<11; i++) { if(min_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0]=min_unternehmen_1;} if(min_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0]=min_unternehmen_2;} } } int groß() // Definition der Funktion2 { float umsatz_unternehmen_1[12]; float umsatz_unternehmen_2[12]; float max_unternehmen_1 = umsatz_unternehmen_1[0]; float max_unternehmen_2 = umsatz_unternehmen_2[0]; float i; for (i=0; i<11; i++) { if(max_unternehmen_1 < umsatz_unternehmen_1[0]){umsatz_unternehmen_1[0]=max_unternehmen_1;} if(max_unternehmen_2 < umsatz_unternehmen_2[0]){umsatz_unternehmen_2[0]=max_unternehmen_2;} } */ gruß Zitieren
Empfohlene Beiträge
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.