Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
Programma scritto in C che implementi una Videoteca
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
marco vee
Mortale devoto
Mortale devoto


Registrato: 11/05/09 22:14
Messaggi: 5

MessaggioInviato: 11 Mag 2009 22:28    Oggetto: Programma scritto in C che implementi una Videoteca Rispondi citando

Il programma deve soddisfare almeno i seguenti requisiti minimi:
- Visualizzare l'intera videoteca o parte di essa.
- Gestire la possibilità d'inserire varie tipologie di video:
# Film
# Musicali
# Documentari
- Gestire tramite menù le seguenti operazioni sui video:
# Inserimento
# Cancellazione
# Modifica
# Ricerca
- Contemplare per ogni video, a seconda della tipologia, almeno i seguenti campi:
# Titolo
# Attori
# Cantante
# Regia
# Anno
# Genere


SONO NELLA ***** PIù MARRONE CHE POSSIATE IMMAGINARE..QUALCUNO Sà DOVE POSSO TROVARE QUALCOSA GIA FATTO O POTETE AIUTARMI???? VI PREGO...........:'(
Top
Profilo Invia messaggio privato
zeross
Amministratore
Amministratore


Registrato: 19/11/08 12:04
Messaggi: 8076
Residenza: Atlantica

MessaggioInviato: 12 Mag 2009 00:06    Oggetto: Rispondi citando

A me brutalmente mi sembra che ti serva un DBMS scritto in SQL e non in C Confused

Io avevo fatto nel passato un programma del genere, per gestire però una biblioteca, ma non scritto in C, bensi si appoggiava ad un Database con interfacce scritte in java e visual basic.

Però era stato un lavoro lungo ( circa dieci mesi) causa anche i continui cambi di idea.

per quando ti serve questo progetto?
Top
Profilo Invia messaggio privato MSN
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 12 Mag 2009 00:24    Oggetto: Rispondi citando

Devi mica prepare un esame?
Per quanto non sia un'impresa dell'altro mondo, scrivere qui l'intero programma che chiedi non è cosa da poco.
Negli esempi classici di introduzione al C dovresti trovare qualche cosa.
Inoltre non hai specificato:
- dove i dati verranno salvati (disco, ram etc...)
- il compilatore!!! C è troppo generico
- grafico, testo?

Comunque, ipotizzando l'uso di un archivio su file (sequenziali)
un'idea al volo secondo me potrebbe essere:

- tramite strutture definisci il tipo Video che tra i vari campi avrà un titolo, un tipo, il regista e tutte le altre info e ipotizzeremo il titolo (anche se non è molto corretto) la chiave.

- il programma parte con il menù principale dal quale scegli se:
- creare una categoria
- cancellare una categoria
- inserire un video
- cancellare un video
- la modifica
- la ricerca

Se si decide per un nuovo video allora il programma dovrà chiedere tutte le info richieste ed eventualmente far apparire un elenco di categorie possibile (caricate da file e ipotizziamo ancora che la chiave sia la stringa stessa).
Una volta finito il video verrà aggiunto all'archivio binario (non ascii nè).

Se si decide per il delete allora il programma dovrà richiedere il titolo da eliminare. Se esiste, verrà tolto dal file.

Idem per la modifica.

La ricerca è un po' più complicata se vuoi far sì di ritornare eventualmente più titoli altrimenti il programma chiederà il titolo del film e leggendo i vari records dal file, se lo trovi, lo visualizzi.

Lo stesso discorso per le categorie che verranno scritte in un altro file.

Ogni operazione deve essere implementata tramite funzione in modo da poter sfruttare il codice in più punti.
Per esempio se crei una funzione per inserire i dati di un video la potrai usare sia quando crei un nuovo elemento sia quando ne modifichi uno.

Tutte le funzioni dovranno alla fine ritornare al menù principale che a sua volta è una funzione.

Però non mi chiedere di scriverti tutto il codice, te lo dico subito...
Top
Profilo Invia messaggio privato
marco vee
Mortale devoto
Mortale devoto


Registrato: 11/05/09 22:14
Messaggi: 5

MessaggioInviato: 14 Mag 2009 19:46    Oggetto: Rispondi citando

questo è quello che sono riuscito a fare... mi serve un'aiuto:
1] come faccio a ceare da "cerca video" un sottomenù che una volta cercato il video mi faccia:
1) modificare le info
2) eliminare il video

2] quando inserisco il nome del video ed è un nome di più parole, mi slitta la seconda parola all'autore

grazie!
__________________________________

