Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct samochod
- {
- char model[30];
- double pojemnosc;
- double spalanie;
- };
- void dodaj(char *nazwa);
- void wyswietl(char *nazwa);
- void czytaj(struct samochod s);
- int greenpeace(char *nazwa);
- int main()
- {
- char nazwa='a',znak='X';
- while (znak!='x')
- {
- znak=getchar();
- switch (znak)
- {
- case 'd':
- dodaj(nazwa);
- break;
- case 'c':
- wyswietl(nazwa);
- break;
- case 'g':
- printf("USUNIETO %d samochodow: ",greenpeace(nazwa));
- break;
- }
- }
- return 0;
- }
- void dodaj(char *nazwa)
- {
- FILE*plik=fopen("plik.txt","a");
- struct samochod s;
- printf("\npodaj model:\n");
- fflush(stdin);
- scanf("%s",s.model);
- printf("\npodaj pojemnosc:\n");
- fflush(stdin);
- scanf("%lf",&s.pojemnosc);
- printf("\npodaj spalanie:\n");
- fflush(stdin);
- scanf("%lf",&s.spalanie);
- fwrite(&s,sizeof(struct samochod),1,plik);
- fclose(plik);
- }
- void wyswietl(char *nazwa)
- {
- FILE*plik=fopen("plik.txt","r");
- struct samochod s;
- while(fread(&s,sizeof(struct samochod),1,plik))
- {
- czytaj(s);
- }
- fclose(plik);
- }
- void czytaj(struct samochod s)
- {
- printf("\nModel: %s\n",s.model);
- printf("Pojemnosc: %lf\n",s.pojemnosc);
- printf("Spalanie: %lf\n",s.spalanie);
- }
- int greenpeace(char *nazwa)
- {
- FILE*plik1=fopen("plik.txt","r");
- FILE*plik2=fopen("tmp.txt","a");
- int ile=0;
- double maxspalanie=0;
- struct samochod s;
- while(fread(&s,sizeof(struct samochod),1,plik1))
- {
- if(s.spalanie>maxspalanie)
- maxspalanie=s.spalanie;
- }
- fseek(plik1,0,0);
- while(fread(&s,sizeof(struct samochod),1,plik1))
- {
- if(s.spalanie!=maxspalanie)
- fwrite(&s,sizeof(struct samochod),1,plik2);
- else
- ile++;
- }
- fclose(plik1);
- fclose(plik2);
- remove("plik.txt");
- if(rename("tmp.txt","plik.txt")==0)
- printf("ZMIENIONO NAZWE");
- else
- printf("\nNIE ZMIENIONO NAZWY, BLAD");
- return ile;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement