Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- typedef struct fotos{
- int numft;
- char local[50];
- char maquina[50];
- int ano;
- char tipo[50];
- }estrutura;
- estrutura fotos;
- FILE *fx;
- FILE *fa;
- FILE *fn;
- int pesquisan(int num){
- fa=fopen("fotos.dat","r");
- fread(&fotos,sizeof(fotos),1,fa);
- while (!feof(fa) && fotos.numft!=num)
- fread(&fotos,sizeof(fotos),1,fa);
- int p=ftell(fa);
- fclose(fa);
- if(fotos.numft==num)
- return p;
- else
- return 0;
- }
- void insere(){
- int c,n;
- fx=fopen("fotos.dat","a+");
- do{
- scanf("%d",&n);
- if(pesquisan(n)==0)
- {
- fx=fopen("fotos.dat","a+");
- fotos.numft=n;
- scanf(" %s",fotos.local);
- scanf(" %s",fotos.maquina);
- scanf("%d",&fotos.ano);
- scanf(" %s",fotos.tipo);
- fwrite(&fotos,sizeof(fotos),1,fx);
- fclose(fx);
- }
- else
- printf("Ja existe!\n");
- printf("Continuar?\n");
- scanf("%d",&c);
- }while (c==1);
- fclose(fx);
- }
- void lista(){
- int i,s;
- scanf("%d",&i);
- scanf("%d",&s);
- fx=fopen("fotos.dat","r");
- fread(&fotos,sizeof(fotos),1,fx);
- while(!feof(fx)){
- if(fotos.ano>=i && fotos.ano <= s){
- printf("Numero da Foto:%d\nLocal:%s\nMaquina:%s\nAno:%d\nTipo:%s\n\n",fotos.numft,fotos.local,fotos.maquina,fotos.ano,fotos.tipo);
- }
- fread(&fotos,sizeof(fotos),1,fx);
- }
- fclose(fx);
- }
- /*void altera(){
- char nfx[50];
- char nfx2[50];
- scanf("%s",nfx2);
- scanf("%s",nfx);
- if(fopen(nfx,"r")==NULL){
- fa=fopen(nfx,"w");
- fclose(fa);
- }
- if(fopen(nfx2,"r")==NULL){
- fn=fopen(nfx2,"w");
- fclose(fn);
- }
- fn=fopen(nfx2,"r");
- fa=fopen(nfx,"a+");
- fread(&fotos,sizeof(fotos),1,fn);
- while(!feof(fn)){
- fwrite(&fotos,sizeof(fotos),1,fa);
- fread(&fotos,sizeof(fotos),1,fn);
- }
- fclose(fx);
- fclose(fa);
- }*/
- void altera(){
- char local[30];
- char nlocal[30];
- scanf(" %s",local);
- scanf(" %s",nlocal);
- fx=fopen("fotos.dat","r+");
- fread(&fotos,sizeof(fotos),1,fx);
- while(!feof(fx)){
- if(strcmp(fotos.local,local)==0){
- strcpy(fotos.local,nlocal);
- fseek(fx,-sizeof(fotos),1);
- fwrite(&fotos,sizeof(fotos),1,fx);
- fseek(fx,sizeof(fotos),1);
- }
- fread(&fotos,sizeof(fotos),1,fx);
- }
- fclose(fx);
- }
- int main() {
- int(op);
- if(fopen("fotos.dat","r")==NULL){
- fx=fopen("fotos.dat","w");
- fclose(fx);
- }
- do {
- printf("1-Inserir fotos\n");
- printf("2-consulta entre 2 dados\n");
- printf("3-Altera de um dado local\n");
- printf("4-Sair\n");
- scanf("%d",&op);
- switch(op){
- case 1:insere();
- break;
- case 2:lista();
- break;
- case 3:altera();
- break;
- }
- }while(op!=4);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement