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
cassaforte
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 05 Apr 2009 19:15    Oggetto: cassaforte Rispondi citando

ciau ho un problema devo consegnare un programma di sistemi per la scuola devo fare una cassaforte che quando si mette il codice esatto si apre..io la grafica l'ho fatta il problema è che non so
1)come faccio a inserire il codice in un preciso punto
2)come posso fare a far aprire lo sportellino della cassaforte facendolo scorrere
si accettano aiutini grazieee ah questo è il programma..è con borland c


Codice:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int left, top, right, bottom;
  /* int midx, midy;
   int radius = 15; */
   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "c:\\borlandc\\bgi");

   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }

   left = getmaxx() / 2 -290;
   top = getmaxy() / 2 - 200;
   right = getmaxx() / 2 + 290;
   bottom = getmaxy() / 2 + 230;
 /*  midx = getmaxx() / 4;
   midy = getmaxy() / 3;      */
   setcolor(getmaxcolor());
   /* draw a rectangle */

   rectangle(left,top,right,bottom);
   rectangle(45,449,372,80);     
   line(80,190,80,80);   
   line(371,170,81,170);
   line(371,206,45,206);
   line(46,206,82,170); 

   line(80,300,80,80);   
   line(371,280,81,280);   
   line(371,316,45,316);   
   line(46,315,82,279);   

   line(371,410,80,410);
   line(46,446,82,410);
   line(80,450,80,80);




   rectangle(381,380,590,50);   
   rectangle(390,90,580,60);   
   rectangle(400,145,440,110);
   rectangle(460,145,500,110);   
   rectangle(520,145,560,110);   
   rectangle(400,205,440,170);   
   rectangle(460,205,500,170);   
   rectangle(520,205,560,170); 
   rectangle(400,265,440,230);   
   rectangle(460,265,500,230);   
   rectangle(520,265,560,230);   

   rectangle(460,325,500,290);   
   rectangle(420,370,540,338);

   settextstyle(6,0,1);
   outtextxy(415,114,"1");
   outtextxy(475,114,"2");
   outtextxy(535,114,"3");
   outtextxy(415,174,"4");
   outtextxy(475,174,"5");
   outtextxy(535,174,"6");
   outtextxy(415,234,"7");
   outtextxy(475,234,"8");
   outtextxy(535,234,"9");
   outtextxy(475,294,"0");
   outtextxy(456,336,"Invio");



   /* clean up */
   getch();
   closegraph();
   return 0;
}
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 05 Apr 2009 22:47    Oggetto: Rispondi citando

Ciao,
prima di tutto avremmo bisogno di sapere come l'utente dovrà interagire con il programma.
Deve inserire da qualche parte la stringa contenente la combinazione?
Deve cliccare sui numeri?
Nel secondo caso sarebbe un bel casino programmare la gestione del mouse in ambiente dos (non è impossibile anche se molto laborioso a meno di trovare delle librerie già pronte, le mie sono andate perdute secoli fa).

E' moltissimo che non programmo grafica a basso livello in c, devo cercare un po' in rete qualche manualetto.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 06 Apr 2009 15:26    Oggetto: Rispondi citando

guarda le funzioni per scrivere del testo in modo grafico, a partire da outtextxy

ops, mi sa che ho capito male la domanda... Embarassed
Top
Profilo Invia messaggio privato HomePage
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 06 Apr 2009 16:32    Oggetto: Rispondi citando

SverX ha scritto:
guarda le funzioni per scrivere del testo in modo grafico, a partire da outtextxy

ops, mi sa che ho capito male la domanda... Embarassed

In realtà non hai capito male.
Il problema oltre all'interazione con l'utente è quello di rendere scorrevole parte del disegno.
In ogni caso il codice che ha scritto dovrà essere rivisto completamente.
Non mi ricordo le funzioni ma occorrerà copiare "lo sportellino" della cassaforte in una porzione di memoria e sovrapporlo al resto.
Poi se la combinazione inserita (indipendentemente dal modo) è corretta allora si farà scorrere lo sportello cambiano le coordinate orizzontali del rettangolo che lo rappresenta.
Top
Profilo Invia messaggio privato
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 07 Apr 2009 22:12    Oggetto: Rispondi citando

sopra la cassaforte deve uscirescritto inserisci la combinazione e qnd metto i numeri sul tastierino cambiano colore x esempio metto 3 e si illumina il numero 3 il mouse nn serve ank xk nn l'abbiamo ancora fatto
cmq la cosa ke nn so prpr fare è come faccio a far illuminare sul tastierino i numeri quando metto la combinazione
avevo pensato allo switch e mettere i 10 casi cioè se spingo 1 si illumina sul tastierino 1 se spingo 2 si illumina sul tastierino il numero due....e cosi via...il problema ke a parole so cosa devo fare ma a fatti non ci riesco se mi potete dare una mano....
comunque per quanto riguarda l'utente che interagisce con la cassaforte praticamente è cosi sopra la cassaforte deve uscir scritto inserisci la combinazione l'utente mette la combinazione se è giusta si apre lo sportellino altrimenti esce scritto sopra la cassaforte inserire nuvamente la combinazione
Top
Profilo Invia messaggio privato
mdweb
Dio maturo
Dio maturo


