[C语言学习]课题设计

[清翔]文件管理系统 V1.8
   
   
● [清翔]文件管理系统V1.8版由毛佳茗设计,软件作者保留所有的权利。
    
    
适用平台: Windows98/2000/XP  (推荐WinXP运行环境)
    
    
主要特点:
   
   
1. 采用用户登录模块,具有密码保护功能,在添加和修改文件时,自动记录当前操作用户的名称。
    
    
2. 用户添加或修改文件信息时,能够自动获取系统时间
      
      
(因时间有限,仅在WinXp环境下测试成功),免去手工输入的麻烦。(V1.8新增功能)
    
    
3. 每次修改或添加文件完成后,系统自动保存数据文件;提供数据载入模块,发现误操作时,可轻松恢复。
    
    
4. 提供六种查找文件方式,并有关键字查找功能,寻找文件极其方便。
    
    
5. 列表提供多种显示方式,查看文件信息只需一步操作。
    
    
6. 提供过期文件清理功能,过期文件一键通通清除。
    
    
用户登录密码:admin  (用户名不作限制)
    
    
功能简单介绍:
    
    
 1. 添加:按照提示进行添加文件即可。
    
    
 2. 修改:按照提示进行修改文件即可,修改时提供原文件信息对照。
    
    
 3. 删除:删除一个文件需要两次确认,防止了用户的误操作。
    
    
 4. 列表:多种列表显示,查看文件详细信息,只需输入编号即可实现。
    
    
 5. 保存:系统能够自动保存用户的每次操作,您也可以选择手工保存。
    
    
 6. 载入:发现误操作时,您可将备份数据文件,轻松导入。
    
    
 7. 查找:多种查找方式,让您充分体会查找乐趣。
    
    
 8. 清理:自动寻找过期文件,一键删除,就是这么简单。
    
    
 9. 帮助:有待下一版本中加强此功能。
    
    
 0. 退出:有待下一版本中加强此功能。
/* ========= 清翔兔 版权声明  ========= */
/*    欲拷贝此源程序,请注明出处,谢谢.   */
/* =====================================*/
# include <stdio.h>
# include <time.h>
# include <string.h>
# include <stdlib.h>
# define Num 100    //设定数据库最大存储数据量
char user[20];
struct fil
{
 char name[10];
 unsigned long int size;
 char type[3];
 unsigned long int editime;
 char content[210];
 char handlers[10];
 unsigned long int overdue;
} fil_list[Num];

void init_list();
void add();
void dele();
void list();
void save();
void load();
void help();
void edit();
void search();
void overdue_del();
int find();
int menu();
int menu_list();
int menu_search();

void check()               //密码认证
{
 int check;
 char  pin1[]="admin";  //此处设定用户口令
 char  pin[20];
aga:
 printf("/n * ===================================================================== *");
 printf("/n *                                                                       *");
 printf("/n *                     [清翔]文件管理系统--用户登录                      *");
 printf("/n *                                                                       *");
 printf("/n * ===================================================================== *");
 printf("/n /1 请输入用户名:");
 scanf ("%s",user);
 printf(" /2 请输入密码:");
 scanf ("%s",pin);
 check=strcmp(pin,pin1);
 if (check!=0)
 {
 system("cls");
 printf("/n *          Sorry,  密码有误,请重新输入!                                *");
 goto aga;
 }
 else system("cls");
}
void ok()                 //系统主菜单
{
 char choice;
 init_list();
 load();
 printf("/n * ===================================================================== *");
 printf("/n *                                                                       *");
 printf("/n *                     欢迎使用[清翔]文件管理系统 (v1.8)                 *");
 printf("/n *                                                                       *");
 printf("/n * ===================================================================== *");
 printf("/n *                                                                       *");
 printf("/n *                 v1.8版最新功能:  自动获取系统时间                     *");
 printf("/n *                                                                       *");
 printf("/n * 友情提醒: 您在使用过程中发现任何问题,请与清翔兔联系Email:imm@qq.com  *");
 printf("/n *                                                                       *");
 for( ; ; )
 {
  choice = menu();
  switch(choice)
  {
  case 1: add();
       break;
  case 2: edit();
       break;
  case 3: dele();
       break;
  case 4: list();
       break;
  case 5: save();
    break;
  case 6: load();
    break;
  case 7: search();
    break;
  case 8: overdue_del();
    break;
  case 9: help();
    break;
  case 0: exit(0);
  }
 }
}

void main()  //主程序
{
 printf("/n * ===================================================================== *");
 printf("/n *                                                                       *");
 printf("/n *       为方便交流学习,本程序的源程序放置在[清翔网]上,欢迎访问查看.     *");
 printf("/n *                                                                       *");
 printf("/n *                  [清翔网] http://www.nspeeding.com                    *");
 printf("/n *                                                                       *");
 check();
 ok();
}

void init_list()  //序列定位
{
 register int t;
 for(t=0; t<Num; t++)
  fil_list[t].name[0] = '/0';
}

int time()  //获取系统时间

   long int data;
   time_t t; 
   struct tm *tm;
   char timea[30];
   t = time(NULL); 
   tm = localtime(&t); 
   strcpy(timea,asctime(tm));
   data=(timea[20]-48)*10000000+(timea[21]-48)*1000000+(timea[22]-48)*100000+(timea[23]-48)*10000+(timea[8]-48)*10+(timea[9]-48);
   if (timea[4]=='J'&&timea[5]=='a') data+=1*100;
   if (timea[4]=='F') data+=2*100;
   if (timea[4]=='M'&&timea[6]=='r') data+=3*100;
   if (timea[4]=='A'&&timea[5]=='p') data+=4*100;
   if (timea[4]=='M'&&timea[6]=='y') data+=5*100;
   if (timea[4]=='J'&&timea[6]=='n'&&timea[5]=='u') data+=6*100;
   if (timea[4]=='J'&&timea[6]=='l'&&timea[5]=='u') data+=7*100;
   if (timea[4]=='A'&&timea[6]=='g') data+=8*100;
   if (timea[4]=='S') data+=9*100;
   if (timea[4]=='O') data+=10*100;
   if (timea[4]=='N') data+=11*100;
   if (timea[4]=='D') data+=12*100;
   return data;

void more()  //查看更多信息模块
{
  register int n;
agai:
 printf("/n");
 printf(" 输入文件编号,您可以查询文件的详细信息(或键入0返回主菜单):");
 scanf ("%d",&n);
 if (n==0||n>=Num) goto end;
    else
 {
 system("cls"); 
   printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
     printf("  文件编号: %d/n", n);
  printf("  文件名: %s/n", fil_list[n-1].name);
  printf("  文件大小: %ld/n", fil_list[n-1].size);
  printf("  文件类型: %s/n", fil_list[n-1].type);
  printf("  修改日期: %ld/n", fil_list[n-1].editime);
  printf("  操作者: %s/n", fil_list[n-1].handlers);
  printf("  过期日期: %ld/n", fil_list[n-1].overdue);
  printf("  文件说明: %s/n", fil_list[n-1].content);
  printf(" ________________________________________________________________________/n");
        goto agai;
 }
end:  system("cls");
}

