array
-
OhneName schrieb:
Es ist kein Wunder, dass dir so langsam keiner mehr helfen will. Deine Eigeninitiative ist mangelhaft.
Dem muss ich leider zustimmen.
-
Tzz. meine Eigeninitiative ist mangelhaft.?
Komisch das ich das Programm Schon fertig geschrieben habe!
trozdem bin ich nett und danke dir für deine MÜHE!Welches Buch könntest du mir den außer C von anfang (Erlenkötter) an empfehlen?
#include <stdlib.h> #include <stdio.h> int main() { int i; int umsatz[12]; int m1,m2; int umsatz_summe=0; // char* monate [12]=... 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("\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 %s \n",i+1,monate[i],jahr[i]); printf("Eingabe:");scanf("%i",&umsatz[i]);//cls umsatz_summe+=umsatz[i]; } printf("\n-----------------------------------------------\n"); printf("\n:Eintrag:\t:Monat:\t:Jahr:\t\t:Umsatz:\n"); for (i=0;i<=11;i++) { printf("%5i. %15s %10s %10i",i+1 ,monate[i],jahr[i],umsatz[i]); //Ausgabe Umsatz, Monat, Jahr printf("\n"); } printf("\n-----------------------------------------------\n"); printf("\nDie Summe ist:%i \n",umsatz_summe); // Ausgabe Summe system("pause"); } }
gruß hasso
-
Wie wär's mal mit Einrückungen im Code!? So mag das keiner lesen
cheers, Swordfish
-
Hallo,
Es ist ein problem bei meinen programm aufgetaucht, die Schleife läuft immer weiter und hört nicht auf . Obwohl ich die anweisung gegeben habe das die Schleife bis 12 Laufen soll. Es geht in diesem Programm darum Umsätze 2 Verschiedener Firmen einzulesen. Sitze schon ne ewigkeit dran find nicht den fehler. ich benötige einen kleinen denkanstoß um meine Eigenininstiative zu präsentieren!
#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"); }
gruß hasso
-
hasso schrieb:
Es ist ein problem bei meinen programm aufgetaucht, die Schleife läuft immer weiter und hört nicht auf.
warum debuggst du nicht mal selber? im debugger kannst du deine programme im einzelschritt-modus abarbeiten lassen und dir alle variablen ansehen usw. dann findest du selbst leicht raus, was schief läuft und brauchst nicht für jeden banalen fehler das forum bemühen.
-
naja einrücken geht ja schon....
nur die klammern....igitt
-
die geschweiften? warum iggiits? saß wieder ne halbe stunde dran.. wo sollen die denn hin?
gruß
-
hasso schrieb:
die geschweiften? warum iggiits? saß wieder ne halbe stunde dran.. wo sollen die denn hin?
gruß
halbe Stunde zum Einrücken?
schreibst du deinen Quelltext mit dem Notepad oder was? Sorry dass ich frage, aber sowas finde ich seltsam.
-
schon erledigt. Hallo, das einrücken war überhaupt nicht das problem! Man musste den Indexanstatt a mit i setzten und die a forschleife aus dem Programm werfen.
-
Den Versuch, dir zu helfen (im Sinne von Hilfe zur Selbsthilfe) geb' ich auf.
Hier hast Du (aufdass der Thread nicht noch ein paar Seiten lang wird):
#include <stdlib.h> #include <string.h> #include <stdio.h> #define MAX_COMPANY 3 #define MAX_COMPANY_NAME_LENGTH 20 #define MAX_FIRST_COL 14 const char * const month[ ] = { "Januar", "Ferbruar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" }; typedef struct tag_company { char name[ MAX_COMPANY_NAME_LENGTH + 2 ]; unsigned short year; int turnover[ 12 ]; } company_t; typedef struct tag_stats { int sum, min, max; float average; } stats_t; void flush_stdin( void ) { setvbuf( stdin, 0, _IONBF, 0); setvbuf( stdin, 0, _IOFBF, BUFSIZ ); } int main( void ) /* void, zum 100,000. Mal!!!111elf */ { // Daten: company_t company[ MAX_COMPANY ] = { 0 }; stats_t stats[ MAX_COMPANY ] = { 0 }; // Schleifenzähler: size_t company_index = 0; size_t i = 0, n = 0; // Temporär: size_t name_length = 0; unsigned int choice; do { puts( "Menue:\n"); puts( " 1: Umsaetze eingeben"); puts( " 2: Daten verwerfen" ); puts( " 3: Umsaetze anzeigen"); puts( " 4: Programm beenden\n" ); flush_stdin( ); scanf( "%u", &choice ); switch( choice ) { case 1: for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "\nBitte geben Sie die Daten fuer das %u. Unternehmen ein:\n", company_index + 1 ); do { printf( "Name: " ); flush_stdin( ); if( !fgets( company[ company_index ].name, MAX_COMPANY_NAME_LENGTH, stdin ) || ( company[ company_index ].name[ 0 ] == '\n' ) ) { puts( "Fehlerhafte Eingabe!\n" ); company[ company_index ].name[ 0 ] = '\0'; } else { if( company[ company_index ].name[ name_length = strlen( company[ company_index ].name ) - 1 ] == '\n' ) { company[ company_index ].name[ name_length ] = '\0'; } } } while( !company[ company_index ].name[ 0 ] ); do { printf( "Jahr: " ); flush_stdin( ); if( ( scanf( "%u", &company[ company_index ].year ) != 1 ) || ( !company[ company_index ].year ) || ( getchar( ) != '\n' ) ) { puts( "Fehlerhafte Eingabe!\n" ); company[ company_index ].year = 0; } } while( !company[ company_index ].year ); printf( "\nBitte geben Sie die Umsaetze von %s fuer das Jahr %04u ein:\n", company[ company_index ].name, company[ company_index ].year ); for( i = 0; i < 12; ++i ) { do { printf( "%s:", month[ i ] ); name_length = MAX_FIRST_COL - strlen( month[ i ] ); for( n = 0; n < name_length; ++n ) { putchar( ' ' ); } flush_stdin( ); if( ( scanf( "%i", &company[ company_index ].turnover[ i ] ) != 1 ) || ( getchar( ) != '\n' ) ) { puts( "Fehlerhafte Eingabe!\n" ); company[ company_index ].turnover[ i ] = -1; } } while( company[ company_index ].turnover[ i ] == -1 ); } stats[ company_index ].min = company[ company_index ].turnover[ 0 ]; stats[ company_index ].max = company[ company_index ].turnover[ 0 ]; } /* for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) */ puts( "\n" ); break; case 2: memset( company, 0, sizeof( company ) ); memset( stats, 0, sizeof( stats ) ); puts( "\nDaten verworfen!\n" ); break; case 3: puts( "\nUmsaetze:\n" ); printf( "Unternehmen: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { name_length = MAX_COMPANY_NAME_LENGTH - strlen( company[ company_index ].name ); for( n = 0; n < name_length; ++n ) { putchar( ' ' ); } printf( "%s", company[ company_index ].name ); } putchar( '\n' ); printf( "Jahr: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { for( n = 0; n < MAX_COMPANY_NAME_LENGTH - 4; ++n ) { putchar( ' ' ); } printf( "%04u", company[ company_index ].year ); } putchar( '\n' ); for( n = 0; n <= ( MAX_FIRST_COL + ( MAX_COMPANY * MAX_COMPANY_NAME_LENGTH ) ); ++n ) { putchar( '-' ); } putchar( '\n' ); for( i = 0; i < 12; ++i ) { printf( "%s:", month[ i ] ); name_length = 14 - strlen( month[ i ] ); for( n = 0; n < name_length; ++n ) { putchar( ' ' ); } for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "%20i", company[ company_index ].turnover[ i ] ); stats[ company_index ].min = company[ company_index ].turnover[ i ] < stats[ company_index ].min ? company[ company_index ].turnover[ i ] : stats[ company_index ].min; stats[ company_index ].max = company[ company_index ].turnover[ i ] > stats[ company_index ].max ? company[ company_index ].turnover[ i ] : stats[ company_index ].max; stats[ company_index ].sum += company[ company_index ].turnover[ i ]; } putchar( '\n' ); } for( n = 0; n <= ( MAX_FIRST_COL + ( MAX_COMPANY * MAX_COMPANY_NAME_LENGTH ) ); ++n ) { putchar( '-' ); } printf( "\nSumme: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "%20i", stats[ company_index ].sum ); } putchar( '\n' ); for( n = 0; n <= ( MAX_FIRST_COL + ( MAX_COMPANY * MAX_COMPANY_NAME_LENGTH ) ); ++n ) { putchar( '-' ); } printf( "\nMinimum: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "%20i", stats[ company_index ].min ); } printf( "\nMaximum: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "%20i", stats[ company_index ].max ); } printf( "\nDurchschnitt: " ); for( company_index = 0; company_index < MAX_COMPANY; ++company_index ) { printf( "%20.2f", stats[ company_index ].sum / 12. ); } putchar( '\n' ); for( n = 0; n <= ( MAX_FIRST_COL + ( MAX_COMPANY * MAX_COMPANY_NAME_LENGTH ) ); ++n ) { putchar( '-' ); } puts( "\n" ); break; } } while( choice != 4 ); }
cheers, Swordfish
-
ne danke. ich halte lieber an mein Programm fest.
Ob das Thread 100 Seiten wird ist doch schwups diwups egal.
WO LIEGT DEIN PROBLEM DABEI?mamamia aus ner ameise macht man nen elefanten.
-
loooooool
-
hasso schrieb:
Ob das Thread 100 Seiten wird ist doch schwups diwups egal.
WO LIEGT DEIN PROBLEM DABEI?Weil dir mangels Eigenleistung irgendwann ab Seite 5-6 gar keiner mehr helfen wird. Auch neue Threads aufzumachen ist dann recht zwecklos. Dieses Forum ist dazu da Fragen zu beantworten, nicht um deine Hausaufgaben von anderen erledigen zu lassen.