Πρόβλημα 1 #include <stdio.h> struct misthotos char eponymia[25]; int imerom; int meres; long mikta; long kratisis; long foros; long kathara; ; /* end of struct */ main() int i; long sum=0; struct misthotos mist[10]; for (i=0; i<10; i++) printf("\nδώστε τα στοιχεία του %dου μισθωτού : ", i); printf("\nονοματεπώνυμο : "); scanf("%s", mist[i].eponymia); printf("\nημερομίσθιο : "); scanf("%d", &mist[i].imerom); printf("\nμέρες εργασίας : "); scanf("%d", &mist[i].meres); mist[i].mikta = (long) mist[i].imerom * (long) mist[i].meres; mist[i].kratisis = (long) mist[i].mikta * 0.2; mist[i].foros = (long) (mist[i].mikta - mist[i].kratisis) * 0.05; mist[i].kathara = mist[i].mikta - mist[i].kratisis - mist[i].foros; sum += mist[i].kathara; /* end of for */ printf("\nτο σύνολο των καθαρών αποδοχών είναι : %ld", sum);
scanf("%d", &i); /* end of main */
Πρόβλημα 2 #include <stdio.h> struct apothiki int kodikos; char perigrafi[20]; int timi; int posotita; int stock; ; /* end struct */ main() int i; long sum=0l; /* συνολική αξία της αποθήκης */ struct apothiki apoth[10]; /* δήλωση πίνακα από δομές */ struct apothiki *p_apoth; /* δήλωση δείκτη σε δομή */ clrscr(); for(i=0; i<10; i++) p_apoth = &apoth[i]; /* πού δείχνει ο δείκτης */ printf("\n\nστοιχεία %dου είδους : ", i); printf("\nδώσε κωδικό : "); scanf("%d", &p_apoth->kodikos); printf("\nδώσε περιγραφή : "); scanf("%s", p_apoth->perigrafi); printf("\nδώσε τιμή : "); scanf("%d", &p_apoth->timi); printf("\nδώσε ποσότητα : "); scanf("%d", &p_apoth->posotita); printf("\nδώσε stock ασφαλείας : "); scanf("%d", &p_apoth->stock); if ((p_apoth->posotita) < (p_apoth->stock)) printf("\nπαραγγελία από το : %s", p_apoth->perigrafi);
sum += (long)(p_apoth->timi)*(long)(p_apoth->posotita); /* end of for */ printf("\nη συνολική αξία της αποθήκης είναι : %ld", sum); scanf("%d", &i); /* end of main */ /* για να έχουμε πρόσβαση στα πεδία μιας δομής με τη χρήση δείκτη, μπορούμε να χρησιμοποιήσουμε τη μορφή : p_apoth->kodikos ή τη μορφή : (*p_apoth).kodikos, ενώ για να μπορούμε να διαβάσουμε με την εντολή scanf(), χρησιμοποιούμε : scanf("%d", &p_apoth->kodikos); ή scanf("%d", &(*p_apoth).kodikos); αντίστοιχα*/
Πρόβλημα 3 #include <stdio.h> #include <stdlib.h> typedef struct book int id; char book_name[50]; char author_name[50]; int date; book; void add_book(book b[10], int pos); int search_book(book b[10], int size, int searchid); int delete_book(book b[10], int size, int deleteid); void show_book(book b[10], int pos); void show_table(book b[10], int size) int menu(); int main() int choice, size,sid, pos; book b[10]; size=0; choice=menu(); while(choice!= 0) if(choice==1) add_book(b,size); size++; else if(choice==2)
printf( Enter search ID : ); scanf( %d,&sid); pos=search_book(b,size,sid); if(pos == -1) printf( BOOK NOT FOUND\n ); else show_book(b,pos); else if (choice == 3) printf( Enter delete ID : ); scanf( %d, &sid); pos=delete_book(b,size, sid); if(pos == -1) printf( BOOK NOT FOUND\n ); else printf( DELETE BOOK\n ); size --; else if (choice == 4) show_table(b,size); choice=menu(); system ( pause ); return 0; //Functions int menu()
int choice; printf( \nenter your choice : \n\n ); printf( 1. Add Book\n ); printf( 2. Search Book\n ); printf( 3. Delete Book\n ); printf( 4. Show table\n ); printf( 0. Exit\n ); scanf( %d, &choice); return choice; void add_book(book b[10], int pos) printf( Enter book id : ); scanf( %d,&b[pos].id); printf( Enter book name : ); scanf( %s, b[pos].book_name); printf( Enter author : ); scanf( %s, b[pos].author_name); printf( Enter date : ); scanf( %d, &b[pos].date); void show_book(book b[10], int pos) printf( \nid : %d\n, b[pos].id); printf( Book Name : %s\n, b[pos].book_name); printf( Author : %s\n, b[pos].author_name); printf( Date : %d\n, b[pos].date); int search_book(book b[10], int size, int searchid) int i;
int flag = 0; while(i<size &&!flag) if(b[i].id == searchid) flag=1; i++; if (flag) return i-1; return -1; int delete_book(book b[10], int size, int deleteid) int pos; book temp; pos=search_book(b,size,deleteid); if( pos == -1) return -1 ; temp = b[pos]; b[pos] = b[size-1]; b[size-1] = temp ; return pos; void show_table(book b[10], int size) int i; printf( \nbooks\n ); for(i=0; i<size; i++) show_book(b, i); printf( \n\n );