Test Wyboru CASE

0

Mam napisany program test wyboru
MAM PROBLEM Z:

  • liczeniem punktów (1 punkt za poprawna odpowiedz)
  • i nie wiem czy mam dobrze zainicjowane tablice ta z wynikami moimi i poprawnymi wynikami
//Program kalkulator
#include<iostream>
#include<conio.h>

using namespace std;
int main()
{
int n,i;
int odp[5];
int pop[2];
int ocena,li,punkty;

//Pytanie 1
{
 cout<<"Pyt.1 PIerwszy komputer nazywa sie"<<endl; 

                       cout<<"1. Enigma"<<endl;
                       cout<<"2. Acer"<<endl;
                       cout<<"3. Asus"<<endl;
                       cout<<"4. Pecet"<<endl;
                        
                       cin>>n;
                 cout<<endl;
                                      odp[1]=n;                     
             switch(n)
              {
                   case 1:
                      cout<<"1. Enigma"<<endl ;break;
                   case 2:
                      cout<<"2. Acer"<<endl;break; 
                    case 3:   
                      cout<<"3. Asus"<<endl;break;
                    case 4:
                      cout<<"4. Pecet"<<endl;break;
                       cout<<endl;
                      
              }      
}//Koniec pytania 1

//Pytanie 2
{

           cout<<"Pyt.2 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
           cout<<endl;
                                      odp[2]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 2  

//Pytanie 3
{
     
           cout<<"Pyt.3 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
        cout<<endl;
                                      odp[3]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              } 
//kONIEC PYTANIA 3  

//Pytanie 4
{
         
           cout<<"Pyt.4 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                     cout<<endl;
                                      odp[4]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 4

//Pytanie 5
{
        
           cout<<"Pyt.5 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                      cout<<endl;
                                      odp[5]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 5

                             

  
//wyświetlanie wynikow
               for (i=1; i<=5; i++)
               {
                    cout<<"zadanie "<<i<<" wynosi "<<odp[i]<<endl;                                  
               } 

//Wypełnianie tablicy poprawnymi odpowiedziami
   pop[2]==1;
   pop[2]==1;
   pop[2]==1;
   pop[2]==1;
   pop[2]==1;
   
    for (i=1; i<=5; i++)
    {
               {
                    cout<<"poprawne "<<i<<" wynosi "<<pop[i]<<endl;                                      
               } 
//Zliczanie poprawnych odpowiedzi
    
            if (odp[i]=pop[i]) 
               {
                          li=li+1;      
               } 
    } 
 ocena==(li*100)/10;
 cout<<"wynik "<<ocena<<endl;                                
                   
               
               
               if ((ocena<=100) and (ocena>=91))
                     { cout<<"Celujący"<<endl;}
               if ((ocena<=90) and (ocena>=81))
                     { cout<<"bardzo dobry"<<endl;} 
               if ((ocena<=80) and (ocena>=66))
                     { cout<<"dobry"<<endl;} 
               if ((ocena<=65) and (ocena>=46))
                     { cout<<"dostateczny"<<endl;}
               if ((ocena<=45) and (ocena>=31))
                     { cout<<"dopuszczający"<<endl;}
               if ((ocena<=3) and (ocena>=0))
                     { cout<<"niedostateczny"<<endl;}  
                     
                     }               
 getch();
 }
                      
                      
0
NerV-0-sol napisał(a)

Ojojoj. Polecałbym jeszcze raz zrewidować swoją znajomość języka. To, co mi się rzuciło w oczy po pierwszym przeczytaniu:

  1. Tablica z poprawnymi odpowiedziami jest krótsza od tej, która zawiera same odpowiedzi. W jaki sposób miałyby zostać porównane?
  2. W miejscu, gdzie chcesz wypełniać tablicę poprawnymi odpowiedziami, stosujesz znak '==' (służy do PORÓWNANIA) zamiast '=' (służy do PRZYPISANIA).
  3. W pętli, która sprawdza poprawność odpowiedzi, znów stosujesz powyższe znaki odwrotnie. Tym razem, zamiast porównywać, stosujesz znak przypisania wartości.
  4. Nie musisz używać dodatkowej zmiennej 'n'. Po prostu zapisuj odpowiedź na konkretne miejsce w tablicy. Do switch'a też możesz używać miejsca z tablicy.
  5. W ogóle nie rozumiem fragmentu "Wypełnianie tablicy poprawnymi odpowiedziami".

chodzi to o to iż w jednej tablicy są mole odpowiedzi a w drugiej tablicy są poprawne odpowiedzi w pętli i warunku sprawdza czy są takie same i dodaje punkt albo nie

0

if (odp[i]=pop[i])
{
li=li+1;
}

powinno być if (odp[i] == pop[i])

tablicę odpowiedzi inicjujesz źle bo inicjujesz cały czas element '2' zamiast wszystkich :/

0

MA to zrobione problem mam z TABLICAMI I Z OCENA I LICZENIEM PUNKTÓW

//Program kalkulator
#include<iostream>
#include<conio.h>

using namespace std;
int main()
{
int n,i;
int odp[10];
int pop[10];
int ocena,li,punkty;

//Pytanie 1
{
 cout<<"Pyt.1 PIerwszy komputer nazywa sie"<<endl; 

                       cout<<"1. Enigma"<<endl;
                       cout<<"2. Acer"<<endl;
                       cout<<"3. Asus"<<endl;
                       cout<<"4. Pecet"<<endl;
                        
                       cin>>n;
                 cout<<endl;
                                      odp[1]=n;                     
             switch(n)
              {
                   case 1:
                      cout<<"1. Enigma"<<endl ;break;
                   case 2:
                      cout<<"2. Acer"<<endl;break; 
                    case 3:   
                      cout<<"3. Asus"<<endl;break;
                    case 4:
                      cout<<"4. Pecet"<<endl;break;
                       cout<<endl;
                      
              }      
}//Koniec pytania 1

//Pytanie 2
{

           cout<<"Pyt.2 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
           cout<<endl;
                                      odp[2]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 2  

//Pytanie 3
{
     
           cout<<"Pyt.3 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
        cout<<endl;
                                      odp[3]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              } 
//kONIEC PYTANIA 3  

//Pytanie 4
{
         
           cout<<"Pyt.4 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                     cout<<endl;
                                      odp[4]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 4

//Pytanie 5
{
        
           cout<<"Pyt.5 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                      cout<<endl;
                                      odp[5]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 5

//Pytanie 6
{
 cout<<"Pyt.6 PIerwszy komputer nazywa sie"<<endl; 

                       cout<<"1. Enigma"<<endl;
                       cout<<"2. Acer"<<endl;
                       cout<<"3. Asus"<<endl;
                       cout<<"4. Pecet"<<endl;
                        
                       cin>>n;
                 cout<<endl;
                                      odp[6]=n;                     
             switch(n)
              {
                   case 1:
                      cout<<"1. Enigma"<<endl ;break;
                   case 2:
                      cout<<"2. Acer"<<endl;break; 
                    case 3:   
                      cout<<"3. Asus"<<endl;break;
                    case 4:
                      cout<<"4. Pecet"<<endl;break;
                       cout<<endl;
                      
              }      
}//Koniec pytania 6

//Pytanie 7
{

           cout<<"Pyt.7 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
           cout<<endl;
                                      odp[7]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 7

//Pytanie 8
{
     
           cout<<"Pyt.8 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
        cout<<endl;
                                      odp[8]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              } 
//kONIEC PYTANIA 8

//Pytanie 9
{
         
           cout<<"Pyt.9 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                     cout<<endl;
                                      odp[9]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 9

//Pytanie 10
{
        
           cout<<"Pyt.10 Skrot nazwy HP pochodzi od"<<endl; 

                       cout<<"1. Henz&Packer');"<<endl;
                       cout<<"2. haroln pank"<<endl;
                       cout<<"3. Hewwelett-Packer');"<<endl;
                       cout<<"4. himba pis"<<endl;
                        
                       cin>>n;
                      cout<<endl;
                                      odp[10]=n;                   
             switch(n)
              {
                   case 1:
                      cout<<"1. Henz&Packer"<<endl ;break;
                   case 2:
                      cout<<"2. haroln pank"<<endl;break; 
                    case 3:   
                      cout<<"3. Hewwelett-Packer"<<endl;break;
                    case 4:
                      cout<<"4. himba pis"<<endl;break;
                      cout<<endl;
              }                                
}//Koniec Pytania 10

                             

  
//wyświetlanie wynikow
               for (i=1; i<=10; i++)
               {
                    cout<<"zadanie "<<i<<" wynosi "<<odp[i]<<endl;                                  
               } 

//Wypełnianie tablicy poprawnymi odpowiedziami
   pop[1]=1;
   pop[2]=1;
   pop[3]=1;
   pop[4]=1;
   pop[5]=1;
   pop[6]=1;
   pop[7]=1;
   pop[8]=1;
   pop[9]=1;
   pop[10]=1;
   
    for (i=1; i<=10; i++)
    {
               {
                    cout<<"poprawne "<<i<<" wynosi "<<pop[i]<<endl;                                      
               } 
//Zliczanie poprawnych odpowiedzi
    
             if (odp[i] == pop[i])
               {
                          li=li+1;      
               } 
               else
               {
                          li=li+0;
               }
    } 
 ocena=(li*100)/10;
 ocena=ocena/10;
 cout<<"twoje punkty to "<<li<<endl;                                
  cout<<endl;                 
               
               
               if ((ocena<=100) ||(ocena>=91))
                     { cout<<"Celujący"<<endl;}
                  else   
                if((ocena<=90) || (ocena>=81))
                     {cout<<"bardzo dobry"<<endl;}
                  else
                if((ocena<=80) || (ocena>=66))
                     {cout<<"dobry"<<endl;}
                   else
               if((ocena<=65) || (ocena>=46))
                     {cout<<"dostateczny"<<endl;}
                else
               if((ocena<=45) || (ocena>=31))
                     {cout<<"dopuszczający"<<endl;}
                    else 
               if((ocena<=30) || (ocena>=0))
                      {cout<<"niedostateczny"<<endl;}                
                     } }             
 getch();
 }
                      
                      
0
   pop[1]=1;
   pop[2]=1;
   pop[3]=1;
   pop[4]=1;
   pop[5]=1;
   pop[6]=1;
   pop[7]=1;
   pop[8]=1;
   pop[9]=1;
   pop[10]=1;

rzuciłem okiem i to mi od razu w oczy wpadło, chłopie po co masz pętle w c++? Jakbyś miał tablice 10000 elementową też byś ręcznie to przypisywał? Przypatrz się co "tylko" Ci się zmienia w tym fragmencie :)
czy warto zaprzęgać "conio" i robić program "jednoplatformowym" tylko z powodu getch?
pozdrawiam

0
NerV-0-sol napisał(a)
matek3005 napisał(a)
   pop[1]=1;
   pop[2]=1;
   pop[3]=1;
   pop[4]=1;
   pop[5]=1;
   pop[6]=1;
   pop[7]=1;
   pop[8]=1;
   pop[9]=1;
   pop[10]=1;

rzuciłem okiem i to mi od razu w oczy wpadło, chłopie po co masz pętle w c++? Jakbyś miał tablice 10000 elementową też byś ręcznie to przypisywał? Przypatrz się co "tylko" Ci się zmienia w tym fragmencie :)
czy warto zaprzęgać "conio" i robić program "jednoplatformowym" tylko z powodu getch?
pozdrawiam

Ale Ty jesteś genialny... Według Ciebie koleś za każdym razem będzie robił takie pytania, że ta sama z kolei odpowiedź będzie poprawna? Co do drugiej uwagi to się zgadzam, ale sam widzisz, że koleś jest początkujący i dostał w ręce trochę zły tutorial. Z czasem sam by się dowiedział. Na razie trzeba pomóc z tym, co jest zupełnie źle.

ale to jest projekt potem będą inne pytania i inne odpowiedzi

0

Kod jest do wyrzucenia. Jest absolutnie idiotyczny. Nie mówię już nawet o wychodzeniu poza tablicę (bo indeksujemy tablicę od 0 a nie od 1 i do n-1 a nie do n), tylko o tym że czasy liniowego programowania minęły 40 lat temu. Rozumiem że jak pytań będzie 1000 to autor skopiuje sobie ten kawałek kodu 1000 razy? A jak się okaże że jest błąd (np. brak jakiegoś newline) to autor będzie sobie przez kilka godzin poprawiał te 1000 linijek?
Lekcja na dziś: tablice, pętle, funkcje. Te wklejone 345 linijek można zmieścić w kodzie który będzie miał max 70-80 linii. Programując trzeba myśleć, a nie kopiować kawałki kodu...

0
NerV-0-sol napisał(a)
matek3005 napisał(a)
   pop[1]=1;
   pop[2]=1;
   pop[3]=1;
   pop[4]=1;
   pop[5]=1;
   pop[6]=1;
   pop[7]=1;
   pop[8]=1;
   pop[9]=1;
   pop[10]=1;

rzuciłem okiem i to mi od razu w oczy wpadło, chłopie po co masz pętle w c++? Jakbyś miał tablice 10000 elementową też byś ręcznie to przypisywał? Przypatrz się co "tylko" Ci się zmienia w tym fragmencie :)
czy warto zaprzęgać "conio" i robić program "jednoplatformowym" tylko z powodu getch?
pozdrawiam

Ale Ty jesteś genialny... Według Ciebie koleś za każdym razem będzie robił takie pytania, że ta sama z kolei odpowiedź będzie poprawna? Co do drugiej uwagi to się zgadzam, ale sam widzisz, że koleś jest początkujący i dostał w ręce trochę zły tutorial. Z czasem sam by się dowiedział. Na razie trzeba pomóc z tym, co jest zupełnie źle.

Z całym szacunkiem ale nawet jeśli są to testy no to chyba ten kawałek kodu można napisać za pomocą pętli czyż nie? :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1