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

Optymalizacja testu

Ostatnio zmodyfikowano 2020-04-29 20:46
Autor Wiadomość
Shana_a
Temat założony przez niniejszego użytkownika
Optymalizacja testu
» 2020-04-28 12:58:11
Czy da się skrócić program, który ma na celu:
1. Podać grupę
2. Zestaw pytań do każdej z grup jest taki sam, jednak są inne odpowiedzi w zależności od grupy.

Odpowiedzi mam w tablicach i zastanawiam się czy dałoby radę to jakoś zastąpić, aby nie powielać tego 4 razy (bo tyle jest grup)? Czy może powinnam zastanowić się nad tablicami dwuwymiarowymi?
P-176727
BraveRat
» 2020-04-28 14:20:49
Być może ale to zależy jak go napisałeś/łaś bo bez wiedzy jak wygląda kod nie można stwierdzić czy da się go skrócić ;)

Poza tym kod pozwala lepiej zrozumieć pytanie i może masz w nim coś jeszcze co dałoby się skrócić a o tym nie wiesz.
P-176728
pekfos
» 2020-04-28 19:04:58
Zestaw pytań do każdej z grup jest taki sam, jednak są inne odpowiedzi w zależności od grupy.
Ale to jakie masz wtedy pytania? "Podaj swoją grupę"?
P-176730
Shana_a
Temat założony przez niniejszego użytkownika
» 2020-04-29 11:21:58
Pefkos, tak. Właściwie to program odnośnie grupy glebowej i potrzebuję wpisać wartość parametru w zależności od rodzaju terenu. Jednak grup mam cztery, każda po paręnaście wartości.
P-176733
BraveRat
» 2020-04-29 12:16:59
Chodzi o coś w tym stylu?:
C/C++
#include <iostream>
int iloscpytan;
short wybranagrupa;
int odpowiedzi[ iloscpytan ];
int poprawneodpowiedzi[ iloscpytan ][ wybranagrupa ]; //={{x,x},{x,x}}
void pytania()
{
    for( int i = 0; i == iloscpytan; i++ )
    {
        cout << "Pytania";
        cin >> odpowiedzi[ i ];
    }
}

int main()
{
    std::cout << "Wybierz grupe:\n" << std::endl;
    std::cout << "1 - grupa1\n" << std::endl;
    std::cout << "2 - grupa2\n" << std::endl;
    std::cout << "3 - grupa3\n" << std::endl;
    std::cout << "4 - grupa4\n" << std::endl;
    std::cin >> wybranagrupa;
   
    switch( wybranagrupa )
    {
    case 1:
        pytania();
        //for(int i=0;i==iloscpytan;i++)
        //{
        //if (poprawneodpowiedzi[i][wybranagrupa] == odpowiedzi[i])
        //std::cout<<i<<"odpowiedz jest poprawna";
        //else
        //std::cout<<i<<"odpowiedz jest nie poprawna";
        //}
        //
        // I TAK DLA POZOSTAŁYCH
        break;
    case 2:
        pytania();
        break;
    case 3:
        pytania();
        break;
    case 4:
        pytania();
        break;
        default:
        break;
    }
    return 0;
}
P-176734
pekfos
» 2020-04-29 20:46:51
Proponuję strukturę definiującą pytanie i tablicę takich struktur.
C/C++
struct Pytanie
{
    std::string pytanie;
   
    // Jeśli pytania otwarte
    std::string odpowiedz[ N_GRUP ];
   
    // Jeśli nie
    std::string odpowiedzi[ N_ODPOWIEDZI ];
    int poprawne[ N_GRUP ];
};

Pytanie pytania[ N_PYTAN ];
Jeśli możesz, wczytuj dane do tablicy z pliku.
P-176741
« 1 »
  Strona 1 z 1