Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.283
|
čitano: 1.509.829
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
10 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav,

 

imam pitanje vezano uz C++. Znaci radi se o zadatku si binarnim datotekama.

 

ULAZ: Stvara se datoteka u koju se upisuju informacije o studentu ( ime, prez, godina).

IZLAZ: Meni s oabirom za unosom podataka i pretrazivanjem.

 

 

Ovaj slog struct studenti mi je jasan. Jedino kasnije ovo student s; , jel bi to bila samo kao neka zamjena imena da se kasnije ne pise cijelo vrijeme studenti nego samo s? Ovo je pocetak koda.

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


unsigned int indeks;


struct student{
   unsigned int indeks;
   char ime[30], prezime[30];
   char godina;
};

 

void unos(){
  student s;
   char dn;
   ofstream stud("studenti.dat", ios::binary | ios::app);
   do{
     cout << "Broj indeksa: ";
     cin >> s.indeks;
     cout << "Prezime: ";
     cin >> s.prezime;
     cout << "Ime: ";
     cin >> s.ime;
     cout << "Godina studija: ";
     cin >> s.godina;
     stud.write((char *)&s,sizeof(s));

 

Nov sam u ovome i zanima me jel bi se ovo moglo kako rijesiti pomocu string. Jer ovo dolje bas ne funkcionira pa me zanima jel se to opce smije tak radit, jer kao sto sam rekao da mi ne radi bas, a mozda ja negdje gresku radim.

 

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

 

struct student{
   unsigned int indeks;
   string ime;
   string prezime;
   char godina;
};


int main(){
   student s;
   char dn;
   ofstream("studenti1.dat", ios::binary | ios::app);
   do{
     cout << "Broj indeks: ";
    cin >> s.indeks;
    cout << "Prezime: ";
    getline(cin,s.prezime);
    cout << "Ime: ";
    getline(cin,s.ime);
    cout << "Godina studija: ";
    cin >> godina;

 

Svaka pomoc je dobrodosla.

 

HVALA!

Poruka je uređivana zadnji put sub 2.9.2017 0:07 (No.Nameee).
 
1 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ajmo skroz laicki. Struktura definira novi tip podataka. Kako imas int, double, string, ti mozes definirati neki "svoj tip", tj. neku svoju strukturu.

 

Primjer:

struct osoba{

  string ime;

  string prezime;

};

 

osoba je sada tvoj tip podataka.

 

Ako želiš deklarirati neki cijeli broj, koristš:

int x;

I onda mozes raditi npr:

x = 5;

 

Ako želiš deklarirati novu osobu, radimo slično:

osoba netko;

netko je sada varijabla, kao x u prethodnom primjeru. Možemo napraviti:

netko.ime = "Pero"

netko.prezime = "Peric"

 
1 0 hvala 0
12 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav.

Zanima me je li moj i3 2100, uz 8 GB RAM i R7 260 OC dovoljan za učenje programiranja i Autocad 2D (da ne zapitkujem dalje za A-CAD).

Isto pitanje i za G4400 uz 8 GB RAMa.

 

Hvala.

Nisam ja ništa prčko.
Moj PC  
0 0 hvala 0
14 godina
online
Re: Programiranje u C++-u - pitanja i odgovori

Je, radit ce, al ne bas super. AutoCAD voli memoriju, a i Visual Studio isto. Meni trenutno, AutoCAD 2018 trosi cca 700MB, a VS2015, sa 2 solutiona otvorena cca 800MB RAMa. Sve skupa sa par otvorenih programa Wi10 oko 10GB, ali imam 16, pa je jos uvijek ok. Tebi ce radit ali sporije, vjv ce se zakrcati RAM do kraja.

Lack of money is the root of all evil. George Bernard Shaw
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ako ti lagovi budu smetali, prebaci se na sublime text ili eventualno na linux , imas g++ kompajler

Trust nobody, become the best !
12 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mr.ddevil kaže...

Ako ti lagovi budu smetali, prebaci se na sublime text ili eventualno na linux , imas g++ kompajler

 Kontam da je savjet za mene. Ma polako, zadnje programiranje mi je bilo 1990-te, maturalni rad na Spectrumu 48+, jednostavni program u BASIC-u.

Osnove Pascala, Fortrona (mislim da se tako zvao jezik) su odavno ishlapjele... Krećem, praktički, od nule... Sjećam se pojma integer (broju s decimalama odbacuje decimale... ili je to u C-u nešto drugo? ).

Slijedi rudarski posao.

 

EDIT: Kontam koristit Win 7 Ultimate SP1 (sad imam Win 7 7600 verzija čiji je NET Framework zastario... navikao sam na 7-dmicu, na netbook-u imam 8.1 i draži mi je 7... ).

Nisam ja ništa prčko.
Poruka je uređivana zadnji put sub 9.9.2017 0:04 (Spiridon).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ako tek kreces uciti programirati, C ili C++, ja svakako preporucujemo CodeBlocks platformu za programiranje.

 
2 0 hvala 1
14 godina
online
Programiranje u C++-u - pitanja i odgovori

Ako ce se programirati za ucenje, VS je vjerojatno overkill, ali kako je spomenut AutoCAD, za razvoj pluginova koji rade pod njim je potreban Visual Studio.

Lack of money is the root of all evil. George Bernard Shaw
 
0 0 hvala 1
7 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav. Može pomoć oko rješavanja zadatka iz programiranja?

Zadatak glasi ovako: 

"Učitati niz od 5 stringova. Utvrditi u kojim se stringovima slovo 'r' ponavlja točno tri puta te ispisati te stringove. Rezultat predstaviti na ekranu."

Rješenje:

 

#include <iostream>
#include <string.h>
using namespace std;

int main(){

char niz[5][10];

for(int i=0; i<5; i++){
gets(niz[i]); //moze i cin.getline(niz[i], 10)
}

for(int i=0; i<5; i++){
int brojac=0;
for(int j=0; j<strlen(niz[i]); j++){
if(niz[i][j]=='r'){
brojac++;
}
}

if(brojac==3){
cout<<niz[i]<<endl;
}
}
}

 

Pitanje: kako bi bilo da se u zadatku trazi da stringove u kojima se slovo "r" ponavlja 3 puta spremamo u novi niz pa onda ispisujemo iz novog niza? Na koji način svaki string koji zadovoljava uvjet spremamo u novi niz? Pokušavao sam definirati novi niz char niz2[5][10]  pa u if grananju niz2[i]=niz[i], ali ne radi.

 

 
0 0 hvala 0
14 godina
online
Programiranje u C++-u - pitanja i odgovori

Probaj sa strcpy(niz2[i],niz[i]); umjesto  niz2[i] = niz[i];

Lack of money is the root of all evil. George Bernard Shaw
 
3 0 hvala 1
7 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
CalvinRi kaže...

Probaj sa strcpy(niz2[i],niz[i]); umjesto  niz2[i] = niz[i];

 

Odlično, radi, hvala!  

7 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ljudi moze pomoc?
Znaci jucer sam poceo malo eksperimentirati sa c++,te sam htio napraviti program da korisnik unese 2 broja,i onda da izabere operaciju koju zeli primjeniti na ta 2 broja.
No javlja mi sljedecu gresku:
[Error] ISO C++ forbids comparison between pointer and integer [-fpermissive]

Znam otprilike u cemu je problem,ali ga ne znam rjesiti,pa ako mi mozete pomoci,puno bi mi znacilo :)

KOD:

EDIT:rjesio,samo mi treba pomoc s nulama,jer mi on umjesto recimo 100 napise 00100100 u rezultat...

EDIT:Rjesio i to xD

#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;

int main()
{
int a;
int b;
int c;
int res;

cout << "Enter a number\n";
cin >> a;
cout << "Enter another number\n";
cin >> b;

cout << "Do you want to add,subtract,multiply or divide?\n";

cout << "Enter either A,S,M or D";

cin >> res;

if (res == "M" )
c = a*b;
cout << c;

if (res == "D" )
c = a/b;
cout << c;

if (res == "A" )
c = a+b;
cout << c;

if (res == "S" )
c = a-b;
cout << c;

else
cout << "Wrong input!";

return 0;
}

Fight with the best,die like the rest!
Poruka je uređivana zadnji put sub 30.9.2017 11:36 (FatMAN).
Moj PC  
0 0 hvala 0
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ehh, loša praksa je koristit toliko if rečenica ako nije potrebno, ja bih na tvom mjestu uvalio jednu 'swtich' i rjesio dilemu, jos bi umjesto int koristio float znači kod bi išao ovako po meni

 

#include <iostream>
#include <math.h>
using namespace std;

int main(){
  float a , b, c;
  int operacija;
  ponovno:cout << "Unesite 1. broj !"<<endl;
  cin >> a;
  cout << "Unesite 2. broj !"<<endl;
  cin >> b;
  cout << "Unesite racunsku operaciju (1-zbrajanje, 2-oduzimanje, 3-mnozenje, 4-dijeljenje)"<<endl;
  cin >> operacija;
  switch(operacija){
   case 1:
    c = a + b;
    cout << "Rezultat je "<<c<<endl;
    break;
   case 2:
    c = a - b;
    cout << "Rezultat je "<<c<<endl;
    break;
   case 3:
    c = a * b;
    cout << "Rezultat je "<<c<<endl;
    break;
   case 4:
    c = a / b;
    cout << "Rezultat je "<<c<<endl;
    break;
   default:
    cout << "Pogresan unos !!"<<endl;
    cout << "Unesi ponovno !!"<<endl;
    goto ponovno;
  }
  system("PAUSE");
  return 0;
}

Trust nobody, become the best !
7 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Korisno :)

Fight with the best,die like the rest!
6 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

#include <iostream>

#include <iomanip>

 

using namespace std;

 

int main()

 

{

 

 

int stupac;
int red;

for (red = 1; red <= 4; red++)
{


for (stupac = 1; stupac <= red; stupac++)


   {


  cout << setw(5) << red * stupac;

 

   }

 

cout << endl;

 

}

 

 

}

 

 

Ovaj program ispisuje brojeve koji su u zagradi :

 

(1) 2 3 4
(2)(4) 6 8
(3)(6) (9) 12
(4)(8)(12)(16)

 

, a zadatak je da ispisuje brojeve koji su ovde u zagradi

 

(1)(2)(3)(4)

 2 (4)(6)(8)

 3  6(9) (12)

 4  8 12 (16)

 

, 1. program od ovog niza brojeva

 

1 2 3 4

2 4 6 8

3 6 9 12

4 8 12 19

 

ispisuje donji lijevi trokut , a ja moram ispisat gornji desni trokut , nadam se da je neko skuzio sto mi treba.

Hvala :)

Poruka je uređivana zadnji put ned 1.10.2017 10:44 (Olson :)).
 
