Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* creare con un editor di programma,il file di testo anagrafe.txt;
- ogni linea di file di testo anagrafe.txt deve contenere le informazioni seguenti: cognome,nome e stipendio del dipendente;
- inoltre anagrafe.txt deve essere creato ordinato rispetto al campo stipendio(ci possono essere ripetizioni);
- definire un progetto dev,in c, in grado di risolvere Il problema seguente:
- 1 stampare le informazioni contenute nel file anagrafe.txt;
- 2 leggere le informazioni contenute nel file di testo,anagrafe.txt, e memorizzarle nel vettore dipendenti di cardinalità dim;
- ogni elemeo di dipendenti è un record,struttura,di nome dipendente composto dai campi:
- cognomeDip 16 caratteri (cognome dipendente)
- nomeDip 12 caratteri (nome del dipendente)
- stipAnnuo intero (stipendio annuo)
- 3 stampare dipendenti;
- 4 leggere da tastiera un vak e carcare nel vettore dipendenti, se esiste,la posizione del dipendente avente lo stipendio uguale a val;
- utilizzare l'algoritmo di ricerca binaria;
- 5 stampare, se esiste, le informazioni del dipendente con stipendo uguale a val, altrimenti stampare il messaggio "non esiste un diprendente con stipendio uguale a val"
- realizzare ognuno dei 5 punti utilizzando sottoprogrammi con parametri.nt */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct{
- char cognomeDip[16];
- char nomeDip[12];
- int stipAnnu;
- }dipendente;
- #define dim 20
- typedef enum {false,true} boolean;
- void StampaFile(FILE*Out);
- void LeggiVettore(FILE*Out,dipendente dipendenti[],int *);
- void StampaVettore(dipendente dipendenti[],int );
- // void RicercaBinaria(dipendente dipendenti[],int inf,int sup,
- int main(){
- FILE*fp;
- int n;
- dipendente dip[dim];
- StampaFile(fp);
- LeggiVettore(fp,dip[],int*n);
- StampaVettore(dip,n);
- puts("\n\n");
- system("pause");
- return 0;
- }
- void StampaFile(FILE*Out){
- char c;
- Out=fopen("Anagrafe.txt","r");
- if(Out==NULL) printf("\nIl file Anagrafe non può essere aperto!");
- else{
- c=fgetc(Out);
- while(c!=EOF){
- putchar(c);
- c=fgetc(Out);
- }
- fclose(Out);
- }
- }
- void LeggiVettore(FILE*Out,dipendente dipendenti[],int *xPtr){
- int i=0;
- Out=fopen("Anagrafe.txt","r");
- if(Out==NULL) printf("\nIl file Anagrafe non può essere aperto!");
- else{
- fscanf(Out,"%s %s %d" ,&dipendenti[i].cognomeDip,&dipendenti[i].nomeDip,&dipendenti[i].stipAnnu);
- while(!feof(Out)){
- i++;
- fscanf(Out,"%s %s %d" ,&dipendenti[i].cognomeDip,&dipendenti[i].nomeDip,&dipendenti[i].stipAnnu);
- }
- puts("\nIl contenuto del File e' stato copiato nel vettore!");
- }
- *xPtr=i;
- }
- void StampaVettore(dipendente dipendenti[],int xPtr){
- int i;
- puts("\nLa lista dei dipendenti da Vettore e' la seguente: \n\n");
- for(i=0;i<xPtr;i++){
- printf("Dipendente numero %d" ,i+1);
- printf("\nCognome: %s",dipendenti[i].cognomeDip);
- printf("\nNome: %s",dipendenti[i].nomeDip);
- printf("\nStipendio: %d",dipendenti[i].stipAnnu);
- puts("\n");
- }
- }
Add Comment
Please, Sign In to add comment