void add()  //添加
{
 int slot;
 char str[80];
 slot = find();
    if(slot == -1)
 printf("/n /6 系统储存容量已满,需要升级请联系imm@qq.com ");
 system("cls");
 printf("    [清翔]文件管理系统v1.8   版权所有   *新增功能:自动获取系统时间 /n");
    printf("/n /1 当前添加的文件自动编号为 %d/n /5 请您输入文件信息/n/n",slot+1);
 printf(" /1 文件名称(10字符以内): ");
 scanf ("%s",fil_list[slot].name);
 printf(" /2 文件大小(以K为单位,最大不超过1000000000K): ");
 scanf ("%s",str);
 fil_list[slot].size = strtoul(str, '/0', 10);
 printf(" /1 文件类型(请用3个字符表示,如exe,zip,rar...): ");
 scanf ("%s",fil_list[slot].type);
 fil_list[slot].editime = time();
 
 printf(" /2 文件相关说明(100字以内): ");
 scanf ("%s",fil_list[slot].content);
 strcpy (fil_list[slot].handlers,user);
 printf(" /1 文件过期日期(用8位数字表示,例如2004年9月3日即为20040903): ");
 scanf ("%s",str);
 fil_list[slot].overdue = strtoul(str, '/0', 10);
 save();
}

void dele()  //删除
{
 register int slot,t,a;
 char str[80];
agai:
    system("cls");
  printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
    printf("  编号   文件名            大小      修改日期       操作者/n");
 for(t=0; t<Num; t++)
 {
  if(fil_list[t].name[0])
  {
   printf("%4d     %-10s  %10ld      %8ld        %s /n", t+1,fil_list[t].name,fil_list[t].size,fil_list[t].editime,fil_list[t].handlers);
  }
 }
 printf("/n");
 printf(" 请选择,您需要删除文件的编号(或键入0返回主菜单):");
    scanf("%s",str);
 slot = atoi(str)-1;
 if (slot<0||slot>=Num) goto end;
 else
 {
 system("cls"); 
   printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
     printf("  文件编号: %d/n", slot+1);
  printf("  文件名: %s/n", fil_list[slot].name);
  printf("  文件大小: %ld/n", fil_list[slot].size);
  printf("  文件类型: %s/n", fil_list[slot].type);
  printf("  修改日期: %ld/n", fil_list[slot].editime);
  printf("  操作者: %s/n", fil_list[slot].handlers);
  printf("  过期日期: %ld/n", fil_list[slot].overdue);
  printf("  文件说明: %s/n", fil_list[slot].content);
  printf(" ________________________________________________________________________/n");
  printf(" 请键入1, 确认删除此文件记录, 或键入其它取消操作:");
  scanf("%d",&a);
  if (a==1)
  {
   fil_list[slot].name[0]='/0';
   save();
   load();
  }
  else goto agai;
 }
end:  system("cls");
}

void edit()  //修改
{
 register int t;
 int slot,n;
 char str[80];
    system("cls");
 printf("     [清翔]文件管理系统v1.8   版权所有    *新增功能:自动获取系统时间 /n");
 printf(" ________________________________________________________________________/n");
    printf("  编号   文件名            大小      修改日期       操作者/n");
 for(t=0; t<Num; t++)
 {
  if(fil_list[t].name[0])
  {
   printf("%4d     %-10s  %10ld      %8ld        %s /n", t+1,fil_list[t].name,fil_list[t].size,fil_list[t].editime,fil_list[t].handlers);
  }
 }
 printf("/n");
aga1:
 printf(" 请选择您要修改文件的编号(或键入0返回主菜单):");
 scanf ("%d",&n);
 if (n<=0||n>=Num) goto end;
 slot = find();
 if(slot < n)  {printf("/n /6 您输入的文件编号不对,请重新输入/n/n");goto aga1;}
    else
 {
 system("cls"); 
 printf("                 [清翔]文件管理系统v1.8    版权所有/n");
        printf("/n  原文件信息:/n");
 printf(" ________________________________________________________________________/n");
     printf("  文件编号: %d/n", n);
  printf("  文件名: %s/n", fil_list[n-1].name);
  printf("  文件大小: %ld/n", fil_list[n-1].size);
  printf("  文件类型: %s/n", fil_list[n-1].type);
  printf("  修改日期: %ld/n", fil_list[n-1].editime);
  printf("  操作者: %s/n", fil_list[n-1].handlers);
  printf("  过期日期: %ld/n", fil_list[n-1].overdue);
  printf("  文件说明: %s/n", fil_list[n-1].content);
  printf(" ________________________________________________________________________/n");

    printf("/n /1 当前修改的文件编号为 %d/n /5 请您修改文件信息/n/n",n);
 printf(" /1 文件名称(10字符以内): ");
 scanf ("%s",fil_list[n-1].name);
 printf(" /2 文件大小(以K为单位,最大不超过999999999K): ");
 scanf ("%s",str);
 fil_list[n-1].size = strtoul(str, '/0', 10);
 printf(" /1 文件类型(请用3个字符表示,如exe,zip,rar...): ");
 scanf ("%s",fil_list[n-1].type);
 strcpy (fil_list[n-1].handlers,user);
 
 printf(" /2 文件相关说明(100字以内): ");
 scanf ("%s",fil_list[n-1].content);
 strcpy (fil_list[n-1].handlers,user);
 printf(" /1 文件过期日期(用8位数字表示,例如2004年8月3日即为20040803): ");
 scanf ("%s",str);
 fil_list[n-1].overdue = strtoul(str, '/0', 10);
 save();
 }
end:  system("cls");
}

