PDA

View Full Version : [C] Elenco Telefonico (uso di semafori) || Esame alle porte || URGENTE !!!


kinghomer
28-08-2006, 16:51
Cari ragazzi ho l'esame ai primi di settembre, e devo consegnare una tesina in cui bisogna sviluppare un elenco telefonico tramite l'uso di semafori. Vi riporto le specifiche progettuali:

Elenco Telefonico (versione ad accesso concorrente):

Realizzazione di un elenco telefonico residente su due file. Il primo
file contiene record di dati, ognuno dei quali consiste dei seguenti
campi: Nome, Indirizzo, Numero di Telefono. In questo file i record
non sono ordinati. Nel secondo file, ogni record contiene solo il
campo Nome, e le informazioni necessarie a rintracciare la posizione
del corrispondente record sul primo file; tuttavia in questo file i
record sono memorizzati in ordine alfabetico. I due file e le
strutture necessarie a sincronizzarne l'accesso vengono create da un
apposito programma di attivazione dell'applicazione elenco telefonico.

Un programma per accedere all'elenco telefonico deve fornire ad un utente
interattivo un menu' con le seguenti funzioni:

1. Inserimento di un nuovo record nell'elenco telefonico.
2. Ricerca di un record all'interno dell'elenco telefonico.
3. Eliminazione di un record dall'elenco telefonico.

Si raccomanda di usare i semafori per evitare che due o piu' processi
vadano a scrivere contemporaneamente sullo stesso file o che le
informazioni sui file risultino inconsistenti. Lo studente e' tenuto a
realizzare sia il programma di attivazione che il programma per la
ricerca/aggiornamento dei record.

Sono riuscito a reperire la tesina dell'anno precedente, ma manca L'ELIMINAZIONE di un RECORD.
QUALCUNO PUO AIUTARMI ad AGGIUNGERLa ????????
NON SO DOVE METTERE MANO !!!
( io faccio ing. edile e non informatica o altro sigh :muro: )

Vi riporto il link alla mia pagina per la tesina che mi hanno dato ( tasto destro e salva oggetto con nome, altrimenti non ve la apre):

ELENCO TELEFONICO (http://spazioinwind.libero.it/kinghomer/Elenco_Telefonico.rar)

VI PREGO AIUTATEMI !!!! SE NON SUPERO St'ESAME di merda mi resta tutto blokkato :(

trallallero
29-08-2006, 07:28
Vabbé facciamo tipo opensource di gruppo ... inizio io :O


#include <stdio.h>

int main()
{
/* INSERIRE QUI QUALCOSA ... */

return 0;
}

Marco Giunio Silano
29-08-2006, 07:48
Vabbé facciamo tipo opensource di gruppo ... inizio io :O


#include <stdio.h>

int main()
{
/* INSERIRE QUI QUALCOSA ... */

return 0;
}


:uh: ok, metto la mia...


#include <stdio.h>

#define MNU_EXIT 0
BYTE inputMenu = 0xff;

int main()
{
printf("Elenco telefonico. V.1.0\n\n");

do
{
printf("Menù\n");
printf("1. Inserimento di un nuovo record nell'elenco telefonico.\n");
printf("2. Ricerca di un record all'interno dell'elenco telefonico.\n");
printf("3. Eliminazione di un record dall'elenco telefonico.\n");
//Questa di fantasia
printf("0. esci\n");

//lettura tasto

/* INSERIRE QUI QUALCOSA ... */

} while (inputMenu != MNU_EXIT);

return 0;
}


uff, mi sono impeganto già troppo... sonos tanco morto, me ne torno a casa a riposare...

trallallero
29-08-2006, 09:42
uff, mi sono impeganto già troppo... sonos tanco morto, me ne torno a casa a riposare...
te ne sei andato veramente ? :eek:

Marco Giunio Silano
29-08-2006, 09:45
te ne sei andato veramente ? :eek:

printf("Mi sono accontentato di un caffè e una sigaretta\n"); :D

trallallero
29-08-2006, 10:15
printf("Mi sono accontentato di un caffè e una sigaretta\n"); :D
preferisco un :

while (!sbronzo)
birra++;

:D

Marco Giunio Silano
29-08-2006, 10:32
preferisco un :

while (!sbronzo)
birra++;

:D

LOL! :D
Guarda, come sono messo oggi neppure entro nel while. Ho scritto due castronate in un altro 3d che... ma siamo qui per auitare kinghomer. Che c'era da fare?

trallallero
29-08-2006, 10:58
LOL! :D
Guarda, come sono messo oggi neppure entro nel while. Ho scritto due castronate in un altro 3d che... ma siamo qui per auitare kinghomer. Che c'era da fare?
non so se s'era capito ma a me chi posta il testo del problema e chiede il programma pronto da un pó fastidio :fiufiu:

RaouL_BennetH
29-08-2006, 11:10
non so se s'era capito ma a me chi posta il testo del problema e chiede il programma pronto da un pó fastidio :fiufiu:

Scusate se mi intrometto, però ho letto che lui non studia informatica ma ingegneria edile:

kinghomer
( io faccio ing. edile e non informatica o altro sigh )


Quindi non credo che abbia molta colpa :(

Marco Giunio Silano
29-08-2006, 11:13
non so se s'era capito ma a me chi posta il testo del problema e chiede il programma pronto da un pó fastidio :fiufiu:

Si era capito e come! :D
Una chicca successa un paio di anni fa quando ero ancora programmatore embedded, mi viene detto:
"C'è un problema, per ogni colore hai un pannello lungo 98mm. Ne stampiamo 86. 4 li perdiamo nell'allineamento. 4 nella discesa testina, 3 per staccare il nastro dal supporto e 2 per recuperare il nastro quando sale la testina e fasarci sul colore. Ci manca 1mm. Risolvi il problema." :what: :uh:

E' stato più o meno il periodo quando ho capito che era ora di smettere di fare il programmatore.

NA01
29-08-2006, 11:15
Quindi non credo che abbia molta colpa :(
e io faccio informatica, però non mi faccio dare gli esami di aziendale da altri :sofico:

cmq non era per questo che ho postato :p

- l'archivio non me lo apre, sostiene che è danneggiato...
- potresti provare a dire quali sono i problemi (sul tuo codice, non su quello di altri... spesso è più difficile modificare roba non tua che scriverne da capo se non hai molta esperienza). in questo modo trovarai sicuramente gente meglio disposta...


ciao ciao!

trallallero
29-08-2006, 11:21
Scusate se mi intrometto, però ho letto che lui non studia informatica ma ingegneria edile:



Quindi non credo che abbia molta colpa :(
beh, io quando mi sono iscritto a psicologia ( :uh: ) ho fatto solo biologia come esame perché quando ho visto che c'era statistica ed altre materie allucinanti m'é venuto il mal di pancia.
Ma se sono nel programma ci sará un motivo, no ? ;) Infatti ho scelto di fare il musicista :D

Se c'é C in "ingegneria edile" ci sará un motivo ... addirittura non studiarlo per niente mi pare un pó eccessivo :nonsifa:

RaouL_BennetH
29-08-2006, 11:31
beh, io quando mi sono iscritto a psicologia ( :uh: ) ho fatto solo biologia come esame perché quando ho visto che c'era statistica ed altre materie allucinanti m'é venuto il mal di pancia.
Ma se sono nel programma ci sará un motivo, no ? ;) Infatti ho scelto di fare il musicista :D

Se c'é C in "ingegneria edile" ci sará un motivo ... addirittura non studiarlo per niente mi pare un pó eccessivo :nonsifa:


Boh, non lo so, forse hai ragione. Ma non sarebbe il primo caso in cui all'università qualcuno si sveglia e ti chiede di fare una cosa che non hanno mai spiegato. Ad ogni modo, lungi da me essere un esperto nella programmazione (sopratutto in C), stavo vedendo una semplice rubrica che feci per imparare qualcosa (proprio in C), solo che non credo possa servire come esempio all'autore del thread perchè non si usano i semafori (che nella mia incredibile ignoranza non so nemmeno cosa siano :( ).

trallallero
29-08-2006, 12:41
Boh, non lo so, forse hai ragione. Ma non sarebbe il primo caso in cui all'università qualcuno si sveglia e ti chiede di fare una cosa che non hanno mai spiegato. Ad ogni modo, lungi da me essere un esperto nella programmazione (sopratutto in C), stavo vedendo una semplice rubrica che feci per imparare qualcosa (proprio in C), solo che non credo possa servire come esempio all'autore del thread perchè non si usano i semafori (che nella mia incredibile ignoranza non so nemmeno cosa siano :( ).
ok, sono ignorante in tema di universitá perché l'ho lasciata schifato dopo il primo esame, quindi ne sai piú tu, ma mi stai dicendo che é possibile che un prof abbia detto "fate questo programma in C" senza accertarsi che sappiano qualcosa di C ? :eek:
E poi appunto, semafori, non é un argomento semplice! Io lo potrei fare ma ... é il mio lavoro. Faccio il vigile urbano :stordita:
Mi sembra strano che, cosí, all'improvviso un prof abbia chiesto di fare un programma con l'uso dei semafori, che implica una discreta conoscenza del linguaggio C.

kinghomer
30-08-2006, 11:54
Rispondo un po a tutti cercando di essere il piu esauriente possibile!!!
E' vero, darebbe fastidio anke a me se mi dicessero fammi questo per favore!
Io con molta oscialans ( ammazza che semantica ;) ) gli avrei detto "imparatelo figlio mio"!
Il problema è che nella mia facoltà, o mejo, il prof mia fa....
"Compratevi il libro di c, e fatemi sto programmetto banale! Da quest'anno ho aggiunto pure i semafori perkè senno' era troppo stupido"!!! Allorkè.... IO TI SPUTEREI IN FACCIA GRANDISSIMO BASTARDO !!!! Sto buttando il sangue per superare quella cazzo di scienze delle costruzioni accoppiata ad analisi 3, e tu mi metti pure na cosa che NON CI SERVE ( avesse detto autocad... cosa che già abbiamo fatto tra l'altro, in accoppiata con java SWING tramite la quale feci na specie di WORD piu sempliciotto )!!!
Noi chiedemmo al prof perkè un ingegnere edile dovesse fare anke C per la sua preparazione! E lui sempre con molta OSCIALANS ci dice... "L'ingegnere oltre al suo campo deve saper mettere le mani un po dappertutto" !!! (O_O) !!
Allora.... io ci posso anche stare... !! Un ingegnere deve avere le basi cosi da poter far suo qualsiasi cosa gli venga messo davanti... e ci sto!! SI... MA NON QUALSIASI COSA !!!! A STO PUNTO FAMME FA PURE L'ESAME DA VETRAIO, COSI SARO IN GRADO ANKE DI FARE LE BOTTIGLIE DE VETRO.... Ma che vuol dire..!! Saper fare un po di tutto ma sempre nel range del mio campo... !!!
Il linguaggio C... non è certo del mio campo !!! Auocad SI !!! Java ANKORA ANKORA !!! MA C.... DAI... !!! Linguaggio a basso livello che ai fini pratici di MIA competenza non aggancia davvero nulla !!
Per questo motivo chiedo a voi esperti di C una mano per completare la tesina che mi è stata gentilmente data! Ovviamente se vi servirà una mano per qualsiasi altra cosa... potete certo contare su di me ( se copre il mio campo ovviamente )!
Spero di essere stato esauriente!
Per quanto riguarda l'errore che dà a qualkuno in apertura o esecuzione non so che dirti !! Un mio amico l'ha aperta senza problemi... !!

Vi chiedo solo di aiutarmi SE POTETE... tutto qui :*
:help: :) Grazie anticipato

BountyKiller
30-08-2006, 12:15
sapessi io quanto ho penato per passare ECONOMIA AZIENDALE con un figlio di puttana che tirava dei culi assurdi AL QUINTO ANNO di ingegneria INFORMATICA vecchio ordinamento che se non lo passavo dovevo aspettare un anno a laurearmi :mad:

quindi, amico mio....scaricati il kernigan - ritchie e via col C....utilizzare un semplice mutex non è difficile.....in sostanza direi che il programma che ti è sttao chiesto di fare è DECISAMENTE banale e quindi (senza offesa, x carità) adeguato a uno che fa ingegneria edile

BountyKiller
30-08-2006, 12:18
sticaxxi noto solo adesso che hai già reperito un sottoinsieme dell'esercizio......
adesso non hai veramente più scusanti :D
kernigan - ritchie in spalla e via!

Marco Giunio Silano
30-08-2006, 12:21
kernigan - ritchie in spalla e via!

Insomma, è la bibbia del programmatore C... l'abbiamo letto tutti...
Spiegato da loro, il C, è una passeggiata. Sembra che parlino di eventi mondani.

BountyKiller
30-08-2006, 13:08
esatto....quindi sbattiti oppure

[jackal mode on]

euro europei, contanti naturalmente, metà adesso e metà alla fine.......
200 €

[jackal mode off]

:D :D

Marco Giunio Silano
30-08-2006, 13:13
esatto....quindi sbattiti oppure

[jackal mode on]

euro europei, contanti naturalmente, metà adesso e metà alla fine.......
200 €

[jackal mode off]

:D :D

:uh: :what:

BountyKiller
30-08-2006, 13:38
è un film famoso con bruce willis...praticamente lui fa il killer professionista e si fa pagare sempre "metà adesso e metà alla consegna"..

io ovviamente sto scherzando..... e stiamo andando OT

The3DProgrammer
30-08-2006, 13:56
altro consiglio, se vuoi capire come risolvere il problema studiati il problema lettore-scrittore, è un esercizio classico di programmazione multithreaded abbastanza semplice (e il tuo esercizio ne ricalca quasi in toto lo schema).

Detto questo, diventa abbastanza semplice:)

xò mi viene un dubbio...visto ke il C nn implementa in modo nativo alcun meccanismo di sincronizzazione...quale implementazione avete studiato? Quella di linux o di windows?

ciao

Marco Giunio Silano
30-08-2006, 14:41
è un film famoso con bruce willis...praticamente lui fa il killer professionista e si fa pagare sempre "metà adesso e metà alla consegna"..

io ovviamente sto scherzando..... e stiamo andando OT

E' quello che doveva uccidere la first lady? Me lo ricordo. Pensa che bel codice scritto per pilotare il mitra...
ok ok, basta OT

BountyKiller
30-08-2006, 15:00
si si....muhahahh...sei tu quello/a dell'avatar???

Marco Giunio Silano
30-08-2006, 15:16
si si....muhahahh...sei tu quello/a dell'avatar???

OT
:uh: :grrr: :tie: sono masculo io!
L'avatar è dedicato ad una persona a me cara. Ma si capisce dal commento...
Quindi, ora, puoi raffreddarti che non hai rimorchiato ;) :asd:
/OT

BountyKiller
30-08-2006, 15:21
ah scusami non vedevo bene la foto.... carina la ragazza.
ti pare che si rimorchi nella sezione programmazione di hwupgrade?? :stordita:

Marco Giunio Silano
30-08-2006, 15:54
ah scusami non vedevo bene la foto.... carina la ragazza.
ti pare che si rimorchi nella sezione programmazione di hwupgrade?? :stordita:

no problema ;)