Codice:
#include <iostream>
#include <string.h>
#include <fstream>
#include <windows.h>

using namespace std;

void Inizio();
void Inizioo();
void InserimentoVIDEO();
void ConsultaFile();
void CercaVIDEO();
void CreaFile();
void CancellaFile();
void Uscita();

int NumeroVIDEO;
int i=0;
char NomiVIDEO[100];
char NomiAutori[100];
int Anno;
char risposta[100];
char Genere;


struct VIDEO
{
   char TitoloVIDEO[100];
   char Autore[100];
   int Prezzo;
   int DataPubblicazione;
   char Genere;
};

VIDEO Inserimento[100];


main()
{
   char a='s';
   
   system("Color FC");
   Inizio();
   _sleep(2000);
   
   do{
   system("CLS");
   Inizioo();
   cout << endl;
    int menu;

   cout << "1.Aggiungere VIDEO nella lista " << endl;
   cout << "2.Consultare la lista " << endl;
   cout << "3.Cancellare la lista " << endl;
   cout << "4.Cerca VIDEO " << endl;
   cout << "5.Uscita " << endl;
   cin >> menu;

   switch(menu)
   {
   case 1:
      {   
         system("CLS");
         Inizioo();
         InserimentoVIDEO();
      }
      break;
   case 2:
      {
         system("CLS");
         Inizioo();
         ConsultaFile();
      }
      break;
   case 3:
      {
         system("CLS");
         Inizioo();
         CancellaFile();

      }
      break;
   case 4:
      {
         CercaVIDEO();
      }
      break;
   case 5:
      {
         Uscita();
      }break;
   default:
      cout << "Scelta non consentita " << endl;
   }

   cout << endl;
   cout << "Vuoi uscire dal programma? (s/n) " << endl;
   cin >> a;
   }while(a=='n');
   

   
}

void Inizio()
{
   cout << "               = ";
   _sleep(500);

   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
      
   cout << " = " << endl;
   _sleep(500);

   cout << "             =      ";
   cout << "Videoteca";
   _sleep(700);
   
   cout << "      = " << endl;

   cout << "               = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = ";
   _sleep(500);
   
   cout << " = " << endl;
   _sleep(500);

   cout << endl;
   cout << "Caricamento file in corso ";
   cout << ".";
   _sleep(700);
      cout << ".";
   _sleep(700);
      cout << ".";
   _sleep(700);
      cout << ".";
   _sleep(700);
   
}
void Inizioo()
{
   cout << "                = = = = = = = = =  "<< endl;
   cout << "              =      Videoteca     = " << endl;
   cout << "                = = = = = = = = = " << endl;
   cout << endl;
}
void ConsultaFile()
{
   FILE*puntafile;
   char c;
   puntafile=fopen("Videoteca.txt","r");
   if(puntafile!=NULL)
   {
      c=fgetc(puntafile);
      while(c!=EOF)
      {
         putchar(c);
         c=fgetc(puntafile);
      }
      fclose(puntafile);
   }
   else
   {
      cout << "Il file non esiste." << endl;
   }
}
void CancellaFile()
{
   FILE*puntafile;
   char c;
   puntafile=fopen("Videoteca.txt","r");
   if(puntafile!=NULL)
   {
      c=fgetc(puntafile);
      while(c!=EOF)
      {
         putchar(c);
         c=fgetc(puntafile);
      }
      fclose(puntafile);
      system("DEL Videoteca.txt");
      cout << "Il file e' stato rimosso con successo " << endl;
   }
   else
   {
      cout << "Il file non esiste." << endl;
   }
}
void Uscita()
{
   system("EXIT");
}
void InserimentoVIDEO()
{
   system("cls");
   Inizioo();

   cout << "Quanti VIDEO vuoi inserire? " << endl;
   cin >> NumeroVIDEO;

   system("cls");

   

   for(i=0; i<NumeroVIDEO; i++)
   {
      system("cls");
      Inizioo();
      cout << "Inserisci il nome del "<< i+1 << " VIDEO " << endl;
      cin >> Inserimento[i].TitoloVIDEO;
      cout << "Inserisci l'autore del VIDEO " << endl;
      cin >> Inserimento[i].Autore;
      cout << "Inserisci l'anno di pubblicazione del VIDEO " << endl;
      cin >> Inserimento[i].DataPubblicazione;
      cout << "Inserisci il prezzo del VIDEO " << endl;
      cin >> Inserimento[i].Prezzo;
   }
   system("CLS");
   Inizioo();
   _sleep(1500);
   cout << "La lista e' stata creata con successo " << endl;
   CreaFile();
}
void CreaFile()
{
   ofstream out("Videoteca.txt", ios::app);

   out << "       ***************** " << endl;
   out << "     *     VIDEOTECA     *" << endl;
   out << "       ***************** " << endl;
   out << endl;
   for(i=0; i<NumeroVIDEO; i++)
   {
      out << "========================" << endl;
      out << "Nome VIDEO: " << Inserimento[i].TitoloVIDEO << endl;
      out << "Autore VIDEO: " << Inserimento[i].Autore << endl;
      out << "Pubblicazione: " << Inserimento[i].DataPubblicazione << endl;
      out << "Prezzo: " << Inserimento[i].Prezzo << " euro" << endl;
      out << "========================" << endl;
   }
}
void CercaVIDEO()
{   
   system("cls");
   Inizioo();
   
   int Ricerca;
   
   cout << "Ricerca VIDEO per: " << endl;
   cout << endl;
   cout << "1.Nome " << endl;
   cout << "2.Autore " << endl;
   cout << "3.Anno di pubblicazione " << endl;
   cin >> Ricerca;

   switch(Ricerca)
   {
   case 1:
      {
         system("cls");
         Inizioo();
         cout << "Inserisci il titolo del VIDEO " << endl;
         cin >> NomiVIDEO;

         system("cls");
         Inizioo();

         for(i=0;i<NumeroVIDEO;i++)
         {
            if(strcmp(NomiVIDEO,Inserimento[i].TitoloVIDEO)==0)
            {
               cout << "========================" << endl;
               cout << "Nome: " << Inserimento[i].TitoloVIDEO << endl;
               cout << "Autore: " << Inserimento[i].Autore << endl;
               cout << "Anno di pubblicazione: " << Inserimento[i].DataPubblicazione << endl;
               cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
               cout << "========================" << endl;
            }
         }

      }break;
   case 2:
      {
         system("cls");
         Inizioo();
         cout << "Iniserisci il nome dell'autore " << endl;
         cin >> NomiAutori;

         system("cls");
         Inizioo();

         for(i=0;i<NumeroVIDEO;i++)
         {
            if(strcmp(NomiAutori,Inserimento[i].Autore)==0)
            {
               
               cout << "========================" << endl;
               cout << "Nome: " << Inserimento[i].TitoloVIDEO << endl;
               cout << "Autore: " << Inserimento[i].Autore << endl;
               cout << "Anno di pubblicazione: " << Inserimento[i].DataPubblicazione << endl;
               cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
               cout << "========================" << endl;
               }
         }

      }break;
   case 3:
      {
         system("cls");
         Inizioo();
         cout << "Iniserisci l'anno di pubblicazione " << endl;
         cin >> Anno;

         system("cls");
         Inizioo();

         for(i=0;i<NumeroVIDEO;i++)
         {
            if(Anno==Inserimento[i].DataPubblicazione)
            {
               cout << "========================" << endl;
               cout << "Nome: " << Inserimento[i].TitoloVIDEO << endl;
               cout << "Autore: " << Inserimento[i].Autore << endl;
               cout << "Anno di pubblicazione: " << Inserimento[i].DataPubblicazione << endl;
               cout << "Prezzo: " << Inserimento[i].Prezzo << endl;
               cout << "========================" << endl;
               }

            }

            cout << "Vuoi eliminare questa lista? (s/n)" << endl;
            cin >> risposta;
            
            if(strcmp(risposta,"s")==0)
            {
               system("del videoteca.txt");
               cout << "La lista e' stata cancellata con successo " << endl;
            }

   
      }break;


   default:

      cout << "Scelta non consentita " << endl;
   }

}
Top
Profilo Invia messaggio privato
zeross
Amministratore
Amministratore


Registrato: 19/11/08 12:04
Messaggi: 8076
Residenza: Atlantica

MessaggioInviato: 14 Mag 2009 20:16    Oggetto: Rispondi citando

Ma solo a titolo di curiosità che compilatore usi?
Top
Profilo Invia messaggio privato MSN
marco vee
Mortale devoto
Mortale devoto


Registrato: 11/05/09 22:14
Messaggi: 5

MessaggioInviato: 14 Mag 2009 20:48    Oggetto: Rispondi citando

uso dev-C++.. la versione 4.9.9.2
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 14 Mag 2009 20:54    Oggetto: Rispondi

Usa il bbcode "code" quando posti del codice!
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi