next up previous contents
Nächste Seite: 12 Arbeiten mit Texten: Aufwärts: C-Programmierung Vorherige Seite: 10 Entscheidungsprogramme II: Die   Inhalt

Unterabschnitte

11 Felder

11.1 Beispiel

11.2 Erklärung

11.3 Aufgaben

  1. Notenspiegel 1: Nach Eingabe der absoluten Häufigkeiten der Noten 1 bis 6 soll ein Klassenspiegel ungefähr in folgender Form ausgegeben werden.
    +---+---+---+---+---+---+---+---+
    | 1 | 2 | 3 | 4 | 5 | 6 |SUM|AMW|
    +---+---+---+---+---+---+---+---+
    |   |   |   |   |   |   |   |   |
    +---+---+---+---+---+---+---+---+
    
  2. Notenspiegel 2: Ebenso, allerdings sollen jetzt die Noten anhand einer Notenliste (z.B. 3, 5, 2, 4, 1, 2, 3, 2, 2, 5, 3, 2, 3, 2, 1) eingegeben werden können.

11.4 Lösungen

  1. Notenspiegel, Version 1:
      1	/* notenspiegel1.c */
      2	
      3	#include <stdio.h>
      4	#include <stdlib.h>
      5	
      6	int main()
      7	{
      8	   int    lauf;
      9	   double mittelwert;
     10	   int    nenner;
     11	   int    noten[6];   
     12	   int    zaehler; 
     13	
     14	   for(lauf=0; lauf<6; ++lauf)
     15	   {
     16	      printf("Häufigkeit der Note %i: ", lauf+1);
     17	      scanf("%i", &noten[lauf]);
     18	   }
     19	
     20	   nenner=0;
     21	   zaehler=0;
     22	   for(lauf=0; lauf<6; ++lauf)
     23	   {
     24	      nenner  += noten[lauf];
     25	      zaehler += (lauf+1) * noten[lauf];
     26	   }
     27	   
     28	   mittelwert = (double)zaehler / (double)nenner;
     29	
     30	   printf("+---+---+---+---+---+---+---+---+\n");
     31	   for(lauf=0; lauf<6; ++lauf)
     32	   {
     33	      printf("| %d ", lauf+1);
     34	   }
     35	   printf("|SUM|AMW|\n");                       
     36	   printf("+---+---+---+---+---+---+---+---+\n");
     37	   for(lauf=0; lauf<6; ++lauf)
     38	   {
     39	      printf("|%2i ", noten[lauf]);
     40	   }
     41	   printf("|%3i", nenner);
     42	   printf("|%3.1lf|\n", mittelwert);    
     43	   printf("+---+---+---+---+---+---+---+---+\n");   
     44	
     45	   exit(0);
     46	}
    
  2. Notenspiegel, Version 2:
      1	/* notenspiegel2.c */
      2	
      3	#include <stdio.h>
      4	#include <stdlib.h>
      5	
      6	int main()
      7	{
      8	   int    einzelnote;
      9	   int    lauf;
     10	   double mittelwert;
     11	   int    nenner;
     12	   int    noten[6]={0,0,0,0,0,0};   
     13	   int    zaehler; 
     14	
     15	   printf("Bitte die naechste Note eingeben (Ende mit 0):");
     16	   scanf("%i", &einzelnote);
     17	
     18	   while(einzelnote!=0)
     19	   {
     20	      if(einzelnote>=1 && einzelnote<=6)
     21	      {
     22	         ++noten[einzelnote-1];
     23	      }
     24	      else
     25	      {
     26	         printf("Falsche Eingabe!\n");
     27	      }
     28	      printf("Bitte die naechste Note eingeben (Ende mit 0):");
     29	      scanf("%i", &einzelnote);  
     30	   
     31	   }/* while */
     32	
     33	   nenner=0;
     34	   zaehler=0;
     35	   for(lauf=0; lauf<6; ++lauf)
     36	   {
     37	      nenner  += noten[lauf];
     38	      zaehler += (lauf+1) * noten[lauf];
     39	   }
     40	   
     41	   mittelwert = (double)zaehler / (double)nenner;
     42	
     43	   printf("+---+---+---+---+---+---+---+---+\n");
     44	   for(lauf=0; lauf<6; ++lauf)
     45	   {
     46	      printf("| %d ", lauf+1);
     47	   }
     48	   printf("|SUM|AMW|\n");                       
     49	   printf("+---+---+---+---+---+---+---+---+\n");
     50	   for(lauf=0; lauf<6; ++lauf)
     51	   {
     52	      printf("|%2i ", noten[lauf]);
     53	   }
     54	   printf("|%3i", nenner);
     55	   printf("|%3.1lf|\n", mittelwert);    
     56	   printf("+---+---+---+---+---+---+---+---+\n");   
     57	
     58	   exit(0);
     59	
     60	}/* main */
    

11.5 Mehrdimensionale Felder

11.6 Aufgabe

11.7 Lösung


next up previous contents
Nächste Seite: 12 Arbeiten mit Texten: Aufwärts: C-Programmierung Vorherige Seite: 10 Entscheidungsprogramme II: Die   Inhalt
Joerg Kurrek 2004-04-02