angelovski1
read-only
- 24 април 2012
- 3
- 0
Ако може да го дополни некој кодот така да работи со датотека . Внесените податоци да се зачувуваат во Notepad на локација D:\\CDteka.text и со секое стартување на програмата(пр. ако треба да се пребарува некој филм)податоците да се читаат од CDteka.text.
Благодарам однапред.
Кодот гласи:
#include <cstdio>
#include <string.h>
#define MAXVEL 100
struct CDa {
char naslov[30];
char reziser[30];
char glumec[30];
char zanr[15];
int godina;
};
void sortiraj(struct CDa* niza, int vel)
{
int i,j;
for (i=0; i<vel-1; i++)
for (j=i+1; j<vel; j++)
{
int nasl = strcmp(niza.naslov,niza[j].naslov);
int rez = strcmp(niza.reziser,niza[j].reziser);
int glum = strcmp(niza.glumec,niza[j].glumec);
int zan = strcmp(niza.zanr,niza[j].zanr);
if (nasl>0 || (nasl==0 && rez>0))
if (glum>0 || (glum==0 && zan>0))
{
struct CDa pom=niza;
niza=niza[j];
niza[j]=pom;
}
}
}
void vnes(struct CDa* niza, int* vel)
{
struct CDa a;
if (*vel>=MAXVEL)
{
printf("Nema mesto!\n");
return;
}
gets(a.naslov);
printf ("vnesi naslov: ");
gets(a.naslov);
printf ("Vnesi reziser: ");
gets(a.reziser);
printf ("Vnesi glumec: ");
gets(a.glumec);
printf ("Vnesi zanr: ");
gets(a.zanr);
printf("Vnesi godina na izdavanje:");
scanf("%d",&a.godina);
niza[(*vel)++]=a;
sortiraj(niza,*vel);
printf ("\n");
}
void ispis(struct CDa* niza, int vel)
{
int i;
for (i=0; i<vel; i++)
printf ("%d. Naslov:%s\n Reziser:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.naslov, niza.reziser, niza.glumec, niza.zanr, niza.godina);
printf ("\n");
}
void prebaraj(struct CDa* niza, int vel)
{
int tip,i,tel,pronadjen=0;
char prebaraj[15];
printf ("\n Vnesi 1 za prebaruvanje po naslov ,2 za reziser i 3 za glumec: ");
scanf("%d",&tip);
if (tip==1)
{
printf("Vnesi baran naslov: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.naslov)==0))
{
printf ("%d. Naslov:%s\n Reziser:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.naslov, niza.reziser, niza.glumec, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (tip==2)
{
printf("Vnesi baran reziser: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.reziser)==0))
{
printf ("%d. Reziser:%s\n Naslov:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.reziser, niza.naslov, niza.glumec, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (tip==3)
{
printf("Vnesi baran glumec: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.glumec)==0))
{
printf ("%d. Glaven glumec:%s\n Naslov:%s\n Reziser:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.glumec, niza.naslov, niza.reziser, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (pronadjen==0)
{
printf ("Ne e pronajden nieden rezultat.\n");
}
int pronajden;
if(pronajden==0)
{
printf ("Ne e pronajden nieden rezultat .\n\n");
}
printf ("\n");
}
void listanjesporedzanr(struct CDa* niza, int vel)
{
int stip,i;
char prebaraj[15];
printf ("\n Vnesi 1 za prebaruvanje po zanr: ");
scanf("%d",&stip);
if (stip==1)
{
printf("Vnesi baran zanr: ");
scanf("%s",prebaraj);
}
else
{
printf("Ne vnesvte znak 1.");
}
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.zanr)==0))
{
printf ("Filmovi spored toj zanr se: %s,\n\n", niza.naslov);
}
}
}
int main(int* argc,char *args[])
{
struct CDa imenik[MAXVEL];
int velicina=0,izbor=-1;
while (izbor!=0)
{
printf ("Pritisni 1 za vnes, 2 za ispis, 3 za prebaruvanje, 4 za listanje spored zanr, 0 za izlez : ");
scanf ("%d", &izbor);
switch (izbor)
{
case 1:
vnes(imenik,&velicina);
break;
case 2:
ispis(imenik,velicina);
break;
case 3:
prebaraj(imenik,velicina);
break;
case 4:
listanjesporedzanr(imenik,velicina);
break;
case 0:
break;
default:
printf ("Pogresen vnes !\n");
}
}
return 0;
}
Благодарам однапред.
Кодот гласи:
#include <cstdio>
#include <string.h>
#define MAXVEL 100
struct CDa {
char naslov[30];
char reziser[30];
char glumec[30];
char zanr[15];
int godina;
};
void sortiraj(struct CDa* niza, int vel)
{
int i,j;
for (i=0; i<vel-1; i++)
for (j=i+1; j<vel; j++)
{
int nasl = strcmp(niza.naslov,niza[j].naslov);
int rez = strcmp(niza.reziser,niza[j].reziser);
int glum = strcmp(niza.glumec,niza[j].glumec);
int zan = strcmp(niza.zanr,niza[j].zanr);
if (nasl>0 || (nasl==0 && rez>0))
if (glum>0 || (glum==0 && zan>0))
{
struct CDa pom=niza;
niza=niza[j];
niza[j]=pom;
}
}
}
void vnes(struct CDa* niza, int* vel)
{
struct CDa a;
if (*vel>=MAXVEL)
{
printf("Nema mesto!\n");
return;
}
gets(a.naslov);
printf ("vnesi naslov: ");
gets(a.naslov);
printf ("Vnesi reziser: ");
gets(a.reziser);
printf ("Vnesi glumec: ");
gets(a.glumec);
printf ("Vnesi zanr: ");
gets(a.zanr);
printf("Vnesi godina na izdavanje:");
scanf("%d",&a.godina);
niza[(*vel)++]=a;
sortiraj(niza,*vel);
printf ("\n");
}
void ispis(struct CDa* niza, int vel)
{
int i;
for (i=0; i<vel; i++)
printf ("%d. Naslov:%s\n Reziser:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.naslov, niza.reziser, niza.glumec, niza.zanr, niza.godina);
printf ("\n");
}
void prebaraj(struct CDa* niza, int vel)
{
int tip,i,tel,pronadjen=0;
char prebaraj[15];
printf ("\n Vnesi 1 za prebaruvanje po naslov ,2 za reziser i 3 za glumec: ");
scanf("%d",&tip);
if (tip==1)
{
printf("Vnesi baran naslov: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.naslov)==0))
{
printf ("%d. Naslov:%s\n Reziser:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.naslov, niza.reziser, niza.glumec, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (tip==2)
{
printf("Vnesi baran reziser: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.reziser)==0))
{
printf ("%d. Reziser:%s\n Naslov:%s\n Glaven glumec:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.reziser, niza.naslov, niza.glumec, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (tip==3)
{
printf("Vnesi baran glumec: ");
scanf("%s",prebaraj);
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.glumec)==0))
{
printf ("%d. Glaven glumec:%s\n Naslov:%s\n Reziser:%s\n Zanr: %s\n Godina: %d\n", i+1, niza.glumec, niza.naslov, niza.reziser, niza.zanr, niza.godina);
pronadjen=1;
}
}
}
if (pronadjen==0)
{
printf ("Ne e pronajden nieden rezultat.\n");
}
int pronajden;
if(pronajden==0)
{
printf ("Ne e pronajden nieden rezultat .\n\n");
}
printf ("\n");
}
void listanjesporedzanr(struct CDa* niza, int vel)
{
int stip,i;
char prebaraj[15];
printf ("\n Vnesi 1 za prebaruvanje po zanr: ");
scanf("%d",&stip);
if (stip==1)
{
printf("Vnesi baran zanr: ");
scanf("%s",prebaraj);
}
else
{
printf("Ne vnesvte znak 1.");
}
for (i=0; i<vel; i++)
{
if ((strcmp(prebaraj,niza.zanr)==0))
{
printf ("Filmovi spored toj zanr se: %s,\n\n", niza.naslov);
}
}
}
int main(int* argc,char *args[])
{
struct CDa imenik[MAXVEL];
int velicina=0,izbor=-1;
while (izbor!=0)
{
printf ("Pritisni 1 za vnes, 2 za ispis, 3 za prebaruvanje, 4 za listanje spored zanr, 0 za izlez : ");
scanf ("%d", &izbor);
switch (izbor)
{
case 1:
vnes(imenik,&velicina);
break;
case 2:
ispis(imenik,velicina);
break;
case 3:
prebaraj(imenik,velicina);
break;
case 4:
listanjesporedzanr(imenik,velicina);
break;
case 0:
break;
default:
printf ("Pogresen vnes !\n");
}
}
return 0;
}