Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z programem z strukturami

Ostatnio zmodyfikowano 2011-01-18 11:26
Autor Wiadomość
tomcio
Temat założony przez niniejszego użytkownika
Problem z programem z strukturami
» 2011-01-16 17:53:08
Mam problem ponieważ źle mi wyświetla współczynnik CJMCA kiedy ma podać największy i najmniejszy to podaje dla tej samej marki piwa... Tu zamieszczam swój kod:

C/C++
#include<iostream>
#include<iomanip>
using namespace std;

struct Piwo
{
    string nazwa;
    float cena;
    float procent;
    int objetosc;
    float CJMCA;
   
} piwa[ 10 ];

int main()
{
    int n;
    int i, pozycja_max, pozycja_min;
    float CJMCA_max, CJMCA_min;
   
    cout << "Podaj ilosc rekordow: " << endl;
    cin >> n;
    cout << "Podaj nazwe, cene, procentowa zawartosc i objetosc" << endl;
   
    for( i = 0; i < n; i++ )
    {
        cout << "Piwo nr " << i << endl;
        cin >> piwa[ i ].nazwa >> piwa[ i ].cena >> piwa[ i ].procent >> piwa[ i ].objetosc;
        piwa[ i ].CJMCA = piwa[ i ].cena /( piwa[ i ].objetosc * piwa[ i ].procent / 100 );
    }
    cout << endl << endl;
    cout << setw( 10 ) << "Nazwa" << setw( 5 ) << "Cena" << setw( 5 ) << "Procent  " << setw( 15 ) << "Objetosc" << setw( 15 ) << "CJMCA" << endl;
    CJMCA_max = 0;
    CJMCA_min = 0;
   
    for( i = 0; i < n; i++ )
    {
        if( piwa[ i ].CJMCA > CJMCA_max )
        {
            CJMCA_max = piwa[ i ].CJMCA;
            pozycja_max = i;
        }
        if( piwa[ i ].CJMCA > CJMCA_min )
        {
            CJMCA_min = piwa[ i ].CJMCA;
            pozycja_min = i;
           
        }
    }
    for( i = 0; i < n; i++ )
    {
        cout << setw( 10 ) << piwa[ i ].nazwa << setw( 5 ) << piwa[ i ].cena << setw( 5 ) << piwa[ i ].procent << "%" << setw( 15 ) << piwa[ i ].objetosc << setw( 15 ) << piwa[ i ].CJMCA << endl;
    }
    cout << endl << endl;
    cout << "Najwiekszy wspolczynnik CJMCA dla " << piwa[ pozycja_max ].nazwa << endl;
    cout << "Najmniejszy wspolczynnik CJMCA dla " << piwa[ pozycja_min ].nazwa << endl;
    system( "pause" );
    return 0;
}

Bardzo prosze o pomoc
P-26616
DejaVu
» 2011-01-16 18:00:30
C/C++
if( n > 0 )
{
    CJMCA_max = piwa[ 0 ].CJMCA;
    CJMCA_min = piwa[ 0 ].CJMCA;
}

for( i = 0; i < n; i++ )
{
    //...
}
Ponadto warunek:
C/C++
if( piwa[ i ].CJMCA > CJMCA_min )
Powinien wyglądać tak:
C/C++
if( piwa[ i ].CJMCA < CJMCA_min )
P-26617
tomcio
Temat założony przez niniejszego użytkownika
Problem z programem z strukturami
» 2011-01-16 18:18:14
W takim wypadku wyświetla sie raport o błędach... Co w takiej sytuacji?
P-26618
DejaVu
» 2011-01-16 18:21:37
1. Przekompiluj program.
2. Poszukaj błędu w kodzie. Być może wykraczasz gdzieś poza zakres tablicy itp.

/edit:
Jaki raport o błędach? Windowsowy? Czy log kompilacji coś krzyknął?
P-26619
tomcio
Temat założony przez niniejszego użytkownika
» 2011-01-16 18:23:22
Windowsowy..
P-26620
malan
» 2011-01-16 20:58:24
Założę się, że podajesz
n >= 10
?
P-26630
tomcio
Temat założony przez niniejszego użytkownika
» 2011-01-16 21:48:31
nie no n>0
P-26632
tomcio
Temat założony przez niniejszego użytkownika
» 2011-01-16 21:53:07
a jak powinno być żeby było dobrze?
P-26634
« 1 » 2
  Strona 1 z 2 Następna strona