#include <stdio.h> #include <string.h> #define MS 5 #define MAX 15 typedef struct _Ksiazka { char tytul[MS]; char autor[MS]; int rokw; int status; } Ksiazka;
Ksiazka mojeksiazki[MAX]; void tworz(Ksiazka *k, char *t, char *a, int r); void wstawnowy(Ksiazka *gdzie, Ksiazka *co); void zero(Ksiazka *k, char *t, char *a, int r, int s); void usun(Ksiazka *gdzie, Ksiazka *co);
int main() { Ksiazka mk1,mk2; tworz(&mk1,"c","ktos",2008); zero(&mk1,mk1.tytul,mk1.autor,mk1.rokw,mk1.status); printf ("%s\n%s\n%d\n%d",mk1.tytul,mk1.autor,mk1.rokw,mk1.status); //wstawnowy(mojeksiazki, mk1); return 0; }
void tworz(Ksiazka *k, char *t, char *a, int r) { strcpy((*k).tytul ,t); strcpy((*k).autor ,a); (*k).rokw=r; }
void zero(Ksiazka *k, char *t, char *a, int r, int s) { memset((*k).tytul, (int)'#', MS); (*k).tytul[MS-1]=0; memset((*k).autor, (int)'#', MS); (*k).autor[MS-1]=0; (*k).rokw=0; (*k).status=0; }
void wstawnowy(Ksiazka *gdzie, Ksiazka *co) { int licznik; for (licznik=0;licznik<=MAX;licznik++) { if (gdzie[licznik].status == 0) //if (*(gdzie+i).status[licznik] == 0) { //co[0].tytul strcpy(gdzie[licznik].tytul,(*co).tytul); strcpy(gdzie[licznik].autor,(*co).autor); gdzie[licznik].rokw = (*co).rokw; gdzie[licznik].status = 1; }//if } //for } //end
void usun(Ksiazka *gdzie, Ksiazka *co) { int licznik; for (licznik=0;licznik<=MAX;licznik++) { if ((gdzie[licznik].tytul == (*co).tytul) && (gdzie[licznik].autor == (*co).autor) && (gdzie[licznik].rokw == (*co).rokw)) { gdzie[licznik].status = 0; } } }
podobno działa :P
|