void list_size()  //按文件大小列表
{
 register int t;
 struct fil temp;
    int i,j,number;
 number=find();
    for(i=0;i<number-1;i++)
    for(j=0;j<number-i-1;j++)
    if(fil_list[j].size>fil_list[j+1].size)
 {temp=fil_list[j];
    fil_list[j]=fil_list[j+1];
    fil_list[j+1]=temp;}
    system("cls");
  printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
    printf("  编号   文件名            大小      修改日期       操作者/n");
 for(t=0; t<Num; t++)
 {
  if(fil_list[t].name[0])
  {
   printf("%4d     %-10s  %10ld      %8ld        %s /n", t+1,fil_list[t].name,fil_list[t].size,fil_list[t].editime,fil_list[t].handlers);
  }
 }
   more();
}

void list_editime()  //按修改时间列表
{
 register int t;
 struct fil temp;
    int i,j,number;
 number=find();
    for(i=0;i<number-1;i++)
    for(j=0;j<number-i-1;j++)
    if(fil_list[j].editime<fil_list[j+1].editime)
 {temp=fil_list[j];
    fil_list[j]=fil_list[j+1];
    fil_list[j+1]=temp;}
    system("cls");
  printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
    printf("  编号   文件名            大小      修改日期       操作者/n");
 for(t=0; t<Num; t++)
 {
  if(fil_list[t].name[0])
  {
   printf("%4d     %-10s  %10ld      %8ld        %s /n", t+1,fil_list[t].name,fil_list[t].size,fil_list[t].editime,fil_list[t].handlers);
  }
 }
   more();
}
 
