课题内容:
为财务部门的出纳人员编制一个发放工资的软件。
已知在一个数据文件中存放了某部门的职工工号和工资额,工资都是以元为单位的整数。现有人民币的种类为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!!
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块张数]
读出来算好结果,更新到第二个数组就行了
[查看全文]
本帖最后由 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]
[查看全文]
#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想要的。
[查看全文]
