您的位置:首页 > 其它

和大家分享一个c编的日常支出管理系统

2011-09-08 16:57 337 查看
/*本软件是完成日常收入与支出的记录*/

#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*/

}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