Professional Documents
Culture Documents
VoP2 Vezbi.pred1kol.2015
VoP2 Vezbi.pred1kol.2015
www.ramona-markoska.info
03.2015
9.
,
,
:.
.14.-
.
,
,
,
,
,
.
,
,
.
,
,
,
.
7 . :
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
struct magacin
{ char ime[10];
char kategorija[15];
int parcinja;
float nabavna;
float prodazna;
};
bool proverka(string recenica)// proverka na vnes
{
if((recenica=="hrana")||(recenica=="higiena")||(recenica=="domakinstv
o"))
return true; else {printf("Pogresna kategorija, vnesete (hrana,
higiena ili domakinstvo): ");
return false;}}
void polni()
{ FILE *f;
struct magacin a;
f=fopen("magacin.txt","a+");
printf("Vnesi ime na proizvod :");
scanf("%s",&a.ime);
printf("Vnesi kategorija
:");
while (true)
{scanf("%s",&a.kategorija);
if (proverka(a.kategorija)==true) break;}
printf("Vnesi broj na parcinja :");
scanf("%d",&a.parcinja);
printf("Vnesi nabavna cena
:");
scanf("%f",&a.nabavna);
printf("Vnesi prodazna cena
:");
scanf("%f",&a.prodazna);
C++adv.
www.ramona-markoska.info
03.2015
f=fopen("magacin.txt","r");
printf("\n
Proizvod
Kategorija
Parcinja
Nab.cena
Pro.cena\n");
while (!feof(f))
{
fscanf(f,"%s %s %d %f %f \n",&a.ime,&a.kategorija,
&a.parcinja, &a.nabavna, &a.prodazna);
for(int i=0;i<m;i++)
{
if (a.kategorija[i]==bara[i])
uslov=true;
else uslov=false;}
if (uslov==true)
{printf("%d. %10s %13s %10d %10.2f %10.2f\n",reden, a.ime,
a.kategorija, a.parcinja, a.nabavna, a.prodazna);
potvrda=true;}
reden=reden+1;}
if (potvrda==false)
{printf("\n - Ne e pronajden nieden rezultat!\n",bara);}
fclose(f);
break;}}
}
int main(int argc, char *argv[])
{ int izbor=-1,n;
while (izbor!=0) {
printf ("------------------------------------------------------------------\n");
printf ("Pritisni 1 za vnes, 2 za ispis, 3 za prebaruvanje, 0 za
izlez: ");
scanf ("%d", &izbor);
printf ("------------------------------------------------------------------\n");
switch (izbor)
{
case 1:polni(); break;
case 2:ispis(); break;
case 3:{
printf("Vnesi 1 za prebaruvanje po ime, 2 za prebaruvanje po
kategorija:");
scanf("%d",&n);
prebaruvanje(n);} break;
case 0:break;
default:printf ("Pogresen vnes !\n");
}}
system("PAUSE");
return EXIT_SUCCESS;
}
! .
:
.
4
.
,
,
.
while
.
magacin
,
,
.
polni,
.
f=fopen("magacin.txt","a+");
txt.
fprintf
.
.
.
ispis,
fscanf,
.
.
.
.
.
.
.
.
5
.
.
0
.
.
magacin.txt.
C++adv.
www.ramona-markoska.info
03.2015
: .
magacin.txt
C++.
.
,
1
.
,
,
,
,
.
7
.
7
.
.
2
.
7
7
.
,
3,
,
.
,
.
.
3
.
,
.
.
.
C++adv.
www.ramona-markoska.info
03.2015
&.
.21
12
-
,
12
,
(
1,2,3...
a,b,c...).
-
4
,
()
..
8
,
).
5
.
-
4
3
,
4
.
-
4
1.5
,
3
.
.
.
5
.
0-24
5
25-32
6
32.5-27
7
37.5-40.5
8
41-45
9
45.5-50
10
7.
#include
#include
#include
#include
<string>
<iostream>
<cstdio>
<sstream>
int indeks;
int ocenka;
float poeni;
int tocniodgovori;
int gresniodgovori;
string listaTocniOdgovori;
string listagresniOdgovori;
Student *pecatiPointer; // ili
};
//Student *pecatiPointer; //!! da se komentira!
//Pecatenje na osvoenite poeni i ocenki
void pecati(struct Student* student) {
cout << "\tIme i Prezime: " << (*student).ime << endl;
cout << "\tBroj na indeks: " << (*student).indeks << endl;
cout << "\tOsvoeni Poeni : " << (*student).poeni << endl;
cout << "\tTocni odgovori: " << (*student).tocniodgovori << " "
<< (*student).listaTocniOdgovori << endl;
cout << "\tNe tocni odgovori: " << (*student).gresniodgovori <<
" - "
<< (*student).listagresniOdgovori << endl;
cout << "\tOcenka: " << (*student).ocenka << endl;
cout << " ----------------------------------" << endl;
}
int main() {
char karakter;
string bukva;
int brojNaStudenti = 1;
//Niza od Strukturi Student (ke se kreiraat 5 strukturi na
Student)
Student listaNaStudenti[brojNaStudenti];
//Pointer za polnenje na nizata od strukturi
Student *studentPointer;
studentPointer = listaNaStudenti;
//Pointer za pecatenje na nizata od strukturi
pecatiPointer = listaNaStudenti;
string listaTocniOdgovori = "";
string listaNeTocniOdgovori = "";
cout << endl;
cout << "\tTest" << endl;
cout << " ------------------------------" << endl;
for (int j = 0; j < brojNaStudenti; j++) {
//Pocetno kreiranje na Strukturata Student, ke se kreira onolku
pati kolku sto e brojot na studenti
struct Student student;
string ime;
char imePrezime[256];
int indeks;
float poeni = 0.0;
int brojNaOdgovori = 0;
int brojNaNeOdgovori = 0;
int ocenka;
//Cistenje na input stream posle prviot loop
C++adv.
www.ramona-markoska.info
03.2015
if (j >= 1) {
cin.clear();
cin.ignore();
}
cout << " Vnesete ime i prezime" << endl;
cin.getline(imePrezime, 256);
ime = imePrezime;
for (int t = 0; t < ime.size(); t++) {
char bukva = ime[t];
if (isupper (bukva) || bukva==' ');
else
//Proverka dali vnesenoto ime soodrzi samo bukvi
if (( bukva >= 0 && bukva <= 31) || (bukva >= 33 &&
bukva <= 90)
|| (bukva >= 91 && bukva <= 96)) {
cout << "Vaseto ime mora da soodrzi samo bukvi"
<< endl;
break;
}
}
cout << " Vnesete go brojot na indeks." << endl;
cin >> indeks;
//Proverva dali vrednosta vo cin e so validen tip, ako e
vraka true ako ne e false
if (cin.fail()) {
cin.clear(); //Go poprava streamot.
cin.ignore(); //ignorira posledno vnesena vrednost.
cout << "Ve molime vnesuvajte samo broevi." << endl;
indeks = 0;
}
for (int i = 1; i < 13; i++) {
if (i <= 4) {
prasanje1(i);
cin >> bukva;
karakter = bukva[0];
string odgovor;
string gresenOdgovor;
//Dokolku e soodvetna bukva A,B,C,D,E
if (proverkaNaBukvi(karakter)) {
//Dokolku e pogoden tocen odgovor (A ili B)
if ((karakter >= 65 && karakter <= 66) ||
(karakter >= 97&&karakter <= 98)) {
//Osvoeni 8 poeni
poeni = poeni + 8;
++brojNaOdgovori;
odgovor = convertInt(i) + karakter;
listaTocniOdgovori = listaTocniOdgovori + odgovor + " ";
} else
{
//Osvoeni 0 poeni
poeni = poeni + 0;
++brojNaNeOdgovori;
char tocen = 97;
10
C++adv.
www.ramona-markoska.info
03.2015
11
*studentPointer++;
}
cout << " ----------------------------------" << endl;
for (int i = 0; i < brojNaStudenti; i++) {
pecati(pecatiPointer++);
}
system("Pause");
return 0;
}
//Proverka dali vneseniot karakter e golema ili mala bukva i dali e
nekoja od slednite karakteri:A,B,C,D,E. Ako e vraka true ako ne e
false.
bool proverkaNaBukvi(char c) {
if ((c >= 65 && c <= 69) || (c >= 97 && c <= 101))
return true;
else
return false;
}
//Generiranje na prasanja vo zavisnost od redniot brojot na
prasanjeto generira 5 prasanja ili 4 prasanja.
void prasanje1(int brojNaPrasanje) {
cout << brojNaPrasanje << ".Prasanje broj " << brojNaPrasanje <<
" ?"
<< endl;
//Dokolku e prasanje od 1 do 4(Od prvo do cetvrto prasanje treba
da imaat po 5 prasanaja)
if (brojNaPrasanje >= 1 && brojNaPrasanje <= 4) {
cout << "\ta.Odgovor broj 1?" << endl;
cout << "\tb.Odgovor broj 2?" << endl;
cout << "\tc.Odgovor broj 3?" << endl;
cout << "\td.Odgovor broj 4?" << endl;
cout << "\te.Odgovor broj 5?" << endl;
}
//Dokolku e prasanje od 5 do 8(Od sesto do dvanaesetto prasanje
treba da imaat po 4 prasanaja)
else if (brojNaPrasanje >= 5 && brojNaPrasanje <= 8) {
cout << "\ta.Odgovor broj 1?" << endl;
cout << "\tb.Odgovor broj 2?" << endl;
cout << "\tc.Odgovor broj 3?" << endl;
cout << "\td.Odgovor broj 4?" << endl;
}
//Dokolku e prasanje od 9 do 12(Od sesto do dvanaesetto prasanje
treba da imaat po 3 prasanaja)
else if (brojNaPrasanje >= 9 && brojNaPrasanje <= 12) {
cout << "\ta.Odgovor broj 1?" << endl;
cout << "\tb.Odgovor broj 2?" << endl;
cout << "\tc.Odgovor broj 3?" << endl;
}
}
//Konvertiranje na integer vo string, kako vo vizuelni jazici
string convertInt(int number) {
stringstream ss;
12
C++adv.
www.ramona-markoska.info
03.2015
ss << number;
return ss.str();
}
:.
&.
11.
1
Notepad,
,
,
,
,
.
:
1.
2
.
2.
:
.
2
.
Y,Z,
,B
.
.
.
9
0,
0
9.
.
3.
.
4.
300
,
.
13
7.
&.
:
4
,
9
0.
.
(
,
).
Notepad
.
1.
,
.
2.
.
3.
3
(
6
).
,
.
7.
#include
#include
#include
#include
#include
<cstdlib>
<iostream>
<fstream>
<ctime>
<string>
14
C++adv.
www.ramona-markoska.info
15
03.2015
if((aski>47)&&(aski<58))
{stringot=stringot+cifri[i];}
}
fclose(f);
ofstream outFile;
outFile.open("C:\\cifri.txt");
outFile<<stringot;
outFile.close();
}
:.
16
C++adv.
www.ramona-markoska.info
03.2015
17