Registrato: 18/12/07 16:59
Messaggi: 4412

MessaggioInviato: 07 Apr 2009 22:27    Oggetto: Rispondi citando

carta e penna Wink

Quando programmi aiutati con un blocco note quello che devi programmare prova a 'disegnartelo' su un foglio di carta
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 08 Apr 2009 11:30    Oggetto: Rispondi citando

miao ha scritto:
cmq la cosa ke nn so prpr fare è come faccio a far illuminare sul tastierino i numeri quando metto la combinazione
avevo pensato allo switch e mettere i 10 casi cioè se spingo 1 si illumina sul tastierino 1 se spingo 2 si illumina sul tastierino il numero due


direi che lo switch va bene. Per "illuminare" il tasto prova a disegnare sopra un tasto uguale ma di colore più scuro, con dentro il numero invece di colore più chiaro, o magari in rosso acceso... aspetti mezzo secondo (o anche un po' meno, 300 ms) e ridisegni il tasto originale. L'effetto dovrebbe essere buono Smile
Top
Profilo Invia messaggio privato HomePage
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 11 Apr 2009 12:25    Oggetto: Rispondi citando

mmm okok ma come si fa ad aspettare 300ms per far tornare il rettangolo di prima?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 11 Apr 2009 17:17    Oggetto: Rispondi citando

Dipende un po' dal compilatore e dalla versione, potresti provare con:
Codice:

#include <time.h>

int main()
{
    long nMillis = 300;
    msleep(nMillis);
}

msleep() riceve il numero di ms durante i quali interrompere l'esecuzione del programma.
Se non funziona, dovresti avere a disposizione la funzione delay() che riceve il numero di ms ma non mi ricordo in che libreria dovrebbe stare.
Top
Profilo Invia messaggio privato
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 11 Apr 2009 19:58    Oggetto: Rispondi citando

e poi non so nemmeno come far scorrere lo sportello della cassaforte qnd metto la combinazione esatta
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 11 Apr 2009 20:17    Oggetto: Rispondi citando

Ok, piano un minuto!
mspleep() o delay() funzionano?
Top
Profilo Invia messaggio privato
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 12 Apr 2009 18:45    Oggetto: Rispondi citando

sisi
Top
Profilo Invia messaggio privato
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 12 Apr 2009 18:53    Oggetto: Rispondi citando

potete cancellare il post per favore dei miei compagni girano per internet e se me lo copiano prendo due
per favore
Top
Profilo Invia messaggio privato
miao
Mortale devoto
Mortale devoto


Registrato: 04/04/09 15:45
Messaggi: 11

MessaggioInviato: 12 Apr 2009 22:44    Oggetto: Rispondi citando

miao ha scritto:
potete cancellare il post per favore dei miei compagni girano per internet e se me lo copiano prendo due
per favore



se nn volete cancellare il post togliete almeno il programma grazie
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 13 Apr 2009 01:40    Oggetto: Rispondi citando

Ciao,
sinceramente è una richiesta anomala, stiamo valutando la cosa.
Voglio essere sincero però: io personalmente sono contrario alla cosa.
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 13 Apr 2009 11:49    Oggetto: Rispondi citando

Ciao miao,
devo informarti che il tuo post resta, abbiamo valutato che non c'è motivo per cui debba sparire.
Sto scrivendo qui pubblicamente la cosa e non direttamente a te in pvt perchè tu stessa hai fatto la richiesta qui in pubblico.

Mi spiace ma per rispetto di tutti non faremo saltare il tuo post.
Top
Profilo Invia messaggio privato
zeross
Amministratore
Amministratore


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

MessaggioInviato: 13 Apr 2009 17:10    Oggetto: Rispondi citando

miao ha scritto:
potete cancellare il post per favore dei miei compagni girano per internet e se me lo copiano prendo due
per favore


Sò che non dovrei impicciarmi, e sicuramente faro solo danni, ma due domande sorgono spontanee.

1 ) ma non potevi pensarci prima di postare la tua richiesta che poteva verificarsi questa remota eventualità, remota perche i tuoi compagni gireranno pure su internet, ma non credo che vengano tutti sull'olimpo, a meno che non vengano per il tuo stesso motivo Twisted Evil

2 ) per quale motivo dovresti prendere due, la valutazione si basa sul fatto che tu riesca a costruire un programma funzionante ed atto allo scopo, ed il voto di 2 sarebbe nel caso che tu lo scopiazzi da un altro elaborato.
Qui invece a chiesto aiuto, aiuto che potresti ricevere anche dalla lettura di un testo univeristario che fornisce esempi di codice per eseguir determinate funzioni.
Dato che la programmazione attuale si basa sul fatto che non bisogna reinventare la ruota ogni volta e quindi ci si appoggia a programmi già scritti (librerie) per velocizzare la stesura del lavoro richiesto, pensare che sia un errore prendere spunto da idee altrui non è una buona cosa.
A te viene richiesto di essere in grado di realizzare un prodotto funzionante e funzionale, non mi pare che ti hanno posto dei limiti tipo non leggere nessun altro libro di programmazione al di fuori del mio proprio perché uno dei vantaggi della conoscenza e quello di poter essere condivisa e fruita dal maggior numero di utenti possibile.
Se tu ottieni dei suggerimenti, come quelli che hai ricevuto fino ad adesso, tu non hai ricevuto un listato bello, fatto e finito pronto all'uso, ma idee e proposte che poi tu dovrai con il tuo impengo personale e con la tua intelligenza trasformare in un programma operativo.
Se qualcuno dei tuoi famigerati compagni di classe dovesse scopiazzare parte del tuo elaborato dovrai dire al professore che sei andato su internet, e se ti chiedera perché, tu gli dirai semplicemente la verità, ovvero se andato lì per confrontare le tue idee con altri per vedere dove sbagliavi e per migliorare, visto che era impossibile farlo con i tuoi compagni di classe!
Quindi mostrandogli il tuo lavoro e i progressi che hai fatto per svilupparlo renderai evidente che tu sei l'autore originale e gli altri sono i copiatori.

Se poi il professore non dovesse capire difronte a l'evidenza dei fatti la tua buona fede, allora vuole che non è all'altezza del compito che deve svolgere.

Vorrei scusarmi con freemind, sverx e mdweb perché questo intervento non aggiunge niente allo sviluppo del programma, ma credo che un buon programmatore sia anche il ragazzo che abbia la capacità di poter prevedere le incognite che gli si parano davanti, o almeno provarci e quindi ho ritenuto che non fosse inutile di dovere sottilineare che non valgono solo ed esclusivamente le capacità tecniche ma anche le qualità umane dell'individuo.

Ciao

zeross
Top
Profilo Invia messaggio privato MSN
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


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

MessaggioInviato: 13 Apr 2009 17:22    Oggetto: Rispondi citando

zeross ha scritto:
Vorrei scusarmi con freemind, sverx e mdweb perché questo intervento non aggiunge niente allo sviluppo del programma, ma credo che un buon programmatore sia anche il ragazzo che abbia la capacità di poter prevedere le incognite che gli si parano davanti, o almeno provarci e quindi ho ritenuto che non fosse inutile di dovere sottilineare che non valgono solo ed esclusivamente le capacità tecniche ma anche le qualità umane dell'individuo.

Non devi scusarti di nulla!
Quello che hai scritto è corretto (sia la parte che ho quotato che il resto).
Però purtroppo sappiamo tutti come funziona la scuola in Italia, è vero che a miao è stato chiesto un programma che faccia certe cose e lei deve essere in grado di farlo e deve poter usare tutti gli strumenti che ritiene consoni (sia a livello di ambiente di sviluppo che nel modo di reperire le informazioni) ma è poco probabile che sia stata presa in considerazione da parte del docente l'eventualità che una persona si sbatta in rete per trovare aiuto e confrontarsi con gli altri.

Miao, se il tuo prof ti rompe le palle, fagli leggere questo 3d ed eventualmente mettilo in contatto con noi che gli spieghiamo come funziona l'informatica.
Per quel che riguarda la copia: zeross ha ragione, se alla fine dimostrerai che il lavoro lo hai fatto tu, è frutto del tuo ingegno, non prenderai un brutto voto; se però il prof non vuol sentire ragione, concordo con zeross che non è all'altezza! Insomma, è un po' come se tu fossi andata in biblioteca per cercare di risolvere un problema di fisica o di matematica.

Quindi ribadisco l'idea mia e degli altri mod a non eliminare il tuo post!
Anzi, il fatto che hai cercato di collaborare con persone in rete dovrebbe metterti secondo me in buona luce perchè è segno che tieni alla cosa non come utente passivo ma attivo.
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11802
Residenza: Tokelau

MessaggioInviato: 14 Apr 2009 11:12    Oggetto: Rispondi

...e credo che tutti quanti noi abbiamo pure imparato a programmare chiedendo aiuto ogni tanto su Internet Smile In fondo qui mica ti abbiamo fatto noi il "compito", no? Smile

Stai tranquilla Smile

Ciao
Top
Profilo Invia messaggio privato HomePage
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