首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

+。+何位大神来修改下作业。给点意见什么,长长长。

2013-07-04 
+。+哪位大神来修改下作业。给点意见什么,长长长。!大家好!敬礼!!在下纯新手一枚。。好早就想学习c了,只是因为

+。+哪位大神来修改下作业。给点意见什么,长长长。!
+。+何位大神来修改下作业。给点意见什么,长长长。
大家好!

敬礼!!

在下纯新手一枚。。

好早就想学习c了,只是因为工作关系。没有太多时间进行学习。。。

加上是自学,进展各种缓慢,现在学到了循环,分叉什么的什么的什么的什么。

然后做了下课后作业。虽然达到了书上所要求的。。但是总觉得不完美什么的。。

所以,附上题目和自己写的代码。。

希望各位同学,大神能帮忙修改下,顺便给点点评啥的。~~~

只有20分,谢谢大家帮忙。(ps.哪位大哥大姐给点分什么的吧。。)+。+何位大神来修改下作业。给点意见什么,长长长。

(ps2.据说。csdn里结贴率很重要什么的。所以。18-24小时后,准时来结贴+。+何位大神来修改下作业。给点意见什么,长长长。


下面是题目咯。

1.编写程序,要求输入一周中的工作小时数,然后打印工资总额,税金以及净工资。作如下假设;
a, 基本工资等级=10.00美元/小时;
b, 加班(超过40小时)=1.5倍的时间;
c, 税率 前300美元为15%;
       下一个150美元为20%;
       剩余为25%;
代码如下



然后是第二题:是建立在第一题的基础上的
2.修改练习中假设a,使程序提供一个选择工资等级的菜单,用switch选择工资等级,程序运行的开头应该像这样:
**********************************
@$#%|#%&*%^*%^*
1)$8.75/小时      2)$9.33/小时
3)$10.00/小时     4)11.20/小时
5)退出
**********************************
如果选择1-4,那么程序应该请求输入工作小时数,程序应该一直循环运行,直到输入5,如果输入1-5意外的选择,那么程序应该体现用户合适的选择是哪些,然后再循环。用#define为各种工资等级和税率定义常量:

代码如下
#include <stdio.h>
#define  JB 1.5 //设置加班倍率
#define  SL1 15 //设置税1
#define  SL2 20 //设置税2
#define  SL3 25 //设置税3


#define  gzsj 40
#define ST1 8.75

int main(void)
{


int sj;
int jbsj;
int xz;
double sr;
double shr;
double sc;
    
printf("********************************************\n");
printf("                选择每小时工资\n");
printf("1 >> $8.75/小时.           2>>$9.33/小时\n");
printf("3 >> $10.00/小时.           4>>$11.2/小时\n");
printf("5 >> $quit\n");
printf("********************************************\n");
while(scanf("%d",&xz)==1){
switch(xz)
{
case 1 :
  sc=ST1;
break;
case 2:
sc=9.33;
break;
case 3:
sc=10.00;
break;
case 4:
sc=11.2;
break;
default:
printf("重新输入:\n");
continue;
}
printf("嗯。没小时$%2.2Lf,请输入工作的时间:\n",sc);
break;
}



while(scanf("%d",&sj)!=0)
{
if(sj<=gzsj)
{

sr=sj*sc;
if(sr>300)
{
shr=((sr-300)*SL2/100)+(300*SL1/100);
printf("税收%2.2f,收入为%2.2f\n",shr,sr-shr);
}
else
{
shr=sr*SL1/100;
printf("要交%2.2f,收入为%2.2f元\n",shr,sr-shr);
}
}
 
        else
{
jbsj=sj-gzsj;
sr=jbsj*sc*JB+gzsj*sc;
if(sr<=450)
{shr=(300*SL1/100)+((sr-300)*SL2/100);
printf("总收入是%2.2f,税是%2.2f,实际收入%2.2f\n",sr,shr,sr-shr);
}
else
{
shr=(300*SL1/100)+(150*SL2/100)+((sr-450)*SL3/100);
printf("总收入是%2.2f,税是%2.2f,实际收入%2.2f\n",sr,shr,sr-shr);}
}
}
}



感谢大家的花了这么长的时间来看这个。。


谢谢各位。。谢谢。+。+何位大神来修改下作业。给点意见什么,长长长。
#include <stdio.h>
#define  ST 10.00 //设置每小时工资
#define  JB 1.5 //设置加班倍率


#define  SL1 0.15 //设置税1
#define  SL2 0.20 //设置税2
#define  SL3 0.25 //设置税3
#define  gzsj 40.0
int main(void)
{
    int sj;
    double sr;
    double shr;

    printf("工作了多少个时间呢?\n");

    while(scanf("%d",&sj)!=0)
    {
        sr = sj*ST;
        if (gzsj < sj)
        {
            sr += ((sj-gzsj)*(ST*(JB-1)));
        }
        printf("原收入为%2.2f\n", sr);

        shr = sr*SL1;
        if (300 < sr)
        {
            shr += ((sr-300)*(SL2-SL1));
        }
        if (450 < sr)
        {
            shr += ((sr-450)*(SL3-SL2));
        }

        printf("税收%2.2f,收入为%2.2f\n",shr,sr-shr);
    }
}


[解决办法]

#include <stdio.h>
#define  JB 1.5 //设置加班倍率
#define  SL1 15 //设置税1
#define  SL2 20 //设置税2
#define  SL3 25 //设置税3
#define  gzsj 40
#define ST1 8.75
#define ST2 9.33
#define ST3 10.00
#define ST4 11.2

int main(void)
{
int sj;
int jbsj;
int xz;
double sr;
double shr;
double sc;
    
printf("********************************************\n");
printf("                选择每小时工资\n");
printf("1 >> $8.75/小时.           2>>$9.33/小时\n");
printf("3 >> $10.00/小时.           4>>$11.2/小时\n");
printf("5 >> $quit\n");


printf("********************************************\n");
while(scanf("%d",&xz)==1){
switch(xz)
{
case 1 :
sc=ST1;
break;
case 2:
sc=ST2;//这里最后都用宏替换。。上下统一一下。。
break;
case 3:
sc=ST3;
break;
case 4:
sc=ST4;
break;
case 5:
return 0;//你这里没有处理选择5的情况。。
default:
printf("重新输入:\n");
continue;
}
printf("嗯。没小时$%2.2Lf,请输入工作的时间:\n",sc);
break;
}

//下边这段帮你改了一下。。
while(scanf("%d",&sj)==1)//这里改为这样吧。。否则退出不了的。。
{
if(sj <= gzsj) sr = sj * sc;
else sr = gzsj * sc + (sj - gzsj) * sc * JB;

if(sr <= 300) shr = sr * SL1 / 100;
else{
if(sr <= 450) sr = 300 * SL1 / 100 + (sr - 300) * SL2 / 100;
else sr = 300 * SL1 / 100 + (450 - 300) * SL2 / 100 + (sr - 450) * SL3 / 100;
}
printf("总收入是%2.2f,税是%2.2f,实际收入%2.2f\n",sr,shr,sr-shr);
}

return 0;
}

热点排行