kinghomer
31-08-2006, 16:27
ma qui vedo handle, struct, creazione di processi, ma ki mai le ha mai viste ste cose !!!! Java non era così, era molto piu semplice uffaaaaaaa !!!
Nessuno buono di cuore che mi da una mano ???
:( :cry:

71104
31-08-2006, 17:42
E' vero, darebbe fastidio anke a me se mi dicessero fammi questo per favore! Vi chiedo solo di aiutarmi SE POTETE... tutto qui :*
:help: :) Grazie anticipato con tanto di grazie anticipato :fagiano:

Io con molta oscialans ( ammazza che semantica ;) ) *ortografia

gli avrei detto "imparatelo figlio mio"! quella è la mia versione censurata :asd:

Il problema è che nella mia facoltà, o mejo, il prof mia fa....
"Compratevi il libro di c, e fatemi sto programmetto banale! se le lezioni non sono esaurienti recati da lui in orario di ricevimento a chiedere le spiegazioni che ti servono; se sei impossibilitato a fare ciò parlane con lui; se non si presenta negli orari di ricevimento protesta dal rettore. all'università chi non si da una mossa muore, è così che selezionano quelli con le palle dalla massa di coglioni, essì.

Da quest'anno ho aggiunto pure i semafori perkè senno' era troppo stupido"!!! e tu rispondi a tono: "e che cazzo è un semaforo?" a quel punto lui è obbligato a spiegartelo.

Allorkè.... IO TI SPUTEREI IN FACCIA GRANDISSIMO BASTARDO !!!! :nonsifa: no, no, no, no: non è questo il modo di darsi la smossa, così non ottieni nulla; quelli che passano quell'esame non sono quelli che gli sputano in faccia, sono quelli che tartassano tutto il sistema finché non gli fanno sputare a parole chiare quello che vuole; e poi glielo danno, sempre a parole chiare.

Sto buttando il sangue per superare quella cazzo di scienze delle costruzioni accoppiata ad analisi 3, e tu mi metti pure na cosa che NON CI SERVE credi di portare grandi novità con quest'ultimo annuncio? lo sai che (come molti hanno già fatto notare) noi informatici dobbiamo studiare ECONOMIA AZIENDALE, o in alternativa ( :Puke: ) STATISTICA? serve che ti dico che entrambe le cose a noi informatici non servono a un cazzo?

71104
31-08-2006, 17:42
( avesse detto autocad... cosa che già abbiamo fatto tra l'altro, in accoppiata con java SWING tramite la quale feci na specie di WORD piu sempliciotto )!!! ecco, adesso salta fuori il grande programmatore :D
perché tutta questa scienza infusa non la usi per superare il tuo bravo esame sui semafori? :asd:

Noi chiedemmo al prof perkè un ingegnere edile dovesse fare anke C per la sua preparazione! E lui sempre con molta OSCIALANS che ancora devo capire che cosa vorrebbe parodizzare :huh:

ci dice... "L'ingegnere oltre al suo campo deve saper mettere le mani un po dappertutto" !!! (O_O) !! si vede che è un prof perverso :Prrr:

Allora.... io ci posso anche stare... !! e allora approfittane :D
dagli quello che vuole (:asd: ) e supererai l'esame in un batter d'occhio :D

[cut, sulle grandi novità]
Per questo motivo chiedo a voi esperti di C adulatore :asd:

una mano per completare la tesina che mi è stata gentilmente data! E' vero, darebbe fastidio anke a me se mi dicessero fammi questo per favore! :fagiano: :fagiano: :fagiano:

Ovviamente se vi servirà una mano per qualsiasi altra cosa... potete certo contare su di me ( se copre il mio campo ovviamente )! il tuo campo copre i soldi? paghi? quanto? non che io sia disposto a farti il lavoro sotto pagamento visto che ho esami anch'io, ma lo chiedo giusto per portare un po' di chiarezza nel topic: se sei disposto a negoziare una cifra vedrai che qualcuno disponibile a venderti il lavoro completo e perfettamente funzionante salterà fuori di sicuro ;)

Vi chiedo solo di aiutarmi SE POTETE... tutto qui :*
:help: :) Grazie anticipato E' vero, darebbe fastidio anke a me se mi dicessero fammi questo per favore! :fagiano: :fagiano: :fagiano:

71104
31-08-2006, 17:45
ti pare che si rimorchi nella sezione programmazione di hwupgrade?? :stordita: a2000 una volta ci ha provato con repne scasb :D :D :D :rotfl:

beppegrillo
31-08-2006, 20:24
BYTE inputMenu = 0xff;
a cosa serve? :confused:

tomminno
31-08-2006, 20:36
BYTE inputMenu = 0xff;
a cosa serve? :confused:

Ad inizializzare inputMenu a 255

beppegrillo
31-08-2006, 20:43
Ad inizializzare inputMenu a 255
scopo?

tomminno
31-08-2006, 20:59
scopo?

Semplicemente inizializzare una variabile, in questo caso visto che è stato definito MNU_EXIT a 0 e i primi numeri sono impegnati dalle voci di selezione è un modo come un altro per selezionare un valore fuori dal range utilizzato dall'applicativo.

beppegrillo
31-08-2006, 21:14
Semplicemente inizializzare una variabile, in questo caso visto che è stato definito MNU_EXIT a 0 e i primi numeri sono impegnati dalle voci di selezione è un modo come un altro per selezionare un valore fuori dal range utilizzato dall'applicativo.
ah sorry, non vedevo il //questo di fantasia, e pensavo chissà cosa facesse quella cosa :D

Marco Giunio Silano
01-09-2006, 07:29
vedo che vi siete risposti in completa autonomia...
tomminno: :ave:
:D

kinghomer
01-09-2006, 16:50
me so comprato il libro de sistemi operativi !! Unico libro che spiega semafori, processi, e mutua esclusione in C!

1. Ho scritto "OSCIALANS" apposta cosi come si pronuncia ;) !!!
2. Se il lavoro rikiesto veniva retribuito lo avrei specificato dall'inizio ti pare? I soldi mika li fabbriko... (MAGARI ;))
3. Te pare che non sono andato dal prof a chiedere una mano ?? Non c'e' mai !! E' fuori per "congressi" !! E te pare pure che vado dal rettore a fare caciara? E' vero ke e' nel mio diritto, ma conoscendo il prof... quello non me promuove più !!! Indi per cui poscia... M'ATTAKKO !!!!!
4. Don't worry be happy !!!
5. Statistica ??? Non dirlo a me che c'ho sbattuto l'ira di dio !!! Vabbè a me da ingegnere DEVE esserci !!! A te da informatico non so fino a che punto !!!
Alla fine e' matematica che aiuta a ragionare, però a sto punto.... qualsiasi tipo di esame porta a ragionare :) !! Il discorso cade nel ridicolo poi... !!!!
6. Forza Napoli !!!
7. Juve Merda !!!
8. Vi terrò aggiornati sul risultato dell'esame (^_^)

:*
:Prrr: