PDA

View Full Version : Urgente aiuto per progetto in c


Aldalex
06-04-2002, 00:22
Ho un problema, per lunedi devo presentare questo porgetto e non so come fare, percaso c'e' qualcuno che e' in grado di farlo, darebbe una gran prova di essere un genio e in piu aiuterebe un poveretto.

Ecco il progetto:
-------------------------------------------------------------------------
In questo esercizio si deve costruire un programma modulare che prende una sequenza di dati relativi al personale di un'azienda da una file di dati, calcola un aggiornamento dello stipendio per tutti e riscrive il file con l'elenco dei dipendenti con i dati aggiornati e ordinati in ordine alfabetico, per cognome e in caso di omonimia per nome.
Per scrivere correttamente questo programma si devono utilizzare le seguenti caratteristiche del C:

• funzioni di manipolazione di stringhe,
• allocazione dinamica della memoria
• funzioni di gestione di file I/O.

Il Problema.
L'input consisterà delle seguenti informazioni relative al personale:
nome
cognome
anzianità di servizio in anni, mesi e giorni,
stipendio.
L'anzianità di servizio é così espressa da tre interi, lo stipendio da un float e nome, cognome da stringhe.
Il file di dati contiene un dato per linea, senza linee bianche, e la prima linea contiene il numero dei dipendenti.
Per esempio il file di input può apparire così:
18
andrea
balsamo
15
11
4
12000.95
rita
colli
20
2
13
16000.82

L'algoritmo.
I dati saranno manipolati in un vettore di puntatori a una strutture persVettPunt, dinamicamente allocato. I campi di tipo stringa della struttura devono essere a loro volta dinamicamente allocati.
Lo stipendio va aggiornato sommando allo stipendio attuale l'uno per mille dello stesso per ogni anno di anzianità e in proporzione per ogni mese e giorno.
Il programma di ordinamento da utilizzare deve essere definito su vettori di puntatori void, dovrà avere come parametri il vettore da ordinare, il numero degli elementi del vettore e la dimensione in bytes del tipo puntato e la funzione di confronto, come per esempio:
void selSort(void **a , const int n, size_t sizeEl,int (*confronto) ( void *, void *));

Il formato dell'output.
Si deve visualizzare il file modificato come segue:
================================================
cognome nome anzianità: anni mesi giorni stipendio
================================================
balsamo andrea 15 11 4 12192.05
colli rita 20 2 13 16324.05
….
La struttura del programma.
° Scrivere la definizione di tipo per la struttura persDati
° Il programma principale dovrebbe consistere di poche linee, relative all'apertura e chiusura del file, alla chiamate delle funzioni che si occupano della lettura dei dati, della loro manipolazione.
° Si faccia in modo da rispettare il principio del minimo privilegio, ogni funzione riceva tutti e soli i dati che sono necessari per la sua esecuzione.

Luc@s
05-05-2002, 12:21
ap:rolleyes: