Precedente :: Successivo |
Autore |
Messaggio |
marco vee Mortale devoto

Registrato: 11/05/09 22:14 Messaggi: 5
|
Inviato: 11 Mag 2009 22:28 Oggetto: Programma scritto in C che implementi una Videoteca |
|
|
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 |
|
 |
zeross Amministratore


Registrato: 19/11/08 12:04 Messaggi: 8076 Residenza: Atlantica
|
Inviato: 12 Mag 2009 00:06 Oggetto: |
|
|
A me brutalmente mi sembra che ti serva un DBMS scritto in SQL e non in C
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 |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 12 Mag 2009 00:24 Oggetto: |
|
|
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 |
|
 |
marco vee Mortale devoto

Registrato: 11/05/09 22:14 Messaggi: 5
|
Inviato: 14 Mag 2009 19:46 Oggetto: |
|
|
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 |
|
 |
zeross Amministratore


Registrato: 19/11/08 12:04 Messaggi: 8076 Residenza: Atlantica
|
Inviato: 14 Mag 2009 20:16 Oggetto: |
|
|
Ma solo a titolo di curiosità che compilatore usi? |
|
Top |
|
 |
marco vee Mortale devoto

Registrato: 11/05/09 22:14 Messaggi: 5
|
Inviato: 14 Mag 2009 20:48 Oggetto: |
|
|
uso dev-C++.. la versione 4.9.9.2 |
|
Top |
|
 |
freemind Supervisor sezione Programmazione


Registrato: 04/04/07 21:28 Messaggi: 4643 Residenza: Internet
|
Inviato: 14 Mag 2009 20:54 Oggetto: |
|
|
Usa il bbcode "code" quando posti del codice! |
|
Top |
|
 |
|