Почему C не принимает значение из структуры? - PullRequest
0 голосов
/ 06 апреля 2019

Я создал структуру и дал значения для нагрузки, C и G. Я хочу, чтобы пользователь ввел нагрузку, и она должна совпадать с одной из нагрузок из структуры. Затем значения C и G для соответствующей нагрузки следует принять для дальнейшего расчета. Моя проблема заключается в том, что всякий раз, когда я вхожу в load, например, 1, значение C должно равняться 38, а вместо этого - 2293652. Даже если я ввожу другое значение load, оно остается тем же. Я из Механического прошлого, так что не усердствуйте со мной

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
using namespace std;

struct hook{
    float SL;
    int C;
    int G;
};

struct hook h[]={
    {0.5, 27, 14},
    {1, 38, 20},
    {2, 53, 27},
    {3.2, 68, 35},
    {5, 85, 42},
    {8, 107, 55},
    {10, 119, 60},
    {12, 134, 68},
    {16, 151, 76},
    {20, 169, 80},
    {25, 189, 90},
    {32, 207, 100}
};

int main()
{
    float SL1;
    int C1, G1;
    cout << "Enter the safe working load:\n" << endl;
    cin >> SL1;
    int i;
    i >=0;

    for (i=0; i < sizeof h /sizeof *h; i++){
        if(h[i].SL == SL1){
            h[i].C = C1;
            h[i].G = G1;
            break;
        }
    }

    float H=0.93*C1, M=0.6*C1, Z=0.12*C1;
    cout << C1 << endl;
    return 0;
}

1 Ответ

1 голос
/ 06 апреля 2019

Не должны ли эти "h [i] .C = C1;"быть наоборот?

Кажется, это была проблема!: O

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...