蓝蓝
【工资发放币种统计】求救命T T

课题内容:

为财务部门的出纳人员编制一个发放工资的软件。

已知在一个数据文件中存放了某部门的职工工号和工资额,工资都是以元为单位的整数。现有人民币的种类为100元,50元,20元,10元,5元和1元共6种。

编写程序,计算每位职工各种币种的张数、某部门各种币种的张数及总工资额数,结果存于数据文件中。

存储结构:顺序存储。

数据类型:整型数组。

#include<stdio.h>

void main()

{

int x, sum[6];

for(int a=0;a<6;a++)

sum[a]=0;

printf("请输入员工工资-用空格空开,以0为结束:");

while (scanf("%d", &x),x)

{

sum[0] += x / 100;

x %= 100;

sum[1] += x / 50;

x %= 50;

sum[2] += x / 10;

x %= 10;

sum[3] += x / 5;

x %= 5;

sum[4] += x / 2;

x %= 2;

sum[5] += x;

}

printf("100元的%d张,50元的%d张,20元的%d张,10元的%d张,5元的%d张,1元的%d张\n",sum[0],sum[1],sum[2],sum[3],sum[4],sum[5]);

return 0;

}↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

求修改成课题要求的版本T T。。。。。@@22!!

姜小衰
文件不存在
展开Biu

[mw_shl_code=c,true]void f(int a[])

{

FILE *fp;

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

{

printf("文件不存在");

return 0;

}

fprintf(fp,"100元的%d张,50元的%d张,20元的%d张,10元的%d张,5元的%d张,1元的%d张\n",a[0],a[1],a[2],a[3],a[4],a[5]);

}

[/mw_shl_code]

虽然不知道楼主还要不……

你在程序中调用这个函数就行了……然后就可以输出到那个1.txt文件里面

[查看全文]
老虚__颜艺森赛
我不会把数据存入文件中这一步
展开Biu

蓝蓝 发表于 2013-1-13 19:13

T T我不会把数据存入文件中这一步……

http://blog.sina.com.cn/s/blog_4ed331560100jbdj.html

http://www.cnblogs.com/ifeiyun/articles/1573134.html

-。-搜索一下很多例子的,或者上msdn查fstream

假设文件里是这种格式

[工号,总额],[100块张数,50块张数,20块张数]

[工号,总额],[100块张数,50块张数,20块张数]

读出来算好结果,更新到第二个数组就行了

[查看全文]
蓝蓝
颜艺森赛
展开Biu

老虚__颜艺森赛 发表于 2013-1-13 14:30

数据类型:整型数组

T T我不会把数据存入文件中这一步……

[查看全文]
蓝蓝
好久不写了
展开Biu

tyroach 发表于 2013-1-13 15:46

好久不写了,写的太烂了O__O"…,重新又加了下注释

[mw_shl_code=cpp,true]#include

#define NUM_STAFF 3

><谢谢!窝拿回去参考!

[查看全文]
姜小衰
我只是来看看大家写的
展开Biu

恩,我只是来看看大家写的

其实思路多种多样了,感觉有的思路就很简洁

不过多看看总是好的,至于那个文件处理么,回宿舍我写写看看〜

[查看全文]
tyroach
本帖最后由
展开Biu

本帖最后由 tyroach 于 2013-1-13 15:47 编辑

好久不写了,写的太烂了O__O"…,重新又加了下注释

[mw_shl_code=cpp,true]#include <stdio.h>

#define NUM_STAFF 3

//创建职工结构体

typedef struct tagStaff

{

int nu; //职工号

int paySum; //工资

int hundredCount; //100元面额张数(以下类似)

int fiftyCount;

int tenCount;

int fiveCount;

int oneCount;

}Staff;

int main()

{

int i=0;

//创建职工对象数组,如需要从数据文件中读的话另解

Staff jishu[NUM_STAFF];

//数据输入

for(i=0; i<NUM_STAFF; i++)

{

jishu.nu = 1000+i;

printf("input staff %d and pay:", jishu.nu);

scanf("%d", &jishu.paySum);

int temp= jishu.paySum;

jishu.hundredCount = temp/100;

temp = temp%100;

jishu.fiftyCount = temp/50;

temp = temp%50;

jishu.tenCount = temp/10;

temp = temp%10;

jishu.fiveCount = temp/5;

temp = temp%5;

jishu.oneCount = temp;

}

//数据输出

int sumHundred=0, sumFifty=0, sumTen=0, sumFive=0, sumOne=0;

for(i =0; i<NUM_STAFF; i++)

{

printf("工号%d的工资是%8d, 应该发100元%d张,50元%d张,10元%d张,5元%d张,1元%d张。\n",

jishu.nu,

jishu.paySum,

jishu.hundredCount,

jishu.fiftyCount,

jishu.tenCount,

jishu.fiveCount,

jishu.oneCount);

sumHundred += jishu.hundredCount;

sumFifty += jishu.fiftyCount;

sumTen += jishu.tenCount;

sumFive += jishu.fiveCount;

sumOne += jishu.oneCount;

}

printf("该部门100元需%d张,50元需%d张,10元需%d张,5元需%d张,1元需%d张\n",

sumHundred, sumFifty, sumTen, sumFive, sumOne);

system("pause");

}[/mw_shl_code]

[查看全文]
tyroach
的工资是
展开Biu

#include <stdio.h>

#define NUM_STAFF 3

typedef struct tagStaff

{

int nu;

int paySum;

int hundredCount;

int fiftyCount;

int tenCount;

int fiveCount;

int oneCount;

}Staff;

int main()

{

int i=0;

Staff jishu[NUM_STAFF];

for(i=0; i<NUM_STAFF; i++)

{

jishu.nu = 1000+i;

printf("input staff %d and pay:", jishu.nu);

scanf("%d", &jishu.paySum);

int temp= jishu.paySum;

jishu.hundredCount = temp/100;

temp = temp%100;

jishu.fiftyCount = temp/50;

temp = temp%50;

jishu.tenCount = temp/10;

temp = temp%10;

jishu.fiveCount = temp/5;

temp = temp%5;

jishu.oneCount = temp;

}

int sumHundred=0, sumFifty=0, sumTen=0, sumFive=0, sumOne=0;

for(i =0; i<NUM_STAFF; i++)

{

printf("工号%d的工资是%8d, 应该发100元%d张,50元%d张,10元%d张,5元%d张,1元%d张。\n",

jishu.nu,

jishu.paySum,

jishu.hundredCount,

jishu.fiftyCount,

jishu.tenCount,

jishu.fiveCount,

jishu.oneCount);

sumHundred += jishu.hundredCount;

sumFifty += jishu.fiftyCount;

sumTen += jishu.tenCount;

sumFive += jishu.fiveCount;

sumOne += jishu.oneCount;

}

printf("该部门100元需%d张,50元需%d张,10元需%d张,5元需%d张,1元需%d张\n",

sumHundred, sumFifty, sumTen, sumFive, sumOne);

system("pause");

}

用结构体比较简单点,我只写了一个部门的,输入的是三个员工的,其他的不知道是不是LZ想要的。

[查看全文]
老虚__颜艺森赛
数据类型
展开Biu

数据类型:整型数组 <------ 这个是对存储格式的要求么?

建个二维数组,第一维度存员工序号和总额,第二维度存你算好的张数

然后把这些内容写到文件上,参考c++操作文本文件之类的即可

计算每位职工各种币种的张数、某部门各种币种的张数及总工资额数 <--- 解析你存储的文件算一遍即可-。-

[查看全文]