1 0 hvala 0
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Olson :) kaže...

#include <iostream>

#include <iomanip>

 using namespace std;

 int main(){

 

int stupac; 

int red;

for (red = 1; red <= 4; red++) {

  for (stupac = 1; stupac <= red; stupac++){

    cout << setw(5) << red * stupac;

   }

 cout << endl;

 } 

}

 Probaj ovo gdje je 'stupac <= red' stavit 'stupac <= 4' , cini mi se da tu treba ici broj clanova u redu

Trust nobody, become the best !
6 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Mozda me nisi razumio , ovaj program gore radi ono sto treba radit , ali meni treba ispis gornjeg desno trokuta ovog zapisa :

 

1 2 3 4

2 4 6 8

3 6 9 12

4 8 12 16

 

, a taj program ispisuje donji lijevi trokut.

 

Ako neko ima ideju kako to napraviti bio bih zahvalan , hvala :)

Poruka je uređivana zadnji put ned 1.10.2017 12:31 (Olson :)).
 
1 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Evo ti, zavrti i pogledaj

 

https://pastebin.com/89RYS2Jk

 

Pogledaj i što bi bilo da u nejednakosti dopustiš i jednakost, tj. < u <= i > u >=

 

:)

10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Olson :)

 

To kaj tražiš je ispis elementa matrice(odnosno 2-dim polja) iznad glavne dijagonale(uključujući i nju samu).

Prouči ovaj link. Sve bu ti jasno.

 

Al' evo rj. u vidu programskog kôda.

 

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

int main(void)
  {
   int iMatrica[4][4];



   for (int i = 1; i <= 4; i++)
  {
     for (int j = 1; j <= 4; j++)
        {
        iMatrica[i][j] = i*j;      

        if (i <= j)

        {
        cout << iMatrica[i][j] << " ";
        }
        else
        {
        cout << " ";
        }
       }
      cout << endl;
       }

system("PAUSE");
return 0;
}

 

 

Rj. možda nije idealno, al' eto. I ja bi volio znari rj. bez korištenja matrica, odnosno 2-dim polja.

Neko rj. bez gore navedenih, a da u stvari bude lijepo prikazano rj. ispis gornje dijela trokuta.

 

Nešto ovakvo:

 

1 2  3  4

  4  6  8

    9 12

     16

 

 

Panzerkampfwagen.Dinamo Zagreb.Matija.Leaving or dead, always ahead...
6 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Hvala obadvojici , dosta ste mi pomogli :)

 
1 0 hvala 0
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Bok,radi se o sortiranje parnih i neparnih brojeva u poljU.

 

Skuzio sam prvi dio if petlje, ali dalje ne kuzim i nema mi nikakve poveznice s drugom if petljom, probao sam nesto ubaciti ali mi nejde. Varijabla k nije definirana ali je zato u programu i neznam sto bih sa njom xd

 

Jel mi moze neko odgonetnuti gl. dio koda što nam je profesor zadao i kako to da se popravi.

 

https://pastebin.com/raw/quqDSPpy

Carry on
 
1 0 hvala 0
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Dino-san

 

E, kada se uđe u petlju ista se vrti beskonačno....Trebalo bi malo još vidjeti taj kôd...

 

koliko sam stigao komentira(zeleni tekst) sam prvi dio kôda koji ti nije jasan, koliko sam znao i umio....

Koliko sam skužio provjeravaš parnost/neparnost članova polja, te bubble sortom(??) sortiraš po veličini.....

 

...........

//ovaj dio mi je nejasan
int i = 0, j = n - 1;//inicjaliziras 2 varijable, jednu sa nulom, drugi sa jednim brojem manje, nego si unio raspon polja
cout << j;
cout << "\n";

cout << i << "\n";
while (i <= j) { //vrtis while petlju do od prvog do zadnjeg clana polja
//cout << "Usao u petlju";
if ((*(a + i) % 2) > 0) //ako je broj NEPARAN
{
int pom = *(a + i);//spremis trenutni clan polja u pomocnu varijablu
int l = i - 1;// ova varijabla treba da bi mogli znati broj prethodnog elementa u polju od onog koji je trenuti u iteraciji

while (l >= 0 && *(a + l) > pom) //provjera dal si na prvom clanu polja ili nekom vecem, te da li je
//prethodni clan polja od veći od onog trenutnog, odnoso da li npr. prvi clan polja veci od drugoga, drugi od trecega....
*(a + l + 1) = *(a + l--);//onda napravi zamjenu ako je uvjet petlje istina, onda zamjeni mjesta, da veci bude ispred manjeg...
*(a + l + 1) = pom;
////na mjesto veceg broja, stavi manje---ovaj linija je potrebna da manji broj dode iza vecega
}

.....

Panzerkampfwagen.Dinamo Zagreb.Matija.Leaving or dead, always ahead...
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

...

else if(*(a+i)%2 == 0)

{

     int pom = *(a+i);

 

     *(a+i) = *(a+k);

     int l = k+1;

 

     while(l>=0 && *(a+l)>pom)

     *(a+l-1) = *(a+l++);

     *(a+l-1) = pom;

 

      j--;

   }

}

 

@PzKpfw

 

Hvala ti na objašnjenu =D, jel bi mi htio ili neko drugi objasniti šta je sa ovim dijelom programa. U kodu https://pastebin.com/raw/quqDSPpy

Varijabla k je nedefinirana niti nema pocetnu vrijednost. Isto je ko u prethodnoj if strukturi - treba u polje postaviti neparne brojeve uzlazno pa potom parne brojeve silazno. 

Carry on
 
1 0 hvala 0
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Dino-san

 

Evo koliko stignem u ovo doba...., te uz sve ostale obaveze, ne mogu se 100% posvetiti tvojem problemu, nego samo ovako površno,bez dublje analize....

U uvjetu ispituješ ostaka cjelobronoj djeljena. Odnosno parnost brojeva.

u temp varijablu spremaš trenutni clan polja, telinija koda ispod toga spremaš u polje na trenutnu poziciju element koji se nalazi na k-toj poziciji u odnosu na prvu.

varijabla l poprima veličnu k +1.

 

u while petlji ispituješ da je l veći od nule te, da je prvi slijedeći element u odnosu na trenutni veći od onog trenutnog. ako je uvjet ispunjen broj na prvom slijedećm elementu u odnosu na trenutni dolazi na njegovo mjesto, te povećavaš varijablu l da možeš se "micati" po polju. Na izlasku iz petlje(po ovdje napisanom kodu) spremaš trenutni clan polja na prvi slijedeći

Smanjuješ varijablu j na kraju.

 

Gle vrtio sam taj gore program, te ti ulazi u beskonačnu petlju. Totalno je konfuzan. Rađe bih to sve izbrisao, te napisa novi pošteniji.....

 

 

Odem, spavati, rano se dižem.....

 

 

Panzerkampfwagen.Dinamo Zagreb.Matija.Leaving or dead, always ahead...
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

@PzKpfw

 

Hvala ti jos jednom, sry na preopsirnom kodu trebao sam biti specificniji.

Carry on
 
1 0 hvala 0
6 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Imam pitanje , da li je moguce traziti od korisnika da izabere neke funkcije koje su napisane u kodu.

 
1 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Da.

 
1 0 hvala 0
7 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ljudi trebam pomoc, naime radim svoju prvu window aplikaciju ali sto god da pokusam sve s to mi se pojavi je cmd prozor koji kaze da je proces zavrsen.

Ovo je kod(komentare zanemarite,to sam napravio samom sebi za pomoc):

//Kao int main(),samo sto se koristi za window aplikacije
#include <windows.h>

//Nasa funkcija koja nam omogucava da u prozoru radimo nesto, moze se zvati bilo kako
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInst , HINSTANCE hprevInst, LPSTR args, int ncmdshow)
{

WNDCLASSW wc;

//Neke informacije o nasem prozoru
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hInstance = hInst;
wc.lpszClassName = L"myWindowClass";
//Koristimo funkciju WindowProcedure koju smo definirali prethodno
wc.lpfnWndProc = WindowProcedure;

if(!RegisterClassW(&wc))
return -1;

CreateWindow("myWindowClass", "My Window", WS_OVERLAPPEDWINDOW | WS_VISIBLE,100,100,500,500,
NULL, NULL, NULL, NULL);

MSG msg;

while( GetMessage(&msg ,NULL,NULL,NULL) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return 0;
}

LRESULT CALLBACK WindowProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
{
switch ( msg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;

default:
return DefWindowProcW(hWnd, msg, wp, lp);
}

}

Fight with the best,die like the rest!
Moj PC  
0 0 hvala 0
11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ovo će ti puno pomoći LINK

Smrt u penziji
7 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Tnx, nisam skonto da trebaju viticaste umjesto obicnih zagrada jer je kvaliteta videa bila dost losa

Inace puno ti hvala

Fight with the best,die like the rest!
E-mail:
Lozinka:
 
vrh stranice