Aufgabe in C

Dieses Thema im Forum "C/C++" wurde erstellt von Skydream, 03.02.2012.

  1. #1 Skydream, 03.02.2012
    Skydream

    Skydream Grünschnabel

    Dabei seit:
    09.01.2012
    Beiträge:
    7
    Zustimmungen:
    0
    Ich habe eine Aufgabe.

    Ich sollte die Sternzeichen z.B (22.12 - 20.01 Steinbock oder 20.02. - 20.03 Fisch) finden in meinem Programm einlesen in dem ich die Tage und Monat eingebe und auch in Tag im Jahr finden, soll ich auch die Tage und Monate hinschreiben und gibt mir in Tag im Jahr an.

    Ich habe ein Programm gemacht. Ich möchte die Sternzeichen und im Tag im Jahr in meinem Programm anpassen.
    Code:
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    
    void Sternzeichen(int s);
    void Tag(float a, float b, float c);
    void Chinesisch(float b, float h);
    
    main() //main für variablen speichern und dann berechnen
    {
     char ch;
     float a, b, c, d,;
     int si;
    
      do     //Beginnt zu arbeiten
      {
       printf("--A S T R O --------------\n"); //Mein Name und Programmname
       printf("\na> Sternzeichen finden\n");        //Hauptmenuspunkte
       printf("b> Tag im Jahr finden\n");
       printf("c> Chinesische Sternzeichen > Funktion zum Testen\n");
       printf("d> Beenden");
    
        printf("\n\n*Waehlen Sie den gewuenschten Buchstaben:");
        scanf("%d", &ch);
    
    switch(ch)          //Liest schon mit Switch und ich habe es mit case gemacht.
        {
            case 1:
            printf("Geben Sie den Tag ein <ganze Zahl>:\n");
            scanf("%f", &a);
            printf("Geben Sie den Monat ein <ganze Zahl>:\n");
            scanf("%f", &b);
            printf(".....Berechnung laueft.......");
            Berechnung (a, b);
            break;
            default:
            printf("ERROR!!!!!Die Nummer ist nicht in der Liste!!!");
            break;
    
    	case 2:
            printf("Geben Sie den Tag ein <ganze Zahl>:\n");
            scanf("%f", &a);
            printf("Geben Sie den Monat ein <ganze Zahl>:\n");
            scanf("%f", &b);
            printf(".....Berechnung laueft.......");
            Berechnung2 (a, b);
        scanf("%d", &ch);
    	break;
    
    	case 3:
    	printf("\n\t---A S T R O -- C H\n");
        printf("\n\n\t\t**Umfang und Fl\204che von regelm\204ssiger geometrischer Figuren**\n\n");// ASCI-Code ä= \204, Ä=\216, ö=\224, Ö=\231, ü=\201, Ü=\232
    	printf("a> Chinesissches Sternzeichen finden\n");
        printf("b> Bedeutung Chinesisches Sternzeichen\n");
        printf("c> Beenden, zurueck zu Haupmenue\n");
    	printf("\nW\204hle die oberen Nummmer aus:");
        scanf("%d", &ch);
    	 switch(ch)
    	{
    	 case 1:
         printf("\n\n\t\t**Dreieck**\n\n");
        printf("Geben Sie den Tag ein <ganze Zahl>:\n");
        scanf("%f", &a);
        printf("Geben Sie den Monat ein <ganze Zahl>:\n");
        scanf("%f", &b);
        printf("Geben Sie das Jahr ein <ganze Zahl>:\n");
        scanf("%f", &c);
        Berechnung3 (a, b, c);
        scanf("%d", &ch);
    	break;
    
    		case 2:
            printf("Geben Sie Ihr Chinesisches Sternzeichen ein <Keine Umlaute>:\n");
            scanf("%f", &a);
            Berechnung4 (a);
        scanf("%d", &ch);
    	break;
    
    	case 3:
    	Out (a);
    	    scanf("%d", &ch);
    	break;
    
    	}
    
    	case 4:
    	printf("\n\t*****Jaeson-Roxas, Geometrie_Welt, 2011-12-23*****\n");
        printf("\n\n\t\t**Umfang und Fl\204che von regelm\204ssiger geometrischer Figuren**\n\n");// ASCI-Code ä= \204, Ä=\216, ö=\224, Ö=\231, ü=\201, Ü=\232
    	printf("\t\t(1) Dreieck\n");
        printf("\t\t(2) Rechteck\n");
        printf("\t\t(3) Quadrat\n");
        printf("\t\t(4) Kreis\n");
        printf("\t\t(5) Parallelogramm\n");
        printf("\t\t(6) Rhombus\n");
        printf("\t\t(7) Trapez\n");
    	printf("\nW\204hle die oberen Nummmer aus:");
        scanf("%d", &ch);
    	break;
    
    
    
    }
      }
        while(getch() != 'd');
    }
    
    
    
    void Berechnung(float a, float b, float c)
    {
      int p;
      p = a + b + c;
      printf("\n\t\tSternzeichen %f", p);
    }
    
    void Berechnung2 (float a, float b)
    {
      float w;
      w = (a * b) / 2;
      printf("\n\t\tTag im Jahr %f", w);
    }
    
    void Berechnung3 (float a, float b, float c)
    {
      float x;
      x = (a * b * c) / 2;
      printf("\n\t\tTag im Jahr %f", x);
    }
    
    void Berechnung4 (float a, float b, float c)
    {
      float x;
      x = (a * b * c) / 2;
      printf("\n\t\tTag im Jahr %f", x);
    }
    
    void Out (int a)
    {
        system("cls");
        printf("Unterprogramm wird beendet....");
    
    
    }
    
    
    Voraus Mal Danke.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.054
    Zustimmungen:
    8
    ... und jetzt bitte nochmals in Deutsch und auf verständlich...
     
  4. #3 marcellus, 03.02.2012
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    Ich hab auch keine Ahnung, was du machen willst, aber wenn ich mir dein Programm so ansehe fallen mir schon etwas optimierungspotenital auf.

    • main hat den Datentyp int, und die Argumente (int, char**), in deinem Fall defaultet kein Datentyp auf int dun das Argument () ignoriert einfach alle eingaben, aber sauber ist es nicht.
    • Bitte rück die Zeilen ordentlich ein (hint: in vim "ggvG=")
    • Wenn du mehrere Zeilen mit printf ausgibst kannst du den Programmablauf marginal beschleunigen und vor allem den sourcecode viel leichter lesbarer machen, indem du statt dem was du geschrieben hast
      Code:
      printf(  "--A S T R O --------------\n"                        \  //Mein Name und Programmname
               "\na> Sternzeichen finden\n"                          \  //Hauptmenuspunkte
               "b> Tag im Jahr finden\n"                             \
               "c> Chinesische Sternzeichen > Funktion zum Testen\n" \
               "d> Beenden"                                          \
               "\n\n*Waehlen Sie den gewuenschten Buchstaben:");
    • Code:
       scanf("%d", &ch);
      pfui
      Du liest dein char als dezimalzahl ein, wovon ich dir abraten würde. Wenn jemand eine Zahl von größer 128 hinschreibt halt ichs für möglich, dass du einen sagfault bekommst. Wenn du mit scanf characters einlesen willst verwend "%c", oder gleich getchar() bzw fgetc(stdin).
    • Wenn du ganze Zahlen einlesen willst verwend scanf mit "%d", oder "%i", "%f" steht für floating point und liest dir Gleitkomma Zahlen ein
    • vermeide solche klingenden Namen wie "Berechnung1", "Berechnung2" usw
    • Code:
      system("cls");
      wieso postest du ein Programm ins unixboard, dass offensichtlich für Windows geschrieben wurde und in einem Posix system nicht richtig funktionieren würde
     
Thema:

Aufgabe in C

Die Seite wird geladen...

Aufgabe in C - Ähnliche Themen

  1. Brauche Hilfe bei Lösunge einer Aufgabe

    Brauche Hilfe bei Lösunge einer Aufgabe: In der Dateil /etc/passwd sind zeilenweise alle User aufgelistet. Der Name ist dabei vom Zeilenanfang bis zum ersten Doppelpunkt. Erstellen Sie...
  2. Aufgabe auf C

    Aufgabe auf C: Hallo, liebe 'C' programmers! Ich habe Probleme mit der folgenden Aufgabe: " Schreiben Sie ein Programm in C zur statistischen Bearbeitung von...
  3. Unix Aufgabe

    Unix Aufgabe: Hi ich hab eine Aufgabe bezüglich Unix Skripts bekommen, jedoch komm ich da nicht ganz mit der Aufgabe klar bzw. wie ich die Lösung machen...
  4. DAViCal-Server: Aufgaben verschwinden

    DAViCal-Server: Aufgaben verschwinden: Guten Tag, ich habe auf meinem Server gestern einen DAViCal-Dienst eingerichtet, um Termine, Aufgaben und Kontakte zentral verwalten zu können....
  5. Prüfungsvorbereitung Posix Aufgaben, brauche Meinungen oder Hilfe,Danke

    Prüfungsvorbereitung Posix Aufgaben, brauche Meinungen oder Hilfe,Danke: Hallo Leute, habe dieses Semester noch eine Prüfung in Systemprogrammierung und wollte gerne hier die einzelnen Übungsaufgaben vorstellen bzw. mit...