void list() //列表
{
    char choice;
    register int t,a;
    system("cls");
  printf("                 [清翔]文件管理系统v1.8    版权所有/n");
 printf(" ________________________________________________________________________/n");
    printf("  编号   文件名            大小      修改日期       操作者/n");
 for(t=0; t<Num; t++)
 {
  if(fil_list[t].name[0])
  {
   printf("%4d     %-10s  %10ld      %8ld        %s /n", t+1,fil_list[t].name,fil_list[t].size,fil_list[t].editime,fil_list[t].handlers);
  }
 }
 
 for( ; ; )
 {
  choice = menu_list();
  switch(choice)
  {
  case 1: more();
       break;
  case 2: list_editime();
       break;
  case 3: list_size();
       break;
  case 0: ok();
  }
 }
}
void save()   //文件保存
{
 FILE *fp;
 register int i;
 if((fp=fopen("data.dat", "wb"))==NULL)
  printf("载入文件失败!/n");
 for(i=0; i<Num; i++)
  if(*fil_list[i].name)
   if(fwrite(&fil_list[i], sizeof(struct fil), 1, fp)!=1)
    printf("保存文件失败!/n");
 system("cls");
 printf("/n *                       系统:成功保存数据文件!                         *");
 fclose(fp);
}
void load()   //载入
{
 FILE *fp;
 register int i;
 if((fp=fopen("data.dat", "rb"))==NULL)
  printf("载入文件失败!/n");
    init_list();
 for(i=0; i<Num; i++)
  if(fread(&fil_list[i], sizeof(struct fil), 1, fp)!=1)
  {
   if(feof(fp))
    break;
   printf("载入文件失败!/n");
  }
 system("cls"); 
 printf("/n *                       系统:成功载入数据文件!                         *");
 fclose(fp);
}
void help()    //帮助
{
 printf("/n *                                                                       *");
 printf("/n *                                                                       *");
 printf("/n * ========================请查看Readme.doc文件========================= *");
 printf("/n *                                                                       *");
 printf("/n *                                                                       *");
}
int menu() //主菜单
{
 char str[10];
 int c;
 printf("/n * ===================================================================== *");
 printf("/n * 1.添加 2.修改 3.删除 4.列表 5.保存 6.载入 7.查找 8.清理 9.帮助 0.退出 *");
 printf("/n * ===================================================================== *");
 do{
  printf("/n /2 请输入您的选择:");
 scanf ("%s",str);
  c = atoi(str);
 } while(c<0 || c>9);
 system("cls"); 
 return c;
}
int menu_list() //列表菜单
{
 char str[10];
 int c;
 printf("/n * ===================================================================== *");
 printf("/n *  1.查看文件详细信息  2.按文件修改日期排列  3.按文件大小排列   0.返回  *");
 printf("/n * ===================================================================== *");
 do{
  printf("/n /2 请输入您的选择:");
 scanf ("%s",&str);
  c = atoi(str);
 } while(c<0 || c>3);
 return c;
}
int find() //检查容量
{
 register int t;
 for(t=0; fil_list[t].name[0]&&t<Num; t++);
 if(t==Num) 
  return -1;
 return t;
}
int menu_search() //查找菜单
{
 char str[80];
 int c;
 printf("/n * ===================================================================== *");
 printf("/n *              欢迎使用[清翔]文件管理系统之'文件查找功能'               *");
 printf("/n * ===================================================================== *");
 printf("/n  1.按文件名查找/n  2.按修改日期查找/n  3.按过期日期查找/n  4.按类型查找");
 printf("/n  5.按文件说明内容查找(关键字查找)/n  6.按操作用户名称查找/n  0.返回主菜单");
 printf("/n  ===================================================================== ");
 do{
  printf("/n /2 请输入您的选择:");
 scanf ("%s",str);
  c = atoi(str);
 } while(c<0 || c>6);
 
 return c;
}
void search_name() //查找模块1
{
  register int t,flag=0;
  char sname[20];
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /2 请输入您要查找文件的名称:");
  scanf ("%s",&sname);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(t=0; t<Num; t++)
  {
  if(strcmp(fil_list[t].name,sname)==0)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void search_editime()    //查找模块2
{
  register int t,flag=0;
  unsigned long int time_a,time_b;
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /2 请输入查找文件的修改日期范围(用8位数字表示,如2004年8月3日即为20040803)");
  printf("/n /1 首先请输入开始日期:");
  scanf ("%d",&time_a);
  printf(" /2 然后请输入结束日期:");
  scanf ("%d",&time_b);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(t=0; t<Num; t++)
  {
  if(fil_list[t].editime>=time_a&&fil_list[t].editime<=time_b)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void search_overdue() //查找模块3
{
  register int t,flag=0;
  unsigned long int time_a,time_b;
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /2 请输入查找文件的过期日期范围(用8位数字表示,如2004年8月3日即为20040803)");
  printf("/n /1 首先请输入开始日期:");
  scanf ("%d",&time_a);
  printf(" /2 然后请输入结束日期:");
  scanf ("%d",&time_b);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(t=0; t<Num; t++)
  {
  if(fil_list[t].overdue>=time_a&&fil_list[t].overdue<=time_b)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void search_type() //查找模块4
{
  register int t,flag=0;
  char stype[20];
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /2 请输入您要查找文件的类型:");
  scanf ("%s",stype);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(t=0; t<Num; t++)
  {
  if(strcmp(fil_list[t].type,stype)==0)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void search_handlers() //查找模块5
{
  register int t,flag=0;
  char shandlers[20];
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /2 请输入您要查找文件的操作用户名称:");
  scanf ("%s",shandlers);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(t=0; t<Num; t++)
  {
  if(strcmp(fil_list[t].handlers,shandlers)==0)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void search_content() //关键字查找模块
{
  register int t,flag=0,flag1;
  int a,b,c,d=0;
  char scontent[20];
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *                欢迎使用[清翔]文件管理系统之文件查找功能               *");
  printf("/n * ===================================================================== *");
  printf("/n /6 文件说明内容关键字查找,请输入关键字或词(8个字以内):");
  scanf ("%s",scontent);
  system("cls");
  printf("/n * 找到以下文件符合你的查找要求:                                        *");
  printf("/n * ===================================================================== *");
  for(b=0;scontent[b]!='/0';)  {b++;}
    for(t=0; t<Num; t++)
     for(a=0,flag1=0;fil_list[t].content[a]!='/0';a++)
  {
  d=0;
  for(c=0; c<b; c++) {if(scontent[c]==fil_list[t].content[a+c]) d++;}
  if(d==b&&flag1==0)
  {printf("/n    编号:%-4d  名称:%-10s/n", t+1,fil_list[t].name);
  flag=1;flag1=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                查找结果:   没有找到相应文件!                          *");
   printf("/n *                                                                       *");
   }
  else more();
}
void overdue_del() //文件清理
{
  register int t,a,flag=0;
  unsigned long int soverdue;
  system("cls"); 
  printf("/n * ===================================================================== *");
  printf("/n *              欢迎使用[清翔]文件管理系统之[过期文件清理功能]           *");
  printf("/n * ===================================================================== *");
  printf("/n * 根据当前计算机时间,系统查找出以下文件已经过期:                       *");
  printf("/n * ===================================================================== *");
  soverdue=time();
  for(t=0; t<Num; t++)
  {
  if(fil_list[t].overdue<soverdue&&fil_list[t].overdue>0)
  {printf("/n    编号:%-4d  名称:%-10s", t+1,fil_list[t].name);
  flag=1;}
  }
  if(flag==0)
   {
      system("cls");
   printf("/n *                                                                       *");
   printf("/n *                清理结果: 没有过期文件!                                *");
   printf("/n *                                                                       *");
   }
  else
  {
   printf("/n/n   请键入1,删除全部过期文件(谨慎操作,不可恢复) , 或键入其它取消操作: ");
  scanf("%d",&a);
  if (a==1)
  {
   for(t=0; t<Num; t++)
   { if(fil_list[t].overdue<=soverdue&&fil_list[t].overdue>0) fil_list[t].name[0]='/0';}
   save();
   load();
  }
  else system("cls");
  }
}
void search() //查找
{
 char ch;
 for( ; ; )
 {
  ch = menu_search();
  switch(ch)
  {
  case 1: search_name();
       break;
  case 2: search_editime();
       break;
  case 3: search_overdue();
       break;
  case 4: search_type();
    break;
  case 6: search_handlers();
    break;
  case 5: search_content();
    break;
  case 0: ok();
  }
 }
}
/* ========= 清翔兔 版权声明  ========= */
/*    欲拷贝此源程序,请注明出处,谢谢.   */
/* =====================================*/
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值