Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <conio.h>
- #include <ctype.h>
- ZAMESTNANEC *Nacitaj(FILE *fr,ZAMESTNANEC *zam)
- {
- int c,dlzka,n=0;
- ZAMESTNANEC *prvy = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
- char x;
- if (zam != NULL){
- prvy = zam;
- while(zam){
- prvy=prvy->dalsi;
- free(zam);
- zam=prvy;
- }
- }
- while ((c = getc(fr)) != EOF) {
- ungetc(c, fr);
- ZAMESTNANEC *p = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
- fgets(p->meno,32,fr);
- dlzka = strlen(p->meno);
- if (p->meno[dlzka - 1] == '\n')
- p->meno[dlzka - 1] = '\0';
- fgets(p->priezvisko,32,fr);
- dlzka = strlen(p->priezvisko);
- if (p->priezvisko[dlzka - 1] == '\n')
- p->priezvisko[dlzka - 1] = '\0';
- fscanf(fr,"%d\n",&p->typ);
- fscanf(fr,"%lf\n",&p->mzda);
- fscanf(fr,"%d\n",&p->datum);
- fscanf(fr,"%c\n",&x);
- if (zam != NULL){ // akt uz ukazuje na nejaky prvok
- p->dalsi = zam->dalsi;
- zam->dalsi = p;
- zam=p;
- }
- else if(zam == NULL) { // ak sa vklada prvy zaznam
- prvy=p;
- zam = p;
- }
- n++;
- }
- zam->dalsi=NULL; //koniec zoznamu
- printf("Nacitalo sa %d zaznamov.\n",n);
- rewind(fr);
- return prvy;
- }
- int main()
- {
- FILE *fr=NULL;
- ZAMESTNANEC *zam = NULL;
- while(1){
- switch(getchar()){
- default:
- break;
- case 'N':{
- if ((fr = fopen("zamestnanci.txt", "r")) == NULL){
- printf("Zaznamy neboli nacitane\n");
- break;
- }
- zam=Nacitaj(zam);
- break;
- }
- /* case 'V':{
- Vypis(zam);
- break;
- }
- case 'A':{
- Aktualizacia(zam);
- break;
- }
- case 'Z':{
- Zmazanie(zam);
- break;
- }
- case 'P':{
- zam=Pridaj(zam);
- break;
- }*/
- case 'K':{
- ZAMESTNANEC *prvy = (ZAMESTNANEC *) malloc (sizeof(ZAMESTNANEC));
- if (zam != NULL){
- prvy = zam;
- while(zam){
- prvy=prvy->dalsi;
- free(zam);
- zam=prvy;
- }
- }
- fclose(fr);
- return 0;
- break;
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment