C++ pomoć oko rješavanja zadatka za školu

poruka: 18
|
čitano: 6.913
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
9 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Pozdrav,
potrebna mi je pomoć oko rješavanja jednog zadatka u c++ za školu. Radi se o tome da sam napravio jedan program za računanje prosjeka ocjena u školi. Problem je u tome što ne znam kako u ovaj kod da ubacim da mi izračuna aritmetičku sredinu ocjena i da pod predmete(gdje se upisuje prosjek) da uz cijele brojeve imam i decimalne. Također sam napravio i if izjavu da kada upišemo broj 6 da nam izbaci da je netočan unos i ponovi taj predmet, ali bi htio i staviti za ostale brojeve od 6 do 9 ali ne znam.
Zahvaljujem se unaprijed i nadam se da se eksperti neće smijati mom kodu jer mi je to prvi program.

 

//**********************
//Alat za prosjek ocjena
//**********************

#include <iostream>

using namespace std;

int main()
{
double dec, brojevi;
int a;
int b;
int c;
int d;
int e;
int f;
int g;
int sum;
ocjena_bio: cout <<"Ocjena iz Biologije" << endl;
cin >> a;
if(a==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_bio;

}
else

cout << endl;
ocjena_hrv: cout <<"Ocjena iz Hrvatskog" << endl;
cin >> b;
if(b==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_hrv;
}
else
cout << endl;
ocjena_mat: cout <<"Ocjena iz Matematike" << endl;
cin >> c;
if(c==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_mat;
}
else
cout << endl;
ocjena_eng: cout <<"Ocjena iz Engleskog" << endl;
cin >> a;
if(a==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_eng;

}
else

cout << endl;
ocjena_pov: cout <<"Ocjena iz Povjesti" << endl;
cin >> a;
if(a==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_pov;

}
else

cout << endl;
ocjena_rac: cout <<"Ocjena iz Računalstva" << endl;
cin >> a;
if(a==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_rac;

}
else

cout << endl;
ocjena_kem: cout <<"Ocjena iz Kemije" << endl;
cin >> a;
if(a==6)
{
cout<<"Pogresan unos. Ponovi!"<<endl;
goto ocjena_kem;

}
else

cout << endl;


sum= a + b + c + d + e + f + g;
cout << "Prosjek ocjena je:" << sum/7;
cout << endl;
system("pause");
return 0;
}

 
0 0 hvala 0
12 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Probaj ovako nešto:

 

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
   vector<string> Predmet = { "Hrvatski jezik", "Matematika", "Biologija", "Kemija" };
   int ocjena, suma = 0;

   for (int i = 0; i < Predmet.size(); i++) {
      do {
         cout << Predmet[i] << ": ";
         cin >> ocjena;
      } while (!(ocjena >= 1 && ocjena <= 5));
      suma += ocjena;
   }
   cout << "Prosjek: " << (float)suma / Predmet.size() << endl;
   return 0;
}

 

Za svaki predmet koji gore navedeš će te pitati ocjenu koja mora biti između 1 i 5 ili se unos ponavlja.

Moj PC  
1 0 hvala 0
9 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

Nešto mi neće očitati. Tj prikazuje da nešto nevalja sa 

vector<string> Predmet = { "Hrvatski jezik", "Matematika", "Biologija", "Kemija" };

14 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu
Javolimprogramiranje kaže...

Nešto mi neće očitati. Tj prikazuje da nešto nevalja sa 

vector<string> Predmet = { "Hrvatski jezik", "Matematika", "Biologija", "Kemija" };

 

To su simptomi koji ukazuju da kompajler nije u c++11 modu.

Daj molim te u kompajler opcijama čekiraj -std=c++11 , ovako na prvu 99% da više neće biti problema s ovom linijom code-a.

 

moje aplikacije na play-u : https://play.google.com/store/search?q=nik02droid
9 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

Koristimo Dev-c++, a u njemu se nemogu snaći, tj nemogu naći to di se mjenja.

14 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu
Javolimprogramiranje kaže...

Koristimo Dev-c++, a u njemu se nemogu snaći, tj nemogu naći to di se mjenja.

 

Nisam ga doista jako dugo koristio ali google veli:

http://stackoverflow.com/questions/16951376/how-to-change-mode-from-c98-mode-in-dev-c-to-a-mode-that-supports-c0x-ran

 

Savjetujem da što prije zamjeniš devC++.

Ugodnu vježbu želim i pozdrav.

moje aplikacije na play-u : https://play.google.com/store/search?q=nik02droid
9 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

U budučnosti vrlo rado, ali u školi nas tjeraju da koristimo taj alat za zadatke koje nosimo u školu na pregled. Tako da..

12 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Probaj onda ovako:

 

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
   vector<string> Predmet;
   int ocjena, suma = 0;

   Predmet.push_back("Hrvatski jezik");
   Predmet.push_back("Matematika");
   Predmet.push_back("Biologija");
   Predmet.push_back("Kemija");

   for (int i = 0; i < Predmet.size(); i++) {
      do {
         cout << Predmet[i] << ": ";
         cin >> ocjena;
      } while (!(ocjena >= 1 && ocjena <= 5));
      suma += ocjena;
   }
   cout << "Prosjek: " << (float)suma / Predmet.size() << endl;
   return 0;
}

Moj PC  
0 0 hvala 0
10 godina
offline
C++ pomoć oko rješavanja zadatka za školu

Pozdrav forumaši!Imali iko da bi rijesio neke zadatke za školu tj. moje zadatke iz škole!Moram ispraviti inf a nezznam kako rijesiti sljedeće zadatke!Kad bih neko rijesio bio bih mu jako zahvalan!!Zadaci su na slici!Hvala unaprijed!

