array



  • Es ist kein Wunder, dass dir so langsam keiner mehr helfen will. Deine Eigeninitiative ist mangelhaft. Mit ein wenig Suche nach "C Ausgabe Tabelle" hättest du bestimmt früher oder später eine Lösung gefunden. Du solltest dringend mal ein gutes Buch über C durcharbeiten, dir fehlen scheinbar jede Menge Grundlagen.

    #include <stdio.h>
    
    int main()
    {
        // Variablen
        int i = 0;
        int auswahl = 0;
        int umsatz[12] = {0};
        int umsatz_summe = 0;
        char* monate[12] =
        {
            "Januar",
            "Ferbruar",
            "Maerz",
            "April",
            "Mai",
            "Juni",
            "Juli",
            "August",
            "September",
            "Oktober",
            "November",
            "Dezember"
        };
    
        printf("Handelsfirma A & B GmbH\n\n");
    
        // Menü
        printf("Menue:\n");
        printf("1: Umsaetze eingeben\n");
        // printf("2: ...\n");
        // ...
        printf("Auswahl: ");
        scanf("%i", &auswahl); // hier Eingabe auf Gültigkeit überprüfen
        printf("\n");
    
        if(auswahl == 1)
        {
            // Umsätze einlesen
            for(i = 0; i < 12; ++i)
            {
                printf("Bitte Umsatz fuer %s 2007 eingeben: ", monate[i]);
                scanf("%i", &umsatz[i]);
                umsatz_summe += umsatz[i];
            }
            printf("\n");
    
            // Umsätze in Tabellenform ausgeben
            printf("Umsatz fuer 2007: \n");
            printf("------------------------\n");
            for(i = 0; i < 12; ++i)
            {
                printf("%-14s", monate[i]); // linksbündig auf 10 Stellen aufgefüllt
                printf("%10i", umsatz[i]); // rechtsbündig auf 10 Stellen aufgefüllt
                printf("\n");
            }
            printf("------------------------\n");
            printf("%-14s%10i\n", "Gesamtumsatz: ", umsatz_summe);
        }
    
        return 0;
    }
    


  • 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.


Anmelden zum Antworten