和大家分享一個c編的日常支出管理系統

 

/*本軟件是完成日常收入與支出的記錄*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
FILE *fp;
int k=0;//初始化輸入個數爲0
int b=1;//主函數只讀取密碼驗證
struct money
{
 char name[201];
 char day[201];
 char livetishi[201];
 int takemoney,costmoney,allmoney,num;
}s[1000];
char str2[6]="000000";
void biaotou()
{
 printf(" ◤順序 ┃  進賬┃ 花銷日期 ┃  出賬  ┃出賬情況 ┃  剩餘money┃    生活提示 ◥\n");
    printf("════════════════════════════════════\n");
}
void menu()
{
 
 system("color 5e"); 
 system("cls");
  printf("               ╭*******************************************╮\n");
  printf("               |             ★個人理財信息 ★               |\n");
  printf("               |=============================================|\n");
  printf("               |             1.個人理財信息                  |\n");
 printf("               |=============================================|\n");
 printf("               |             2.顯示賬戶信息                  |\n");
 printf("               |=============================================|\n");
    printf("               |             3.刪除賬戶信息                  |\n");
 printf("               |=============================================|\n");
 printf("               |             4.查詢賬戶信息                  |\n");
 printf("               |=============================================|\n");
    printf("               |             5.修改賬戶信息                  |\n");
 printf("               |=============================================|\n");
 printf("               |             6.保存賬戶信息                  |\n");
 printf("               |=============================================|\n");
 printf("               |             7.登錄密碼修改                  |\n");
 printf("               |=============================================|\n");
 printf("               |              0.退出系統                     |\n");
 printf("               |=============================================|\n");
 printf("               |     ★o(≧v≦)o~~~(@^_^@)~~~o(≧v≦)o★     |\n");
 printf("               ╰ ※※※※※※※※☆☆☆☆※※※※※※※※※╯\n");

//理財信息
void huaxiao()
{
 int i;
 char strd;
 char m[50];
 for(i=0;i<1001;i++)
 {
   printf("    請輸入編號(輸入編號爲0時結束):");scanf("%d",&s[i].num);
   if(s[i].num==0)
   {
    fflush(stdin);       //清空緩存
    printf("是否退出y/n?    ");
    scanf("%c",&strd);
    if(strd=='y')
         break;
     else
     continue;
   }
   printf("請輸入進賬數目:");scanf("%d",&(s[i].takemoney));
   printf("請輸入花銷時間:");scanf("%s",m);strcpy(s[i].day,m);
      printf("請輸入花銷數目:");scanf("%d",&s[i].costmoney);
   printf("請輸入花銷情況:");scanf("%s",m);strcpy(s[i].name,m);
      printf("請輸入生活提示:");scanf("%s",m);strcpy(s[i].livetishi,m);
     s[i].allmoney=s[i].takemoney-s[i].costmoney;
      k++;
   }
}
int xianshi()//顯示文件
{
int i;
biaotou();
if((fp=fopen("huaxiao","rb"))==NULL)
{
 printf("           Can't Open!\n");
 exit(0);
}
for(i=0;i<=k;i++)
{
 fread(&s[i],sizeof(struct money),1,fp);
 printf("%4d %8d %12s %8d %10s %8d %16s \n",s[i].num,s[i].takemoney,s[i].day,s[i].costmoney,s[i].name,s[i].allmoney,s[i].livetishi);
 
}
fclose(fp);
return 0;
}
void save(int m) //保存文件
{
 FILE *fp;
 int j;
if((fp=fopen("C:huaxiao","wb"))==NULL)
 {
  printf("can't open!");
  exit(0);
 }
 for(j=0;j<=m;j++)
   if(fwrite(&s[j],sizeof(struct money),1,fp)!=1)
   printf("file write error\n");
   fclose(fp);
   printf("\n\n");
   printf("                     保存成功!!!!");
}
//刪除文件
void shanchu()
{
 int i,j,num,m;
 printf("請輸入你要刪除的編號:");
 scanf("%d",&num);
 if((fp=fopen("huaxiao","rb"))==NULL)
 {
  printf("Can't Open!!!");
  exit(0);
 }
 for(i=0;i<=k;i++)
 {
  fread(&s[i],sizeof(struct money),1,fp);
  if(s[i].num==num)
   m=i;
 }
fclose(fp);
if((fp=fopen("huaxiao","rb"))==NULL)
 {
  printf("Can't Open!!!");
  exit(0);
 }
 for(i=m;i<=k;i++)
 {
  j=i+1;
  s[i].num=s[j].num;
                s[i].takemoney=s[j].takemoney;
  strcpy(s[i].day,s[j].day);
  s[i].costmoney=s[j].costmoney;
  strcpy(s[i].name,s[j].name);
                s[i].allmoney=s[j].allmoney;
  strcpy(s[i].livetishi,s[j].livetishi);
 }
 printf("\n\n");
 printf("                       刪除成功!!!!!!!!!      \n");
fclose(fp);
save(k-1);
}
void chaxun()     //以編號查詢
{
FILE* fp;
int num;
int i,m;
printf("      請輸入編號:");
scanf("%d",&num);
if((fp=fopen("huaxiao","rb"))==NULL)
{
 printf("           Can't Open!\n");
 exit(0);
}
for(i=0;i<=k;i++)
{
  if(s[i].num==num)
  {
   printf("                       ◆■查詢到結果◆■\n\n");
     m=i;
    biaotou();
     for(i=0;i<=k;i++)
{
 fread(&s[m],sizeof(struct money),1,fp);
 printf("%4d %8d %12s %8d %10s %16d %s \n",s[i].num,s[i].takemoney,s[i].day,s[i].costmoney,s[i].name,s[i].allmoney,s[i].livetishi);
 
}
    
  }
  else
     printf("Not Find!!!!");
}

}
//密碼登陸
void mima()
{
 
 char str1[6];
 system("color e4");
   if((fp=fopen("mima","wb"))==NULL)
 {
  printf("can't open this file!!");
  exit(0);
 }
         printf("請設定新密碼(6個字符),以回車鍵結束:");
   scanf("%s",str1);
   strcpy(str2,str1);
  fwrite(str2,sizeof(str2),1,fp);
         fclose(fp);
}
//保存

//tui出顯示
void tuichu()
{
 system("color e9");
 printf("\n\n\n");
printf(" *******************~(@^_^@)~★謝謝你的使用★~(@^_^@)~**************************\n");
printf(" ******************* (*^◎^*)☆作者:飛向太陽☆(*^◎^*)*************************\n");
printf(" *************************★★版本號:zhyg-1.0 ★★*****************************\n");
}
//主函數
void main()
{
  
    FILE *fp;
    int i;
   
    int select,m;
    char str[7];
    int c=2;
    system("color 5e");
    if(b==1)
    {
     printf("                  .你僅有3次機會·\n");
 if((fp=fopen("mima","wb"))==NULL)
 {
  printf("can't open this file!!");
  exit(0);
 }
   fread(str2,sizeof(str2),1,fp);
 for(i=0;i<3;i++,c--)
 {
      printf("請輸入密碼:");
   scanf("%s",str);
   if(strcmp(str2,str)==0)
    break;
   else if(c>0)
   printf("還有%d次機會!!!\n",c);
     else if(c==0)
     {
      printf("  謝謝使用!!\n\n");
      exit(0);
     } 
    
  }
 b--;
    }
 //fclose(fp);

 menu();
 printf("               ▼溫馨提示▼‥★☆輸入完數據請按6進行保存☆★\n");
    printf("                    請選擇所需的項目(以ENTER結束): ");
  scanf("%d",&select);
  switch(select)
 {
  case 1:printf("                      ***增加賬戶信息**                     \n");system("cls");huaxiao();
   printf("輸入0返回主菜單:");scanf("%d",&m);if(m==0);main();break;   
  case 2:printf("                      ***顯示賬戶信息**                     \n");system("cls");xianshi();
   printf("輸入0返回主菜單:");scanf("%d",&m);if(m==0)main();break;  
  case 3:printf("                      ***刪除賬戶信息**                     \n");system("cls");shanchu();
   printf("輸入0返回主菜單:");scanf("%d",&m);if(m==0)main();break;    
  case 4:printf("                      ***查詢賬戶信息**                     \n");system("cls");chaxun();
   printf("輸入0返回主菜單: ");scanf("%d",&m);if(m==0)main();break;        
  case 5:printf("                      ***修改賬戶信息**                     \n");system("cls");printf("                       ⊙﹏⊙不好意思,出錯了⊙﹏⊙!\n\n\n\n\n");
   printf("輸入0返回主菜單: ");scanf("%d",&m);if(m==0)main();break;     
  case 6:printf("                      ***保存賬戶信息**                     \n");system("cls");save(k);
   printf("輸入0返回主菜單: ");scanf("%d",&m);if(m==0)main();break;    
  case 7:printf("                      ***登錄密碼修改**                     \n");system("cls");mima();
       printf("輸入0返回主菜單: ");scanf("%d",&m);if(m==0)main();break;
                       
  case 0:printf("                      *** 退出系統 **                       \n");system("cls");tuichu(); break;       
  default: break;          /*按鍵有誤,必須爲數值0-9*/
  }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章