一道C++问题 请高手帮帮忙 谢谢了

某单位职工的基本工资数据如下:
职工编号 姓名 基本工资 加班工资 奖金 扣除 实发工资
K01 tom 1200 500 1000 134
K02 john 2000 120 500 300
K03 white 1400 200 400 120
编写程序,从键盘输入各位职工的工资数据,存入磁盘文件Salary.dat中,然后从该文件读出职工的工资数据,并计算输出每位职工的实发工资,输出格式与上面相同,但要输出已被计算出来的实发工资。实发工资的计算方法如下:
实发工资=基本工资+加班工资+奖金-扣除
题目就是这样了 ,各位大哥帮帮我吧 ,我在线等答案 ,谢谢了
就是用VC++写的 673486009@qq.com 谢谢了
2楼的大哥啊 我是个初学者啊 不会做这个 一点头绪都没有 晕啊

这个是我花了好长时间给你编写的 编译运行后出来的结果是正确的 希望你能满意 有什么不懂的可以跟我讨论

#include<fstream>
#include<iostream>
#include<string>
using namespace std;

struct Worker//定义一个结构体用以存放职工数据
{string num;
string name;
int base;
int extend;
int prize;
int deduct;
int actual;
};

int main()
{
Worker worker[2];//定义一个机构体数组,包含三个结构体对象
for(int i=0;i<3;i++)//输入职工相关数据
{
cin>>worker[i].num>>worker[i].name;
cin>>worker[i].base>>worker[i].extend>>worker[i].prize>>worker[i].deduct;
}

ofstream outfile("Salary.dat");//将职工数据写入文件
if(!outfile)
{cerr<<"open Salary.dat error!"<<endl;
exit(1);
}
for(int j=0;j<3;j++)
{
outfile<<worker[j].num<<' '<<worker[j].name<<' ';
outfile<<worker[j].base<<' '<<worker[j].extend<<' '<<worker[j].prize<<' '<<worker[j].deduct<<' ';
}
outfile.close();

ifstream infile("Salary.dat",ios::in|ios::_Nocreate);//从文件中读入职工数据并计算实际工资
if(!infile)
{cerr<<"open Salary.dat error!"<<endl;
exit(1);
}
for(int m=0;m<3;m++)
{
infile>>worker[m].num>>worker[m].name;
infile>>worker[m].base>>worker[m].extend>>worker[m].prize>>worker[m].deduct;
worker[m].actual=worker[m].base+worker[m].extend+worker[m].prize-worker[m].deduct;
}
infile.close();

cout<<"职工编号"<<'\t'<<"姓名"<<'\t'<<"基本工资"<<'\t'<<"加班工资"<<'\t'<<"奖金"<<'\t'<<"扣除"<<'\t'<<"时发工资"<<endl;//打印相关表格
for(int n=0;n<3;n++)
cout<<worker[n].num<<'\t'<<worker[n].name<<'\t'<<worker[n].base<<'\t'<<worker[n].extend<<'\t'<<worker[n].prize<<'\t'
<<worker[n].deduct<<'\t'<<worker[n].actual<<endl;
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-08
用VC++写的行吗?如果需要,留邮箱,我这就给你写一个。
第2个回答  2009-10-08
c++课程设计来了 好多这样的问题
第3个回答  2009-10-08
用MFC还是C++?
带不带界面啊?还是黑屏状态下的就可以?
第4个回答  2009-10-08
这是作业吧?
这个题不难,自己做比较好.

C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢 ...
代码已经修正,并且按照要求输出了“生日快乐”的图案。如果需要更详细的解释或者其他帮助,请告知。

一道C++的问题,哪位大神帮帮忙啊,新手压力很大啊。。。
1,调用GetMemory( str )后, str并未产生变化,依然是NULL.只是改变的str的一个拷贝的内存的变化 2,strcpy( str, "hello world" );程序运行到这将产生错误。3,new的时候有可能内存出错,应该在*p = (char *) malloc( num ); 后判断内存是否申请成功,应加上:if ( *p == NULL ){ .....

c++中strcpy问题,请高手指点,谢谢啦。
这里考察的是C语言的 字符数组和字符串的差别。第一段:char *str="我是中国人";\/\/这个是字符串。是常量(系统为它分配的位置,应该是在全局区)strcpy(str,"中国人");\/\/str指向它,但是,这个位置既然是常量,当然就不能赋值了。第二段:和第一段一样的道理。第三段:char *str;char str2[...

一道C++编程题目,求大神帮忙,有没有简单点的算法,求程序!!答得好可以...
1.对于第八列,和计算完成后,不管找没找到值,寻找当前列下一行(即i+1),无需进入下一列;2.对于非第八列,有两种情况:a.和大于等于最大值10(如果矩阵中有零值存在,此处应为大于10),不满足路径条件,没必要进入下一列计算,进入当前列下一行进行计算(即i+1);b.满足条件,则进入下一...

C++的问题,求各位大佬帮帮忙是有关建立自己的double类型数组的问题
要理清楚什么是数组,如何动态分配以及如何给数组赋值,遍历等基础知识。例如:double a[10];\/\/这种为double 数组,10个double 类型元素 double *b;\/\/double类型指针 静态分配b = a;动态分配 b = new double(10);赋值就是遍历数组,对其中元素赋值。

C++题,求助各位高手帮个忙!越快越好!小弟在这不胜感激
第一个:include <stdio.h> include <string.h> class CStudent { protected:char m_szName[100];int m_nNo;public:CStudent(char* pszName, int nNo){ strcpy(m_szName, pszName);m_nNo = nNo;printf("带参构造函数被调用\\n");} CStudent(CStudent &CS){ strcpy(m_szName, CS....

求高手帮忙解决下面这个C++中的一个题目。看俺的代码哪里有错...
1.求个位数,直接用n%10就可以了,你那样子是求的最高位的值 2.既然你已经定了个位为7,直接给m赋7就可以了吧。3.你上面那样子算的时候,最后退出第一个while循环的时候,n是为0的,下面不能用这个n计算,你若是不断的用n\/=10,开始应该用个变量保存这个n的值 4.还有在main中,不能单单...

C++求高手帮忙写个程序...输出“生日快乐”四个字..用符号拼出来..谢 ...
其他类似问题2013-06-04 用C语言写个代码,利用空格和符号拼写出生日快乐之类的 6 2016-04-26 请高手帮我做下这个题,用c++编写一个程序。谢了! 2016-06-15 求大神帮忙写个程序,真心的,谢谢啦 2015-04-20 c++题,请高手帮忙写个程序答案,谢谢 2016-05-03 C++: 根据题目要求,写出程序和输出结果,急,...

关于C++的一道编程题,请高手帮忙阿
因为没有学过文件,所以不太看得懂题,还请高手指点一下文本编辑器要求:(1)编辑文本;(2)保存、打开指定位置的文本文件;(3)具有输入输出界面。... 因为没有学过文件,所以不太看得懂题,还请高手指点一下 文本编辑器要求:(1)编辑文本;(2)保存、打开指定位置的文本文件;(3)具有输入输出界面。 展开 ...

一道C++程序,高手帮忙看一下!万分感谢!送10分以表感谢!
k++){ j++;if(k>30) k=1;} while(a[k]!=0){ k++;if(k>30) k=1;} a[k++]=1;if(k>30) k=1;\/\/n++;} 这是程序内核所在,循环15次每次剔除一人,for(j=1;a[k]==0&&j<9;k++)循环中又把第九个数赋为1表示剔除,if(k>30) k=1; 保证人数在30内循环!由此可得!

相似回答