Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include<stdlib.h>
- #include <time.h>
- /** AUFGABE 1.1 **/
- typedef struct Point {
- int x;
- int y;
- } Point;
- void printPoint(Point* aPoint) {
- printf("x: %d, y: %d\n",
- aPoint->x, // dasselbe wie (*aPoint).x
- aPoint->y // dasselbe wie (*aPoint).y
- );
- };
- void aufgabeEinsEins() {
- Point pkt;
- pkt.x = 10;
- pkt.y = 20;
- printPoint(&pkt);
- }
- /** *** *** *** *** *** *** */
- /** AUFGABE 1.2 **/
- typedef struct TemperaturMessung {
- float wert;
- } TemperaturMessung;
- typedef struct StundenMessung {
- TemperaturMessung temperaturMessungen[4];
- } StundenMessung;
- typedef struct TagesMessung {
- StundenMessung stundenMessungen[24];
- } TagesMessung;
- typedef struct JahresMessung {
- TagesMessung tagesMessungen[365];
- } JahresMessung;
- void aufgabeEinsZwei() {
- // Alle 15 Minuten f. ein Jahr
- // d.h. 4 Pro Stunde
- // 4*24 --> 96 Pro Tag
- // 365 * 96 --> 35040 Messungen
- JahresMessung* jahresMessungen = (JahresMessung*)malloc(sizeof(JahresMessung));
- for (int tag = 0; tag < 365; tag++) {
- TagesMessung* tagesMessung = &((*jahresMessungen).tagesMessungen[tag]);
- for (int stunde = 0; stunde < 24; stunde++) {
- StundenMessung* stundenMessung = &(tagesMessung->stundenMessungen[stunde]);
- for (int messungsNummer = 0; messungsNummer < 4; messungsNummer++) {
- TemperaturMessung* temperaturMessung = &(stundenMessung->temperaturMessungen[messungsNummer]);
- temperaturMessung->wert = 1.337;
- }
- }
- }
- for (int tag = 0; tag < 365; tag++) {
- TagesMessung* tagesMessung = &(jahresMessungen->tagesMessungen[tag]);
- for (int stunde = 0; stunde < 24; stunde++) {
- StundenMessung* stundenMessung = &(tagesMessung->stundenMessungen[stunde]);
- for (int messungsNummer = 0; messungsNummer < 4; messungsNummer++) {
- TemperaturMessung* temperaturMessung = &(stundenMessung->temperaturMessungen[messungsNummer]);
- //printf("Tag %f , Stunde %f , Messwert %f , Wert %f\n", tag+1, stunde+1, messungsNummer+1, temperaturMessung->wert);
- }
- }
- }
- printf("Tag 50, Stunde 20, Wert 3: %f\n", (*jahresMessungen).tagesMessungen[49].stundenMessungen[19].temperaturMessungen[2].wert);
- // Billo Weg2
- //float Temperaturen[35040];
- }
- /** *** *** *** *** *** *** */
- /** AUFGABE 1.3-4 **/
- typedef enum Karten {
- sieben = 7,
- acht = 8,
- neun = 9,
- zehn = 10,
- bube = 11,
- dame = 12,
- koenig = 13,
- ass = 14
- } Karten;
- typedef Karten Kartenstapel[8];
- char const* const kartenName(Karten spielkarte) {
- switch (spielkarte) {
- case sieben:
- return "SIEBEN";
- break;
- case acht:
- return "ACHT";
- break;
- case neun:
- return "NEUN";
- break;
- case zehn:
- return "ZEHN";
- break;
- case bube:
- return "BUBE";
- break;
- case dame:
- return "DAME";
- break;
- case koenig:
- return "KOENIG";
- break;
- case ass:
- return "ASS";
- }
- return "UNKNOWN";
- }
- void aufgabeEinsDrei() {
- Karten eineBubenKarte = bube;
- Kartenstapel karten;
- karten[0] = bube;
- karten[1] = acht;
- karten[2] = sieben;
- karten[3] = ass;
- karten[4] = koenig;
- karten[5] = zehn;
- karten[6] = dame;
- karten[7] = neun;
- printf("Erste Karte: %s\n", kartenName(karten[0]));
- printf("Naechste Karte: %s\n", kartenName(karten[1]));
- printf("Letzte Karte: %s\n", kartenName(karten[7]));
- }
- int aufgabeZwei() {
- float messungen[100];
- int anzahlMessungen = 0;
- printf("Geben Sie die Anzahl der Messwerte an:\n");
- scanf_s("%d", &anzahlMessungen);
- if (anzahlMessungen <= 0) {
- printf("Sie muessen mindestens eine Messung angeben..\n", anzahlMessungen);
- return -1;
- }
- if (anzahlMessungen > 100) {
- printf("Sie duerfen maximal 100 Messungen angeben..\n", anzahlMessungen);
- return -1;
- }
- printf("Bitte geben Sie nun Ihre %u Messungen ein.\n", anzahlMessungen);
- double runningAverage = 0;
- for (int i = 0; i < anzahlMessungen; i++) {
- printf("Geben Sie Messwert %3d ein.\n", i + 1);
- scanf_s("%f", &(messungen[i]));
- printf("Messwert %3d | Wert: %f \n", i + 1, messungen[i]);
- runningAverage += (double)messungen[i];
- }
- runningAverage = runningAverage / anzahlMessungen;
- printf("Das arith. Mittel lautet %lf\n", runningAverage);
- return 0;
- }
- int aufgabeDrei()
- {
- int anzahlRandomzahlen = 0;
- printf("Geben Sie die Anzahl der Zufallswerte an:\n");
- scanf_s("%d", &anzahlRandomzahlen);
- if (anzahlRandomzahlen <= 0) {
- printf("Sie müssen mindestens Eine angeben..\n", anzahlRandomzahlen);
- return -1;
- }
- if (anzahlRandomzahlen > 100) {
- printf("Sie dürfen maximal 100 Zufallszahlen ausgeben lassen..\n", anzahlRandomzahlen);
- return -1;
- }
- srand(time(NULL));
- for (int i = 0; i < anzahlRandomzahlen; i++) {
- int randomZahl = rand() % 6;
- printf("Zufallszahl %3d - %d\n", i, randomZahl);
- }
- return 0;
- }
- int main() {
- //aufgabeEinsEins(); //1.1
- //aufgabeEinsZwei(); //1.2
- //aufgabeEinsDrei(); //1.3-4
- //aufgabeZwei();
- aufgabeDrei();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement