#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//结构体信息
typedef struct famify
{
char name[10];//姓名
float income;//收入
float expend;//支出
}fy;
// 全局变量
fy x[20];
int n = 0,a=1;
//菜单
void menu()
{
printf("\n");
system("pause");
system("cls");//清屏
system("color f0");
printf("\t\t\t\t-----------------欢迎使用家庭财务小管家-----------------------\n\n"
"\t\t\t\t\t\t1\t\t\t添加信息\n\n"
"\t\t\t\t\t\t2\t\t\t删除信息\n\n"
"\t\t\t\t\t\t3\t\t\t修改信息\n\n"
"\t\t\t\t\t\t4\t\t\t查询信息\n\n"
"\t\t\t\t\t\t0\t\t\t退出程序\n\n"
"\t\t\t\t------------------------------------------------------------\n");
do
{
printf("请输入你想执行的操作序号:");
scanf("%d", &a);
} while (a < 0 && a > 4);
}
//添加数据(默认一次添加一条)
void add(fy x[])
{
printf("\n==============================请输入信息=================================\n"
"\t\t姓名\t\t\t收入\t\t\t支出\n\t\t");
scanf("%s%f%f", x[n].name, &x[n].income, &x[n].expend);
n += 1;
}
//删除数据
void del(fy x[])
{
int i, j, p;
char name[5];
printf("\n请输入想删除对象的姓名:");
scanf("%s", &name);
for (i = 0, j = 0; i < n; i++)
{
if (strcmp(name, x[i].name) == 0 || j != 0)
{
j++;
x[i] = x[i + 1];
}
}
n -= 1;
if(j!=0)
printf("信息删除成功!\n");
}
//修改数据
void change(fy x[])
{
char Name[20]; printf("请输入修改对象姓名:\t"); scanf("%s", Name);
int i, j;
for (i = 0; i < n; i++)
{
if (strcmp(x[i].name, Name) == 0)
{
printf("请输入修改选项:\t<1>姓名\t<2>收入\t<3>支出\n");
scanf("%d", &j);
if (j == 1) scanf("%s", x[i].name);
else if (j == 2) scanf("%f", &x[i].income);
else if (j == 3) scanf("%f", &x[i].expend);
else printf("输入数据不在范围内!\n");
}
}
}
//输出数据
void output(fy x[], char* p,int j, int k)
{
printf("\t\t姓名\t\t\t收入\t\t\t支出\n");
int i=0;
for (i = 0; i < n; i++)
{
if(j==1 && x[i].income >= k)
printf("\t\t%s\t\t\t%.1f\t\t\t%.1f\n", x[i].name, x[i].income, x[i].expend);
else if(j==2 && x[i].expend>=k)
printf("\t\t%s\t\t\t%.1f\t\t\t%.1f\n", x[i].name, x[i].income, x[i].expend);
else if(j==3 && strcmp(x[i].name,p)==0)
printf("\t\t%s\t\t\t%.1f\t\t\t%.1f\n", x[i].name, x[i].income, x[i].expend);
}
}
//查询
void inquire(fy x[])
{
printf("<1>按收入查询\t\t<2>按支出查询\t\t<3>按姓名查询\n");
int i=0,j=0; scanf("%d", &i);
char Name[10] = { 0 };
if (i == 1)
{
printf("\n请设置最小值:\t"); scanf("%d", &j);
output(x, Name, 1, j);
}
else if (i == 2)
{
printf("\n请设置最小值:\t"); scanf("%d", &j);
output(x, Name, 2, j);
}
else if (i == 3)
{
printf("\n请输入姓名:\t"); scanf("%s", Name);
output(x, Name, 3, j);
}
else
printf("\n输入的数不在范围内!\n");
}
int main()
{
while (1)
{
menu();
switch (a)
{
case 1: add(x); break;//增
case 2: del(x); break;//删
case 3: change(x); break;//改
case 4: inquire(x); break;//查
case 0: exit(1);//退出程序
}
}
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
家庭财务小管家系统(C语言)(基于结构体数组)
共15个文件
exe:2个
pdb:2个
dsw:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 190 浏览量
2022-06-23
21:25:15
上传
评论 1
收藏 716KB ZIP 举报
温馨提示
1.软件:Dev-C++、VC6、CodeBlocks等 2.测试页面及结构体信息见我专栏《资源》下的《C语言系统资源测试》 3.压缩包里有代码和报告 4.代码排版有序,注释多,易于新手下载学习 5.大家下载后有什么问题,欢迎私聊解决 6.采用结构体数组实现
资源推荐
资源详情
资源评论
收起资源包目录
家庭财务小管家(代码+报告).zip (15个子文件)
家庭财务小管家(代码+报告)
家庭财务小管家.cpp 3KB
家庭财务小管家.dsp 3KB
家庭财务小管家.exe 133KB
C语言集中实践报告2022版.doc 491KB
Debug
vc60.pdb 44KB
vc60.idb 33KB
家庭财务小管家.exe 212KB
家庭财务小管家.pch 221KB
家庭财务小管家.pdb 417KB
家庭财务小管家.obj 13KB
家庭财务小管家.ilk 218KB
家庭财务小管家.ncb 33KB
家庭财务小管家.dsw 536B
家庭财务小管家.opt 48KB
家庭财务小管家.plg 1KB
共 15 条
- 1
资源评论
- m0_741645982022-12-19怎么能有这么好的资源!只能用感激涕零来形容TAT...
- 2201_756015572023-01-11感谢大佬,让我及时解决了当下的问题,解燃眉之急,必须支持!
感情谁不曾无奈
- 粉丝: 38
- 资源: 115
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功