C читать Array с циклами while - PullRequest
0 голосов
/ 27 мая 2018

Впервые спрашивая здесь, я надеюсь, что вы не слишком суровы со мной.

Наша задача - написать простую программу на C для нашей стажировки в университете, которая содержит простое меню с тремя пунктами меню.Первый пункт меню используется для ввода параметров: сначала длины ребер, а затем второго числа углов многоугольника для последующего расчета, которые хранятся в двух одномерных массивах.Затем введенные значения снова кратко отображаются в последовательности.Во втором пункте меню должен быть выполнен расчет, который вычисляет углы и площадь многоугольника (или нескольких многоугольников).Третий пункт меню Выход из программы.

Математические вычисления, которые нам нужно сделать:

α = ((n-2) / n) * 180 градусов (n = количество углов)

A = ((n * a ^ 2) / (4 * tan (Pi / n)) (n = количество углов, a = длина ребер)

И здесь у нас есть проблемаПо сути, мы должны использовать цикл while, который обрабатывает массив один за другим и выводит вычисленные значения для каждой отдельной позиции массива (разные массивы, но одинаковые позиции) (позиция 1 массива 1 с позицией 1 массива 2 и т. Д.), Но там мыпросто не может идти дальше. Это может быть глупой ошибкой, но как бы мы ни старались, мы не можем заставить ее работать. Либо у нас есть исключения с плавающей запятой (возможно, потому что он не обрабатывает массив правильно), либобесконечные бессмысленные вычисления.

Надеюсь, кто-нибудь поможет нам заставить код работать правильно:)

Мы очень благодарны за любую помощь!

PS мынемного новичок в более сложном программировании, поэтому, пожалуйста, наберитесь терпенияith us:)

PPS, поскольку здесь написано с немецкими словами, здесь есть некоторый словарь: углы - длина края ecken - угол kantenlänge - площадь винкеля (в градусах) - fläche (в м ^ 2)

ЗДЕСЬ КОД:

    /****************************************************************
    *Autor:   Danjal Shafiei-Sabet
    *Erstellt:  20.05.2018
    *Versuch: Versuch 3
    *Aufgabe: Aufgabe 10, Berechnung ausgeben
    ****************************************************************/


    #include <stdio.h>
    #include <math.h>

    #define MAX 6

    int i=0;
    int kantenlaenge1;
    int kantenlaenge2;
    int ecken1;
    int ecken2;
    int kantenlaenge[MAX];
    int ecken[MAX];
    const double M_PI=3.14159265358979323846;
    double winkel;
    double flaeche;

      int main (void)
      {
       char menu_option;
       do{
      printf ("\n\nWaehlen Sie ein Menue aus:\n\n");
     printf ("1. Parameter Eingeben \n");
     printf ("2. Flaecheninhalt und Winkel Berechnen \n");
     printf ("3. Programm Beenden\n");
    printf ("\nAuswahl: ");
    scanf(" %c",&menu_option);
    switch(menu_option){

    case '1':
        printf("->AUSWAHL 1: Parameter Eingeben<-\n\n");

    for(i=0;i<MAX;i++)
    {
        printf("Kantenlaengen eingeben: \n");
        scanf("%d",&kantenlaenge1);
        if(kantenlaenge1==0)
        {
            i=7;
        }
        else
        {
            kantenlaenge[i]=kantenlaenge1;
        }

        printf("Anzahl der Ecken eingeben: \n");
        scanf("%d",&ecken1);
        if(ecken1==0)
        {
            i=7;
        }
        else
        {
            ecken[i]=ecken1;
        }
    }
    printf("\nSie haben eingegeben(Kantenlaengen): \n\n");
     for(i = 0; i < MAX; i++)
    printf("%d \n", kantenlaenge[i]);
    printf("\nSie haben eingegeben(Anzahl Ecken): \n\n");
     for(i = 0; i < MAX; i++)
    printf("%d \n", ecken[i]);
    /*return;*/
        break;
    case '2':
        printf("->AUSWAHL 2: Flaecheninhalt und Winkel Berechnen<-\n\n");
        while(i<=MAX){
             i=0; i<MAX;
            kantenlaenge[i]=kantenlaenge2;
            ecken[i]=ecken2;
            winkel=((ecken2-2/ecken2)*180);
            flaeche=(ecken2*(kantenlaenge2*kantenlaenge2))/(4*tan(M_PI/ecken2));
            printf("\n\nWinkel: %lf Grad", winkel);
            printf("\n\nFlaeche: %lf Quadratmeter", flaeche);
            i++;
        }
        break;
    case'3':
        printf("->PROGRAMM BEENDEN<-\n\n");
        break;
     /*default:
        printf("invalid input\n\n");
            break;*/
    }
    }while(menu_option !='3');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...