Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{
- int anno[100];
- int mese[100];
- int giorno[100]
- }data;
- typedef struct{
- char nome_film[100];
- char regista[100];
- char nomeprestito[100];
- data dataprestito;
- }film;
- int inseriscidati(film a[], int n);
- int stampa(film a[], int n);
- int ordina(film a[], int n, int scelta);
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int main(int argc, char *argv[]) {
- int s, ndvd, r, ordine;
- film dvd[200];
- do{
- printf("1. Per inserire i dati sul dvd prestato\n");
- printf("2. Per visualizzare i dati sui dvd prestati\n");
- printf("3. Per ordinare i dvd per nome del regista o per data del prestito\n");
- scanf("%d", &s);
- switch(s){
- case 1: printf("Di quani dvd si vuole inserire i dati?\n");
- scanf("%d", &ndvd);
- r = inseriscidati(dvd, ndvd);
- break;
- case 2: printf("I dati presenti in memoria sono i seguenti:\n");
- r = stampa(dvd, ndvd);
- break;
- case 3: printf("Premere 1 se si vuole ordinare per data di prestito\n");
- scanf("%d", &ordine);
- r = ordina(dvd, ndvd, ordine);
- break;
- }
- }while(r==1);
- return 0;
- }
- int inseriscidati(film a[], int n){
- int i = 0, menu;
- for(i = 0; i < n; i++){
- printf("Inserire titolo dvd\n");
- fflush( stdin );
- gets(a[i].nome_film);
- printf("Inserire regista dvd\n");
- gets(a[i].regista);
- printf("Inserire data del prestito.\nAnno:\nMese:\nGiorno:\n");
- scanf("%d%d%d", &a[i].dataprestito.anno, &a[i].dataprestito.mese, &a[i].dataprestito.giorno);
- printf("Inserire nome del prestatario\n");
- gets(a[i].nomeprestito);
- printf("\n\n");
- }
- printf("FIne acquisizione dati\n");
- printf("Per tornare al menu' premere 1, altrimenti 0 per uscire\n");
- scanf("%d", &menu);
- return menu;
- }
- int stampa(film a[], int n){
- int i = 0, menu = 0;
- for(i=0; i<n; i++){
- printf("%s", a[i].nome_film);
- printf("%s ", a[i].regista);
- printf("%s ", a[i].dataprestito);
- printf("%s ", a[i].nomeprestito);
- printf("\n");
- }
- printf("Fine dei dati in memoria\nPer tornare al menu' premere 1, altrimenri 0 per uscire\n");
- scanf("%d", &menu);
- return menu;
- }
- int ordina(film a[], int n, int scelta){
- film blocked;
- int i, l = 0;
- if(scelta == 1){
- for(i=0; i <n; i++){
- if(a[i].dataprestito.anno > a[i+1].dataprestito.anno){
- blocked = a[i].dataprestito.anno;
- a[i].dataprestito.anno = a[i+1].dataprestito.anno;
- a[i+1].dataprestito.anno = blocked;
- }
- if(a[i].dataprestito.anno == a[i+1].dataprestito.anno && a[i].dataprestito.mese > a[i+1].dataprestito.anno){
- blocked = a[i].dataprestito.mese;
- a[i].dataprestito.mese = a[i+1].dataprestito.mese;
- a[i+1].dataprestito.mese = blocked;
- }
- if(a[i].dataprestito.anno == a[i+1].dataprestito.anno && a[i].dataprestito.mese == a[i+1].dataprestito.anno && a[i].dataprestito.giorno > a[i+1].dataprestito.giorno ){
- blocked = a[i].dataprestito.giorno;
- a[i].dataprestito.giorno = a[i+1].dataprestito.giorno;
- a[i+1].dataprestito.giorno = blocked;
- }
- stampa(a, n);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement