c语言收入统计函数 c语言程序设计统计工资

C语言统计函数

如果你的记录是按顺序排号的,那么只需要在C中加上数据库查询语言查到最大的号就可以了.

创新互联建站是一家集成都网站建设、网站建设、网站页面设计、网站优化SEO优化为一体的专业网站建设公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

如果不是有顺序号的,可以用SQL语言中的select count

如何用c语言编写一个人的月收入

亲,根据上面你自己说的,我给出我的推测

#include stdio.h

void main()

{

float a,b,c;

printf("请输入你的月收入工资:");

scanf("%f",a);

printf("请输入你的总销售额:");

scanf("%f",b);

c=a+b*0.085;

printf("你的一个月总收入是:%0.2f\n",c);

}

C语言编写家庭收支管理程序

给你写了个,不过没写好,你自己给改改吧!将就着,还能用,统计信息和退出时保存有点问题,自己给改改吧!英语不好本人,用拼音写的!

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#include"math.h"

#define TIAOSHU 100

#define CHENGGONG 1

#define SHIBAI 0

#define SHOURU 1

#define ZHICHU 2

#define ZENGJIA 1

#define SHANCHU 2

#define XIUGAI 3

#define CHAXUN 4

#define TONGJI 5

#define TUICHU 6

/*以下定义全局变量*/

struct shouzhixinxi

{

char xingming[20];

char laiyuan[40];

char riqi[20];

char shumu[10]; /*用double貌似读不出来*/

}jilu[TIAOSHU];

/*定义收支情况结构体,TIAOSHU表示最大的容量,可自行更改*/

char xuanze;

/*该数据用于接收选择信息*/

int tishi;

/*用于接收各函数返回的提示信息*/

int dijitiao=0;

/*用于表示当前是第几条信息*/

int i;

/*用于存放临时的条数,相当于零食的dijitiao*/

char linshi[40];

double linshi2;

/*用于存放一些临时信息*/

/*代码*/

/*用于保存信息*/

void baocun()

{

FILE *fp;

fp=fopen("shouzhiguanli.txt","w+");

for(i=0;idijitiao;i++)

{

fprintf(fp,"%s ",*jilu[i].xingming);

fprintf(fp,"%s ",*jilu[i].laiyuan);

fprintf(fp,"%s ",*jilu[i].riqi);

fprintf(fp,"%s ",*jilu[i].shumu);

}

fclose(fp);

}

/*用于输出查询到的信息*/

int shuchu(int i)

{

printf("\n\n \37~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\37\n");

printf(" \23 \3.收 支 人 员 姓 名:%-20s\23\n",jilu[i].xingming);

printf(" \23 \3.收 支 来 源 或 去 向:%-17s\23\n",jilu[i].laiyuan);

printf(" \23 \3.收 支 日 期:%-26s\23\n",jilu[i].riqi);

printf(" \23 \3.收 支 数 目:%-26s\23\n",jilu[i].shumu);

printf(" \36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\36\n");

return CHENGGONG;

}

/*用于新建*/

void xinzeng(int dijitiao)

{

while(1)

{

printf("\n请输入收入或支出人员的姓名:");

scanf("%s",jilu[dijitiao].xingming);

printf("\n请输入收入来源或支出去向:");

scanf("%s",jilu[dijitiao].laiyuan);

printf("\n请输入收入或支出的日期:");

scanf("%s",jilu[dijitiao].riqi);

printf("\n请输入收入或支出的数目:");

scanf("%s",jilu[dijitiao].shumu);

printf("是否保存这条信息? Y/N\n");

xuanze=getch();

if(xuanze=='Y' || xuanze=='y')

{

dijitiao++;

printf("保存成功\n");

}

printf("是否继续添加新记录? Y/N\n");

xuanze=getch();

printf("\n");

if(xuanze=='N' || xuanze=='n')

break;

}

}

/*用于删除*/

void shanchu()

{

int xuhao=0,biaoshi[20]={-1};

while(1)

{

printf("\n请选择查询要删除的记录的方式: 1.姓名 2.来源或去向 3.日期 4.数目\n");

xuanze=getch();

xuanze=xuanze-48;

switch(xuanze)

{

case 1:

printf("请输入要查询的姓名:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].xingming,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 2:

printf("请输入要查询的来源或去向:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].laiyuan,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 3:

printf("请输入要查询的日期:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].riqi,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 4:

printf("请输入要查询的数目:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].shumu,linshi)==0)

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

default:printf("输入错误\n");

}

printf("请输入记录左上角对应的序号:");

xuanze=getch();

printf("\n");

xuanze=xuanze-48;

if(biaoshi[xuanze]!=-1 xuanze=xuhao xuanze0)

{

biaoshi[0]=biaoshi[xuanze];

printf("确认删除? Y/N \n");

xuanze=getch();

if(xuanze=='Y' || xuanze=='y')

{

strcpy(jilu[biaoshi[0]].xingming,"\0");

strcpy(jilu[biaoshi[0]].laiyuan,"\0");

strcpy(jilu[biaoshi[0]].riqi,"\0");

strcpy(jilu[biaoshi[0]].shumu,"\0");

printf("删除成功\n");

}

}

else printf("输入错误.\n");

printf("是否继续删除? Y/N \n");

xuanze=getch();

printf("\n");

if(xuanze=='N' || xuanze=='n')

break;

}

}

/*用于修改*/

void xiugai()

{

struct shouzhixinxi linshijilu;

int xuhao=0,biaoshi[20]={-1};

while(1)

{

printf("\n请选择查询要修改的记录的方式: 1.姓名 2.来源或去向 3.日期 4.数目\n");

xuanze=getch();

xuanze=xuanze-48;

switch(xuanze)

{

case 1:

printf("请输入要查询的姓名:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].xingming,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 2:

printf("请输入要查询的来源或去向:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].laiyuan,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 3:

printf("请输入要查询的日期:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].riqi,linshi)==0) /*查询*/

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 4:

printf("请输入要查询的数目:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].shumu,linshi)==0)

{

xuhao++;

biaoshi[xuhao]=i;

printf("\n\n%10d.-",xuhao);

tishi=shuchu(i);

}

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

default:printf("输入错误\n");

}

printf("请输入记录左上角对应的序号:");

xuanze=getch();

xuanze=xuanze-48;

if(biaoshi[xuanze]!=-1 xuanze=xuhao xuanze0)

{

biaoshi[0]=biaoshi[xuanze];

printf("\n请输入新姓名:");

scanf("%s",linshijilu.xingming);

printf("\n请输入新收入来源或支出去向:");

scanf("%s",linshijilu.laiyuan);

printf("\n请输入新收入或支出的日期:");

scanf("%s",linshijilu.riqi);

printf("\n请输入新收入或支出的数目:");

scanf("%s",linshijilu.shumu);

printf("确认修改? Y/N \n");

xuanze=getch();

if(xuanze=='Y' || xuanze=='y')

{

strcpy(jilu[biaoshi[0]].xingming,linshijilu.xingming);

strcpy(jilu[biaoshi[0]].laiyuan,linshijilu.laiyuan);

strcpy(jilu[biaoshi[0]].riqi,linshijilu.riqi);

strcpy(jilu[biaoshi[0]].shumu,linshijilu.shumu);

printf("修改成功\n");

}

}

else printf("输入错误.\n");

printf("是否继续修改? Y/N \n");

xuanze=getch();

printf("\n");

if(xuanze=='N' || xuanze=='n')

break;

}

}

/*用于查询*/

void chaxun(void)

{

while(1)

{

printf("\n请选择查询方式: 1.姓名 2.来源或去向 3.日期 4.数目\n");

xuanze=getch();

xuanze=xuanze-48;

switch(xuanze)

{

case 1:

printf("请输入要查询的姓名:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].xingming,linshi)==0) /*查询*/

tishi=shuchu(i);

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 2:

printf("请输入要查询的来源或去向:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].laiyuan,linshi)==0) /*查询*/

tishi=shuchu(i);

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 3:

printf("请输入要查询的日期:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].riqi,linshi)==0) /*查询*/

tishi=shuchu(i);

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

case 4:

printf("请输入要查询的数目:");

scanf("%s",linshi);

for(i=0;idijitiao;i++)

if(strcmp(jilu[i].shumu,linshi)==0)

tishi=shuchu(i);

if(tishi!=CHENGGONG)

printf("未找到相关记录\n");

break;

default:printf("输入错误\n");

}

printf("是否继续查询? Y/N");

xuanze=getch();

if(xuanze=='N' || xuanze=='n')

break;

}

}

/*将字符串转换为浮点数*/

double zhuanhuan(char *str)

{

int zhengshu=0,xiaoshu=0,neixing=1,zhishu,zhengfu=1;

double jieguo=0;

zhengshu=strlen(str);

switch(str[0])

{

case '-':

str[0]='0';

zhengfu=-1;

break;

case '+':

str[0]='0';

zhengfu=1;

break;

}

for(i=0;str[i]!='\0';i++)

if(str[i]='.')

{

zhengshu=i;

break;

}

for(i=0;str[i]!='\0';i++)

{

if(str[i]!='.' neixing==1)

{

zhishu=zhengshu-i-1;

jieguo=jieguo+(str[i]-48)*pow(10,zhishu);

}

else

{

if(str[i]=='.')

neixing=0;

else

{

zhishu=i-zhengshu-1;

jieguo=jieguo+(str[i]-48)*pow(10,zhishu);

}

}

}

if(zhengfu==-1)

return -jieguo;

return jieguo;

}

/*用于统计*/

void tongji(void)

{

double shumu=0,shumu2;

char riqi1[10],riqi2[10];

while(1)

{

printf("\n请输入起始日期(含该日,年四位,月日两位):");

scanf("%s",riqi1);

printf("\n请输入截止日期(含该日,年四位,月日两位):");

scanf("%s",riqi2);

if(strcmp(riqi1,riqi2)0)

for(i=0;idijitiao;i++)

if(strcmp(riqi1,jilu[i].riqi)=0 strcmp(riqi2,jilu[i].riqi)=0)

{

shumu2=zhuanhuan(jilu[i].shumu);

shumu=shumu+shumu2;

}

else printf("输入有误.\n");

printf("\n该时间段内总收支情况为:%.2f\n",shumu);

printf("\n是否继续统计? Y/N ");

xuanze=getch();

printf("\n");

if(xuanze=='N' || xuanze=='n')

break;

}

}

/*导入文件上的信息,相当于初始化*/

int daoruxinxi()

{

FILE *fp;

if((fp=fopen("shouzhiguanli.txt","r+"))==NULL)

{

printf("当前收支情况文件不存在.\n");

if((fp=fopen("shouzhiguanli.txt","w+"))==NULL)

{

printf("未知错误导致未能建立新文件,按任意键结束程序.\n");

getch();

exit(0);

}

else

{

fclose(fp);

printf("建立新文件成功,是否开始新建记录. Y\\N\n");

xuanze=getch();

if(xuanze=='Y' || xuanze=='y')

xinzeng(dijitiao);

}

}

else

{

for(dijitiao=0;(dijitiaoTIAOSHU !feof(fp));dijitiao++)

{

fscanf(fp,"%s ",jilu[dijitiao].xingming);

fscanf(fp,"%s ",jilu[dijitiao].laiyuan);

fscanf(fp,"%s ",jilu[dijitiao].riqi);

fscanf(fp,"%s ",jilu[dijitiao].shumu);

}

fclose(fp);

return CHENGGONG;

}

return SHIBAI;

}

/*主函数*/

void main()

{

if(daoruxinxi()==CHENGGONG) /*若导入成则开始主菜单*/

{

int xunhuan=1; /*用于控制循环*/

while(xunhuan)

{

printf("\n\n\n \37~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\37\n"); /*以下输出提示信息*/

printf(" \23 导 入 收 支 情 况 成 功. \23\n");

printf(" \23~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\23\n");

printf(" \23 \1 1. 增 加 新 记 录 \23\n");

printf(" \23 \1 2. 删 除 已 有 记 录 \23\n");

printf(" \23 \1 3. 修 改 已 有 记 录 \23\n");

printf(" \23 \1 4. 查 询 已 有 记 录 \23\n");

printf(" \23 \1 5. 统 计 一 段 时 间 内 的 数 据 \23\n");

printf(" \23 \1 6. 退 出 该 系 统 \23\n");

printf(" \36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\36\n\n");

printf("请选择要执行的操作:");

xuanze=getch(); /*选择操作*/

xuanze=xuanze-48; /*前面接收的是1的ASC码实际上是49而不是1,转换一下*/

switch(xuanze)

{

case ZENGJIA:xinzeng(dijitiao);break;

case SHANCHU:shanchu();break;

case XIUGAI:xiugai();break;

case CHAXUN:chaxun();break;

case TONGJI:tongji();break;

case TUICHU:xunhuan=0;break;

default:printf("输入错误.\n");

}

}

}

baocun(); /*保存更改*/

}


分享文章:c语言收入统计函数 c语言程序设计统计工资
转载来于:http://ybzwz.com/article/ddgcjdj.html