A. 用C編程,設計員工工資計算方法。不求正確。別用C++,今天才學。
#include <stdio.h>
main()
{
short age; //工齡
short hour; //工作時間
float ticheng; //提成
short flag; //退出計算標記
float salary; // 工資結果變數
int type;
while(1)
{
printf("請輸入員工類型(0:管理員;1:工人;2:銷售經理;3:銷售員):\n");
scanf("%d", &type);
if (type == 0) //管理
{
printf("請輸入管理員工齡:\n");
scanf("%d", &age);
salary = 5000 + 50 * age;
printf("管理員工資 = %10.2f = 5000 + 50 * %d\n", salary, age);
}
else if (type == 1)//工人
{
printf("請輸入工人工齡和工作時間:\n");
scanf("%d %d", &age, &hour);
salary = 3000 + 50 * age + hour * 100;
printf("工人工資 = %10.2f = 3000 + 50 * %d + %d * 100\n", salary, age, hour);
}
else if (type == 2)//銷售經理
{
printf("請輸入銷售經理工齡和銷售額:\n");
scanf("%d %f", &age, &ticheng);
salary = 6000 + 50 * age + ticheng * 0.005;
printf("銷售經理工資 = %10.2f = 6000 + 50 * %d + %d * 0.005\n", salary, age, ticheng);
}
else if (type == 3)//銷售員
{
printf("請輸入銷售員工齡和銷售額:\n");
scanf("%d %f", &age, &ticheng);
salary = 50 * age + ticheng * 0.05;
printf("銷售經理工資 = %10.2f = 50 * %d + %d * 0.05\n", salary, age, ticheng);
}
else
{
printf("員工類型出錯!\n\n");
}
printf("是否繼續計算(0/1):\n");
scanf("%d", &flag);
if (flag != 1) return;
}
}
B. 用C語言編寫計算工人工資
#include&lt;stdio.h&gt;
void main()
{
int hour;
int salary;
scanf("%d",hour);
switch(hour/60)
{
case 0:
{
salary=hour*84-700;
break;
}
case 1:
{
salary=hour*84;
break;
}
case 2:
{
salary=120*84+(hour-120)*(84*1.5);
break;
}
default:
printf("工時錯誤!");
}
printf("工資為%d",salary);
}
抱歉,好久沒弄C了,上面隨便寫沒編譯,剛才又弄了一下
#include<stdio.h>
void main()
{
int hour=0;
double salary;
scanf("%d",&hour);
while(hour<0)
{
printf("工時錯誤,重新輸入!");
scanf("%d",&hour);
}
switch(hour/60)
{
case 0:
{
salary=hour*84-700;
break;
}
case 1:
{
salary=hour*84;
break;
}
case 2:
{
salary=120*84+(hour-120)*(84*1.15);
break;
}
}
printf("工資為%f",salary);
}
C. 用C語言編寫計算工人工資怎麼編寫
用C語言編寫計算工人工資怎麼編寫?
某工廠按工人的工時計算工人工資,規則如下:工資按每小時84元計發。若總工時>120小時,超過120小時的部分每小時加發15%;若總工時<60小時,則總工資扣發700元。編寫程序,從鍵盤錄入某工人的工時,程序能計算並輸出該工人的工資。(畫出程序流程圖)
D. C語言 計算程序員的收入
#include <stdio.h>
int main()
{
int hour;
int money;
scanf("%d",&hour);
if(hour < 160)
{
money = hour * 10;
}
else
{
money = 10 * 160 + (hour - 160) * 30;
}
printf("%d ",money);
return 0;
}
E. C語言編程,計算工資並計算稅後工資
#include<stdio.h>
#defineX400//美元
#defineY15//40小時後
#defineA300*0.15//前300
#defineB(450-300)*0.20+A
#defineC0.25
intmain(void)
{
inta=0;
intb=0;//含稅工資
while((scanf_s("%d",&a))==1)//這里不要加換行。
{
if(a<=40)
{
b=a*10;//這里應該是a*10
printf("%d ",b);
}
elseif(a>40)
{
printf("%d ",(a-40)*Y+X);//工資
b=(a-40)*Y+X;
}
break;
}
printf("%d ",b);
if(b<=300)
printf("%d ",b*(1-0.15));
elseif(b<=450)
printf("%d ",b-(b-300)*0.2-300*0.15);
else
printf("%d ",b-(b-450)*C-(B));
return0;
//getchar();
}
F. 用C語言編寫一個計算薪水的程序
/*工資計算程序*/
#include <stdio.h>
main()
{
float originWage; /*應發工資*/
float realWage; /*實發工資*/
float tax; /*所繳稅款*/
int i,hour,amount,money;
printf("請選擇工資種類:\n1.計時工資\n2.計件工資\n3.固定月工資\n");
scanf("%d",&i);
switch(i)
{
case 1:{
printf("請輸入工作時間(單位:小時)\n");
scanf("%d",&hour);
printf("請輸入單位時間的薪水(單位:元)\n");
scanf("%f",&money);
originWage=money*hour;
}
break;
case 2:{
printf("請輸入生產產品數量(單位:件)\n");
scanf("%d",&amount);
printf("請輸入生產一件產品的薪水(單位:元)\n");
scanf("%f",&money);
originWage=money*amount;
}
break;
case 3: printf("請輸入你的固定工資\n");
scanf("%f",&originWage);
break;
default:printf("輸入錯誤!\n");
return 0;
}
if(originWage<0)
{
printf("數據錯誤!\n");
return 0;
}
if(originWage<2000)
tax=0;
else if(originWage>2000&&originWage<=2500)
tax=(originWage-2000)*0.05;
else if(originWage>2500&&originWage<=4000)
tax=(originWage-2500)*0.1+500*0.05;
else
tax=(originWage-4000)*0.15+1500*0.1+500*0.05;
printf("應發工資: %f\n",originWage);
printf("所繳稅款: %f\n",tax);
printf("實發工資: %f\n",originWage-tax);
return 0;
}
G. C語言,模擬工資計算器,計算一個銷售人員的月工資的數量(月工資=基本工資+提成,提成=商品數*1.5)。
樓主的代碼存在兩個明顯問題:
1、數值類型掌握不好
計算工資時很可能出現小數,而樓主聲明變數時完全採用了int型,先不說是否邏輯正確。int型的變數直接與後面代碼沖突。
有兩個問題:
1.1:
scanf()中樓主在括弧內寫的是%ld,%ld等待的輸入類型是long int,而樓主聲明的是
int。
1.2:
iCommission=(iSales*1.5);
iSales為整形,1.5為浮點型,iSales*1.5的結果會隱式轉換為浮點型,而iCommission為
整型int。在賦值時會產生錯誤。
需要補充知識點:參數類型的定義和轉換。請查閱任何一本C語言教材。
2、scanf()函數掌握不好
這也是樓主最關心的問題,scanf()中 、空格和製表符都是是空白符。空白字元會使scanf()函數在讀操作中略去輸入中的一個或多個空白字元。只有輸入一個非空白符的時候才能終止scanf的輸入。另外在上一點提出的參數類型也需要格外注意。
需要補充知識點:scanf()函數的使用方法。請查閱相關文檔。
http://ke..com/link?url=_
再啰嗦幾句:puts()函數用來向標准輸出設備(屏幕)寫字元串並換行,其調用方式為,puts(s);其中s為字元串字元(字元串數組名或字元串指針)。雖然樓主的使用方式也正確,但是最好也查閱一下更標準的使用方法。
http://ke..com/link?url=MVSb8tWqQPMLWzKve4IpvgamU_2P--Rf63HG3AeUc3Cb7XRp53K35Bs9IQ_8IA3Y2lqRaZ0zCTenPgzg8RLSYK
下面貼出我修改後的代碼:
#include<stdio.h>
intmain()
{
doubleiSalary,iBasic,iCommission,iSales;
printf("Pleaseenterthebasicpayment:");
scanf("%lf",&iBasic);
printf("Pleaseenterthesales:");
scanf("%lf",&iSales);
iCommission=(iSales*1.5);
printf("提成工資為:%lf ",iCommission);
iSalary=(iBasic+iCommission);
printf("月工資數量:");
printf("%lf",iSalary);
return0;
}
請樓主注意其中變數類型的變化以及輸入輸出中%後面的變化。
小提示:編程過程中細節真的很重要啊,還有,以後遇到問題,試著分解成一個個小問題分析,再查找相關的解決辦法,學會善用搜索引擎。比如樓主在輸入時遇到了問題,就要想是不是scanf出問題了呀,進而去搜索它的正確用法。這才是真正的解決問題。
H. c語言,模擬工資計算器,計算一個銷售人員的月工資的數量
#include<stdio.h>
void main()
{
double salry;
int day,month,year;
double daySalry;
pirintf("請輸入員工的日工資,工作時間");
scanf("%d%d%f",month,year,daySalry);
switch(month)
{
case 1: case 3: case 5:case 7: case 8:case 10:case 12: salry = daySalry*31; break;
case 2:
if(year%4==0||year/400==0)
salry = daySalry*28;
else salry = daySalry*29;
break;
case 4: case 6:case 9:case 11: salry = daysalry *30; break;
}
}
I. C語言問題
#include<stdio.h>
int main()
{
int a[5],i;
double sum=0;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<5;i++)
{
if(a[i]>11000)
sum+=(a[i]-11000)*0.09+11000*0.06;
else
sum+=a[i]*0.06;
}
printf("%lf\n",sum);
}