Dario
Moj PC  
0 6 hvala 0
16 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

Evo jel bi ti meni mogao otići na ispit umjesto mene? Bio bi ti jako zahvalan. Javi se na pm kažem ti koji faks, gdje, kad i šta...

0100001001101111011010100110000101101110
6 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Pozdrav !

Potrebna mi je pomoc oko jednog zadatka.

Ovo je tekst: Napisi program koji za uneti prirodni broj nodredjuje najmanji broj m takav da je n*m potpun kvadrat.

 
0 1 hvala 0
10 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu
#123CPP kaže...

Pozdrav !

Potrebna mi je pomoc oko jednog zadatka.

Ovo je tekst: Napisi program koji za uneti prirodni broj nodredjuje najmanji broj m takav da je n*m potpun kvadrat.

 

Ok, evo ti par hintova:

 

1. prirodni brojevi su svi CIJELI brojevi veći od 0

2. potpuni kvadrat je bilo koji broj iz skupa prirodnih brojeva ciji korijen daje drugi prirodni broj. Znaci, 4, 9, 16, itd. su potpuni kvadrati jer je sqrt(4)=2, sqrt(9)=3, sqrt(16)=4, itd. 8 npr. nije potpuni kvadrat jer je sqrt(8)=2.83

 

Kad to znas onda lako mozes zamisliti program gdje recimo uzmes nekakav prirodan broj, provjeris da li je potpuni kvadrat, ako nije pokusas ga pomnoziti sa 2 pa provjeris opet, ako nije pomnozis sa 3 pa pokusas opet itd. Taj broj s kojim si pomnozio je m kojeg trazis.

 

Znaci, trebas varijable za input i za m, trebas petlju u kojoj ces raditi bar jedan if uvjet i povecavati m++ dok se uvjet ne zadovolji, a usporedjivati ces sqrt(n*m) i (int)sqrt(n*m) jer zapravo zelis vidjeti da li korijen ima nekakve brojeve iza decimalne tocke. Ako nema - prekidas petlju i ispisujes m kojeg trenutno imas, jer je to i rjesenje zadatka.  

 

Poruka je uređivana zadnji put čet 27.7.2017 11:15 (detekreten).
6 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

To sve znam i imala sam ja istu ideju za rjesavanje. Problem je sto ne mogu sve to ispravno da napisem, pa cak i kada nema greske program ne radi nista ( ne funkcionise).

16 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu
#123CPP kaže...

To sve znam i imala sam ja istu ideju za rjesavanje. Problem je sto ne mogu sve to ispravno da napisem, pa cak i kada nema greske program ne radi nista ( ne funkcionise).

 Pa stavi što si napisala, neš se tako jeftino izvući da ti damo gotov kod, on će ti popraviti to gdje si pogriješila a ja ću ti objasniti princip za jedan potpuno drukčiji pristup.

10 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Moje rješenje:

 

#include <iostream>
#include <cmath>
#include <climits>

 

using namespace std;

 

int main()
{

int n, m=1;
double test;

 

cin >> n;

 

do {
  test = sqrt(n*m);

 

  if(test == (int)test) break;
  else m++;

} while(m<INT_MAX);

 

cout << "m = " << m << endl;
cout << "n*m = "<< n*m << endl;

 

return 0;
}

 

Stvar zaista nije komplicirana, stavi svoj kod pa ćemo ti pomoći naći grešku.

 

EDIT: Iss... Pa koji je ovo debilni prikaz koda, kak dobit da se ne pojavljuju ove crte?

Poruka je uređivana zadnji put čet 27.7.2017 17:36 (detekreten).
 
0 0 hvala 0
16 godina
neaktivan
offline
C++ pomoć oko rješavanja zadatka za školu

Ja radim u FF, kopiram kod iz editora a format namjestim na kod.

Ne treba ti toliki interval za m, pošto se m nalazi u intervalu od 1 do n, donja granica intervala je ako je n potpuni kvadrat, a gornja ako je prim broj.

Poruka je uređivana zadnji put čet 27.7.2017 18:04 (Floki).
 
1 0 hvala 0
10 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu
Floki kaže...

Ja radim u FF, kopiram kod iz editora a format namjestim na kod.

Ne treba ti toliki interval za m, pošto se m nalazi u intervalu od 1 do n, donja granica intervala je ako je n potpuni kvadrat, a gornja ako je prim broj.

 

Ne znam, meni ni u Chrome ni u Edge ne radi tak, ne da mi se sad FF instalirat samo da isprobavam. Glupo ako je toliko ovisno o browseru.

 

Naravno, najgori slucaj je uvijek n*n, najbolji n*1. Uvjet na while sam stavio samo zato da ne vrtim beskonacnu petlju ako bude htjela mijenjat kod.

6 godina
neaktivan
offline
Re: C++ pomoć oko rješavanja zadatka za školu

Hvala. Ja nisam znala koju granicu da postavim za m , milim nisam znala da se to tako moze.

Sada pokusavam uraditi jedan zadatak  gdje se trazi najmanji zajednicki sadrzilac za interval od 1 do n;

 

#include<iostream>
#include<climits>
using namespace std;

int main (){
int n;
cin>>n;
int br=1;

for (int i=1;i<=n;i++){
do {
br%i;

if (br%i==0)
i++;
else br++;
}
while (br<INT_MAX);
}
cout<<br<<endl;

system ("pause");
return 0;
}

 

Ja sam pokusala tako ali program ne radi nista, ne znam gdje sam pogrijesila.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice