trebami pomoc oko programa za napisat c++ pocetnik sam:
(1. DIO)
napisi program koji od nas trazi podateke o imenu prezimenu i studentskom broju. za svakoga pita posebno, kasnije ispise iskaznicu slijedecog oblika:
STUDENTSKA ISKAZNICA
IME: Jakob
PRIMEK: JAKIC
BROJ: R12345678
Studentski broj moze sadrzavati slova, zato ga imamo kao "string".predpostavljamo da student ima jedno ime i prezime i da među njima nema razmaka, niti su dozvoljeni drugi znakovi.program bi trebao pokazati ime i prezime tako da bez obzira na unos za ime prvo slovo bude velikoa ostala malaa u prezime sva velika slova, sva slova u studentskom broju ukljucujuci i ona na pocetku se pri ispisu pretvore u velika slova.
(2. DIO)
Ovo je nadogradnja prvog djela, ovde moramo dodati funkciju koja dobije parametar "string". zadatak je da u dobijeni "string" unese znake "=" tako da razdjeli nizove znakova na podnize duge 5 slova. kada proiđemo do kraja i nema nijednog slova vise "jednako" ne dodajemo.funkcija ne ispisuje nista ali dobijeni string vrati kao rezultat.
PR: Funkcija dobije: "JedanDvaTriCetiriPet"
Funkcija vrati: "Jedan=DvaTr=iCeti=riPet"
u glavni program 2. djela dodacemo poziv te funkcije tako da je kao parametar damo niz sastavljen iz imena prezimena i studentskog broja. ruzultat ispise kao:
STUDENTSKA ISKAZNICA
IME: Jakob
PRIMEK: JAKIC
BROJ: R12345678
KOD: Jakob=Jakic=R1234=5678
u programu upotrijebiti funkciju substr() . JA SAM NESTO NAPISAO PRVOG DJELA ALI NE IDE MI POMOC MOLIM :(
Programiranje u C++-u - pitanja i odgovori
- poruka: 7.285
- |
- čitano: 1.712.864
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?
Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?
Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).
Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.
Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP
Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?
Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).
Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.
Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP
U C++u je dovoljna samo jedna linija koda tj. poziv API funkcije ExitWindows nakon što timer kaže da je vrijeme. Nikakve bat datoteke i i druge karafeke.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa376868%28v=vs.85%29.aspx
Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?
Ja sam to radio u pythonu, mozes to i sam u par linija koda (uvjeren sam da je pythonom to najbrze za napravit, nikakav C, C++).
Napravis shutdown.bat, i u pythonu napravis da ti program broji sekunde, te pokrene .bat kad prede xy sekundi, minuta po volji.
Ovo sa sleepom ili hibernacijom se time i podrazumjeva...LP
U C++u je dovoljna samo jedna linija koda tj. poziv API funkcije ExitWindows nakon što timer kaže da je vrijeme. Nikakve bat datoteke i i druge karafeke.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa376868%28v=vs.85%29.aspx
Možeš mi napraviti taj program ako ti nije teško?
Znam samo neke osnovne stvari u vezi programiranja u c++ tako da se ne snalazim u ovako nečemu. :)
Radim na takvom programu. Doduše, s puno više mogućnosti nego samo obični shutdown jer i meni treba takvo nešto. U nekih 2-3 tjedna vjerujem da ću završiti jer trenutno imam i drugog posla preko glave.
Kako izvući recimo prvo slovo u stringu ili predzadnju riječ iz stringa unešenog na tastaturi?
Kako izvući recimo prvo slovo u stringu ili predzadnju riječ iz stringa unešenog na tastaturi?
Prvo slovo - String[0] ili String.at(0)
Predzadnja riječ - razdijeliš string po razmaku (recimo koristeći C-libov strtok() kojemu proslijediš string.c_str() ili možda uspomoć Boostove split() metode) na niz stringova te onda samo pomoću subscripta dobiješ to što ti treba - nizStringova[nizStringova.size() - 1]
U prvoj i jedinoj liniji standardnog ulaza dati su zbir Z i razlika R (0 ≤ Z, R ≤ 1000) za dva zamišljena nenegativna cela broja, a razlika dva broja je dobijena tako što je od većeg broja oduzet manji broj. Potrebno je napisati program OTKRIVANJE koji će pronaći zamišljene brojeve. Nenegativni brojevi su brojevi koji su veći ili jednaki 0. Na standardnom izlazu ispisati dva zamišljena broja (najpre veći, a potom manji broj) ili ispisati "GRESKA" (velika slova, bez navodnika) ako ne postoje takvi brojevi. Ispisani brojevi moraju biti celi nenegativni brojevi.
Evo kod i pitanje.
Zasto kad unesem 2 broja da im je zbir jednak Z a razlika jednaka R tj. da ispunjavaju uslov meni ispise te brojeve i "Greska"??
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int z,r,i,j;
cout<<"Unesi zbir zamisljenih brojeva ";
cin>>z;
cout<<"Unesi razliku zamisljenih brojeva ";
cin>>r;
for(i=1;i<z;i++)
for(j=1;j<i;j++)
if (i+j==z && i-j==r)
{
cout<<i<<" "<<j<<endl;
}
if (i+j!=z || i-j!=r)
{
cout<<"greska"<<endl;
}
system("PAUSE");
return 0;
}
Zato što je zadnji if uvjet van petlji i kod njega je i = z, i j = z - 1
Pozdrav, imam jedan zadatak s strukturama i pokazivacima, kod je dobro napisan al javlja nekakvu grešku s metodom ''strcpy''.
Može li mi neko reći u čemu je problem? Na drugom kompjuteru isti kod radi bez problema.
Unaprijed hvala.
VS 2013?
probaj zamjeniti strcpy sa strcpy_s
ovako:
strcpy_s(this->value, velicina+1, value);
Upozorenje ti tretira kao grešku, i nije jedina ova funkcija.
Da, VS 2013 je instaliran.
Promjenio sam ovako kako si gore napisao i radi.
Zahvaljujem!!
Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?
Da, VS 2013 je instaliran.
Promjenio sam ovako kako si gore napisao i radi.
Zahvaljujem!!
Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?
strcpy je nesigurna funkcija, pošto ne daješ u funkciju kao parametar veličinu koju kopiraš, pa su se mudrijaši iz MS-a dosjetili da više ne daju samo upozorenja, nego da to vode pod grešku, odnosno da compiler odbija prevesti kod.
Kao što možeš pročitati, to se može isključiti, ali ja nisam to napravio ni probao, jer se ne želim riješiti warningsa.
Da, VS 2013 je instaliran.
Promjenio sam ovako kako si gore napisao i radi.
Zahvaljujem!!
Ima li neki razloz zašto ''strcpy'' neće ili je to mozda do Visual Studia?
strcpy je nesigurna funkcija, pošto ne daješ u funkciju kao parametar veličinu koju kopiraš, pa su se mudrijaši iz MS-a dosjetili da više ne daju samo upozorenja, nego da to vode pod grešku, odnosno da compiler odbija prevesti kod.
Kao što možeš pročitati, to se može isključiti, ali ja nisam to napravio ni probao, jer se ne želim riješiti warningsa.
Aha, necu ni ja iskljucivati, kao što kazes bolje ostaviti upozorenja.
Pozdrav, imam jedan zadatak s strukturama i pokazivacima, kod je dobro napisan al javlja nekakvu grešku s metodom ''strcpy''.
Može li mi neko reći u čemu je problem? Na drugom kompjuteru isti kod radi bez problema.
Unaprijed hvala.
Tvoj kod inace ima niz nedostataka. Mozda ce ispast kao da gnjavim na pocetnickim stvarima, no ako vec ucis, onda bolje ucit pravilno.
Jedini ozbiljni je memory leak: alociras memoriju s new, a nikad ju ne brises. Trebao bi imat destrutor i delete[] Value u njemu.
Ostalo su stilske primjedbe: nije potrebno koristit kljucnu rijec 'this' u implementaciji funkcije, neki compileri ce dati i warning. Ja bih odmah prigovorio da na poslu vidim da mi to netko koristi.
Isto tako stavljanje atributa kao public clanova nije u duhu OOP-a. Ovako ti ove metode uopce nisu trebale bit u klasi...
Zna li itko postoji li kakav program/ili ga zna napraviti koji mi omogućuje da se pc gasi nakon 1 sata korištenja s time da odlaskom u sleep mogu pauzirati odbrojavanje i buđenjem iz sleepa nastaviti?
Evo sam ti u C++ -u kodirao prilično simple shut_down program.
Znači obavlja što si naveo u postu , gasi mašinu nakon što zadaš za koliko minuta da to učini.
u svakom trenu možeš vidjeti koliko je sekundi ostalo do shut down-a pa promjeniti tajming za gašenje ukoliko ti zadano vrijeme ne odgovara.
napomena:
Program je rađen alatima Qt 5.2.1 + mingw48_32 tako da sam ti potrpao sve za rad programa neopodne dll-ove.
Uploadao sam na datafilehost koji je naveden na http://www.bug.hr/forum/topic/programiranje/dijeljenje-svojih-uradaka-drugima/65886.aspx?page=0&jumpto=1212233&sort=asc&view=flat
link : http://www.datafilehost.com/d/d4f102f1
Pozdrav.
mozeli pomoc????
Napišite program, koji se sa korisnikom igra igre Blackjack sa kockama. Pri toj igri dva igraca izmjenično bacaju kocku i pokusavaju zbrati 21 tacku. Igrac moze kocku baciti vise puta,ali samo dotle da ne predje 21 tacku. Moze odustati ranije. isti, koji je bliže broju 21, dobije 2 tacke. ako je rezultat jednak, dobiju svaki 1 tacku.Ukoliko igrač prelazi 21 tacku pobjedio je drugi player. Ako su oba premašila 21-tacku jednako je.Igra se ponavlja 6 puta, a oni koji prikupe najviše bodova je konačan pobjednik.Korisnik uvijek baca prvi, računar ne sme varati, ali uvijek mora igrati, tako da kad postigne 18 bodova ili više odustaje ranije,a prije nikada ne odustaje.Program bi trebao proglasiti pobjednika u igri. Evo primjer:
IGRA BLACKJACK
Pozdravljeni!
Igrati cemo 6 igara.
Igra broj 1
Trenutni rezultat je 0 protiv 0
Bacio si 5.
Trenutno imas 5 tacki. Dali ces bacati kocku [D/N]: D
Bacio si 3.
Trenutno imas 8 tacki. Dali ces bacati kocku [D/N]: D
Bacio si 6.
Trenutno imas 14 tacki. Dali ces bacati kocku [D/N]: D
Bacio si 6.
Trenutno imas 20 tacki. Dali ces bacati kocku [D/N]: N
sada ja bacam kocku.
bacio sam: 2,6,4,4,3
Dosegao sam 19 tacki.
pobjedio si ti. Dobijes 2 tacki.
Igra broj 2
Trenutni rezultat je 2 protiv 0 za tebe
bacio si si 3.
...
...
sve igre su zavrsene. Konacni rezultat je 7 protiv 5 za tebe.
CESTITAM. TI SI POBIJEDNIK!
OVO JE KOD KOJEG MOZEMO UPOTRJEBITI:
Funkcija vnosChar {
procitaj unos i vrati jedno slovo
}
Funkcija vnosInt {
procitaj unos i vrati jedan broj
}
Glavni program {
inicializiraj generator slucajnih brojeva
postavi broj tacki oba igraca na 0
izpisi pozdrav i uvodna pojasnila
ponavljaj 6 puta {
izpisi trenutno stanje tacki
postavi korisnikove tacke na 0
ponavljaj, dokad korisnik zeli {
izaberi broj i ispisi ga
izpisi trenutnu svotu
pitaj dali zeli korisnik jos igrati
}
postavi racunarove tacke na 0
ponavljaj, dotad kad je tacki manje od 18 {
izaberi i izpisi broj
}
izpisi racunarov rezultat
odredi pobjednika i azuriraj broj tacki
}
rezultatno pogledano proglasi pobjednika
}
Pozdrav,
Zna netko kako pretvoriti dekadski zapis ASCII koda u char varijablu
(imam problem s arduinom koji preko bluetootha prima dekadski zapis kad mu posaljem preko mobitela F on mi na LCD ispise ASCII broj,
sad predpostavljam da bi trebala biti ista naredba posto se Arduino programiranje bazira na c++)
(Saljem tu jer vidim da u arduino temi odgovor na svako pitanje dosao tjedan dana kasnije, googlanje ne poaze nazalost)
Hvala unaprijed.
Evo, upravo sam se sjetio kako sam ispisivao prije na LCD znak stupnja i ovo funkcionira na isi nacin:
x=Serial.read();
lcd.setCursor(0, 1);
lcd.print((char)x,1);
(x mora biti int jer inace ne funkcionira)
Naredba goto neradi. U čemu je problem? Može li prerada koda da se ne mora koristiti goto, ali da prima samo d ili n kao odgovor. Može li se getch () izbjeć?
Probaj ovako:
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
int m;
char odg;
cout << "Upisi broj mjeseca: ";
cin >> m;
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout << "Mjesec ima 31 dan\n";
break;
case 4:
case 6:
case 9:
case 11:
cout << "Mjesec ima 30 dana\n";
break;
case 2:
cout << "Je li prijestupna godina? (d/n) ";
do
{
cin >> odg;
odg = tolower(odg);
if (odg == 'n')
cout << "Veljaca ima 28 dana\n";
else if (odg == 'd')
cout << "Veljaca ima 29 dana\n";
}
while (odg != 'd' && odg != 'n');
break;
}
return 0;
}
getch se može izbjeći ako program pokrećeš u IDE-u koji može pauzirati konzolni prozor nakon što se izvršavanje završi. U suprotnom ti trebaš nekako zadržati program da se konzolni prozor odmah ne zatvori (kao što si napravio sa getch).
Moze objasnjenje ovih 5-6 linija koda?
Nesto cu i ja napisati pa ispravite ako je krivo.
#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;
int main()
{
ofstream izlaz; //deklaracija izlaznog toga izlaz
izlaz.open("dat.bin",ios::binary | ios::app); //otvaranje datoteke dat.bin u binarnom obliku
int p[]={3, 5, 1, 6}; //polje od 4 broja
izlaz.write((char*)&p, sizeof(p)); // ???
izlaz.close(); //zatvaranje datoteke
return 0;
}
Prvo pogledaj prototip metode write.
Dakle možemo vidjeti da write ima dva parametra, prvi je deklariran kao pokazivač na char, a drugi kao int.
Prvi argument koji ćeš proslijediti metodi write govori gdje se u memoriji nalaze charovi koje želiš zapisati u stream (memorijska adresa), dok drugi argument govori funkciji koliko tih charova želiš zapisati (odnosno koliko je niz dug) u stream.
Ako pogledaš spornu liniju koda vidjet ćeš da se prvo uzima adresa prvog elementa polja 'p' i potom se ta memorijska adresa casta u char pointer baš kao što metoda write i zahtjeva. Drugi argument je sizeof operator primijenjen na polje 'p'. Budući da sizeof operator vraća veličinu u bajtovima neke varijable (u ovom slučaju polja), dobit ćeš količinu bajtova koje to polje zauzima u memoriji. A kako je 1 char = 1 bajt tako si automatski dobio duljinu u charovima.
U C-u i C++-u char tip se koristi za pristup memoriji na razini bajtova, stoga ćeš često vidjeti da se char koristi i za stvari koje nemaju veze sa tekstom, ponekad je to prikriveno iza nekakvog typedefa ali sve je to isti drek.
Btw. jesi li siguran da doista želiš vršiti append na datoteku?
Ima li kakva knjiga sa dosta zadataka i rješenjima ili nekakva stranica?
Ima li kakva knjiga sa dosta zadataka i rješenjima ili nekakva stranica?
LINK. Na kraju knjige ima oko 90 rješenih zadataka. Pokušaj u knjižari posuditi i sl.
/*Napisati C program koji s tipkovnice ucitava realni broj.
Potrebno je izracunati te na ekran ispisati binarni zapis tog
realnog broja u 32-bitnom registru pomocu funkcije*/
#include <stdio.h>
#include <conio.h>
void dec_bin (int n);
int main () {
int dec;
scanf("%d", &dec);
dec_bin(dec);
getchar();
return 0;
}
void dec_bin(int n){
int i,binarni[32];
for(i=0;i<32;i++){
binarni[i]=n%2;
n=n/2;
}
for(i=32;i>=0;i--){
printf("%d", binarni[i]);
}
}
Sve radi dobro, ali zašto mi prije binarnog zapisa uvijek ispiše 32? Oo
/*Napisati C program koji s tipkovnice ucitava realni broj.
Potrebno je izracunati te na ekran ispisati binarni zapis tog
realnog broja u 32-bitnom registru pomocu funkcije*/
#include <stdio.h>
#include <conio.h>
void dec_bin (int n);
int main () {
int dec;
scanf("%d", &dec);
dec_bin(dec);
getchar();
return 0;
}
void dec_bin(int n){
int i,binarni[32];
for(i=0;i<32;i++){
binarni[i]=n%2;
n=n/2;
}
for(i=32;i>=0;i--){
printf("%d", binarni[i]);
}
}
Sve radi dobro, ali zašto mi prije binarnog zapisa uvijek ispiše 32? Oo
Druga petlja treba da ide od 31 - 0, a ne 32-0.
for(i = 32 31; i >= 0; i--){
printf("%d", binarni[i]);
}
32 se ispisivalo jer i niz binarni i varijabla i su lokalne varijable(nalaze se na stacku), a varijabla i se nalazi iza niza (ne mora uvjek biti tako, ali u tvom slučaju jest)
Tako da kad pristupaš elementu niza sa indeksom 32 ti ustvari pristupaš varijabli i koja u tom trenutku ima vrijednost 32.
P.S. u zadatku se traži ispis realnog broja, a ne cijelog
Druga petlja treba da ide od 31 - 0, a ne 32-0.
for(i = 32 31; i >= 0; i--){
printf("%d", binarni[i]);
}
32 se ispisivalo jer i niz binarni i varijabla i su lokalne varijable(nalaze se na stacku), a varijabla i se nalazi iza niza (ne mora uvjek biti tako, ali u tvom slučaju jest)
Tako da kad pristupaš elementu niza sa indeksom 32 ti ustvari pristupaš varijabli i koja u tom trenutku ima vrijednost 32.
P.S. u zadatku se traži ispis realnog broja, a ne cijelog
skuzio sam, ali hvala na pojašnjenju..a ovo za realni broj nema veze, vazno da koncept znam, lako za to :)