C/C++教程

C++入门项目必练100题

本文主要是介绍C++入门项目必练100题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

作业一

2.编写一个程序,以每公里 0.65 元的价格为员工计算里程报销程序提示用户输入里程表开始的度数和介绍读数,然后计算并显示报销金额,下面显示该程序输出示例

MILEAGE REIMBURSEMENT CALCULATOR

--------------------------------------------------------------

输入开始读数: 20515.2

输入结束读数: 20610.6

总里程 95.4 Km.

每公里 0.65 元, 你的报销是 62.01.

#include<iostream>
using namespace std;

//每公里0.65元 输入里程表的开始及结束度数计算报销金额
int main()
{
	float a = 0;//开始
	float b = 0;//结束
	float c = 0;//每公里价格
	cout << "请输入每公里的价格:";
	cin >> c;
	cout << "MILEAGE REIMBURSEMENT CALCULATOR" << endl;
	cout << "----------------------------------" << endl;
	cout << "请输入开始读数:";
	cin >> a;
	cout << "请输入结束读数;";
	cin >> b;
	cout << "总里程为:" << b - a << endl;
	cout << "每公里的价格为:" << c << "您的报销价格是:" << c * (b - a) << endl;

	system("pause");
	return 0;
}

3.信用卡未付余额的利息是用每日平均余额计算的。假设 netbalance 是账单上显示的余额payment 是已支付的款项, dl 是计费周期内的天数,d2 是计费周期前的付款天数。那么平均日余额为:averageDailyBalance = (netBalance x d1 – payment * d2) / d1。假设利率是按百分比表示的每日利率,如 10%,则未付余额为:interest = averageDailyBalance x ( interestRate / 100.0)编写一个程序,接受用户输入的 netbalance, payment,d1,d2 和 interestRate .程序则应该输出利息。

#include<iostream>
using namespace std;

int main()
{
	float netbalance, payment, d1, d2, interestRate = 0;
	float average, interest = 0;

	cout << "请输入您的账单中显示的余额:" << endl;
	cin >> netbalance;
	cout << "请输入您已支付的款项金额:" << endl;
	cin >> payment;
	cout << "请输入计费周期内的天数:" << endl;
	cin >> d1;
	cout << "请输入计费周期前的付款天数:" << endl;
	cin >> d2;
	cout << "请输入利率:" << endl;
	cin >> interestRate;

	average = (netbalance*d1 - payment * d2) / d1;
	interest = average * (interestRate / 100.0);
	cout << "您的银行卡未付余额利息为:" << interest << endl;

	system("pause");
	return 0;
}

作业二 

1. 作为发票系统的一部分,需要一个程序输入产品的单价和订购的数量。 程序应该输出订单的总成本,前提是订单的前 100 项按单价收取,其余的按单价的 75%收取

请输入单价: 10.80

请输入订购数量: 150

总成本: 1485.00

#include<iostream>
using namespace std;

//输入产品的单价和订购的数量。 程序应该输出订单的总成本
//订单的前 100 项按单价收取,其余的按单价的 75%收取
int main()
{
	float a = 0;//单价
	int b = 0;//数量
	double sum = 0;//总成本
	cout << "请输入单价:";
	cin >> a;
	cout << "请输入订购的数量:";
	cin >> b;
	if (b > 100)
	{
		sum = a * 100 + 0.75*a*(b - 100);
	}
	else
	{
		sum = a * b;
	}
	cout << "总成本为:" << sum << endl;

	system("pause");
	return 0;
}

 

2. 一家五金店需要一个程序帮助统计货物总价格,询问用户购买的螺栓,螺母

和垫圈数量,然后计算打印出总数。同时需要检查订单中的螺栓与螺母的数量,

如果螺栓数量多于螺母,则显示下单失败,否则显示下单成功

物品价格

螺栓 0.5

螺母 0.3

垫圈 0.1

输出样例

螺栓数量: 12

螺母数量: 8

垫圈数量: 24

下单失败

总价: 108.00

#include<iostream>
using namespace std;
int main()
{
	double a, b, c = 0;//数量
	double sum = 0;
	cout << "--------------" << endl;
	cout << " 物品价格表 " << endl;
	cout << "螺栓:0.5元" << endl;
	cout << "螺母:0.3元" << endl;
	cout << "垫片:0.1元" << endl;
	cout << "--------------" << endl;
	cout << " 螺栓数量:";
	cin >> a;
	cout << " 螺母数量:";
	cin >> b;
	cout << "垫圈数量:";
	cin >> c;
	if (a > b)
	{
		cout << "下单失败" << endl;
		sum = 0.5*a + 0.3*b + 0.1*c;
		cout << "总价:" << sum << endl;
	}
	else
	{
		cout << "下单成功" << endl;
		sum = 0.5*a + 0.3*b + 0.1*c;
		cout << "总价:" << sum << endl;
	}
	system("pause");
	return 0;
}

 

3.编写一个 C++程序,提示员工按小时支付工资和工作时间。计算工资总额(工作时长 X 每小时工资),预扣缴税款,净工资(计算工资总额-预扣缴税款)。预扣缴税款是按照以下百分比计算

 

显示员工的总工时,预扣缴税,和净工资样例

员工工资计算

----------------------------------

输入以下数据:

每小时工资: 35.00 元

工时: 100付款详细:

总工资 : 3500.00 元

预缴税: 420.00 元

净工资 :

#include<iostream>
using namespace std;

int main()
{
	double a, b, sum, c, wage = 0;
	cout << "员工工资计算" << endl;
	cout << "-----------------" << endl;
	cout << "每小时的工资:";
	cin >> a;
	cout << "工时:";
	cin >> b;
	sum = a * b;
	double rate = 0;
	if (sum > 5000)
	{
		rate = 0.2;
	}
	else if (sum > 4000 && sum <= 5000)
	{
		rate = 0.15;
	}
	else if (sum > 3000 && sum <= 4000)
	{
		rate = 0.12;
	}
	else
	{
		rate = 0.1;
	}
	c = sum * rate;
	wage = sum - c;
	cout << "付款详情:" << endl;
	cout << "总工资:" << sum << "元" << endl;
	cout << "净工资:" << c << "元" << endl;
	cout << "净工资:" << wage << "元" << endl;
	system("pause");
	return 0;
}

 

4. 程序编写一个模拟计算器的功能。程序应该读取两个整数和要执行的操作(+,-,*,or/)。然后输出它对应的计算结果。在代码中使用 switch 语句。

第一个整数 : 10

第二个整数 : 20

操作符 : *

-------------------------

10 * 20 = 200

-------------------------

#include<iostream>
using namespace std;

int main()
{
	int a, b = 0;
	char c = 0;
	float d = 0;
	cout << "第一个整数:";
	cin >> a;
	cout << "第二个整数:";
	cin >> b;
	cout << "操作符:";
	cin >> c;
	switch (c)
	{
	case '+':
		d = a + b;
		break;
	case'-':
		break;
	case '*':
		d = a * b;
		break;
	case '/':
		d = a / b;
		break;
	default:
		cout << "请重新输入" << endl;
		break;
	}
	cout << "-----------------" << endl;
	cout << a << c << b << "=" << d << endl;
	cout << "-----------------" << endl;

	system("pause");
	return 0;
}

 作业三

1. 编写一个程序,提示用户输入一个整数,然后输出由空格分隔的数字的以及数字的和

输入数字: 3052

单独数字: 3 0 5 2

数字总和: 10

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

//提示用户输入一个整数,然后输出由空格分隔的数字的以及数字的和
int main()
{
	int sum = 0;
	char number[]="";
	cout << "输入数字:";
	cin >> number;

	int len = strlen(number);
	for (int i = 0; i < len; i++)
	{
		cout << number[i] << " ";
		sum += number[i] - '0';
	}

	cout << "数字总和为:" << sum << endl;
	system("pause");
	return 0;
}

2. 编写一个程序来预测生物种群的大小。程序应该询问用户生物体的起始数量, 它们的平均每日增长数量(以百分比表示),以及它们将增长的天数。

不接受少于 2 的数字作为人口的起始数量,不接受负数作为物种的平均每日增长率,不接受少于 1 的数字作为人口的相乘天数。

#include<iostream>
using namespace std;

int before_number;
int day;
float precent;
double people_number1;
double peopele_number2;

int main()
{
	while (true)
	{
		cout << "请输入生物体的起始数量";
		cin >> before_number;
		if (before_number < 2)
		{
			cout << "输入大于2的起始数量!" << endl;
			continue;
		}
		cout << "请输入该物种的平均每日增长率:";
		cin >> precent;
		if(precent<0)
		{
			cout << "输入大于0的有效增长率!" << endl;
			continue;
		}
		cout << "请输入该物种的增长天数:";
		cin >> day;
		if (day < 1)
		{
			cout << "输入大于1的增长天数!" << endl;
			continue;
		}
		break;
	}
	people_number1 = before_number;
	for (int i = 1; i <= day; i++)
	{
		people_number1 = peopele_number2 * precent + people_number1;
		peopele_number2 = people_number1;//将前一天的数存储到2中
		cout << "第" << i << "天的数量为:" << peopele_number2 << endl;
	}
	system("pause");
	return 0;
}

3. 写一个计算酒店入住率的程序。程序应该从询问用户酒店有多少层开始。对于每一层,程序应该询问楼上有多少房间有多少房间被占用。

在用户数据输入后,程序应该显示酒店有多少房间,有多少房间已被占用,有多少房间未被占用,以及房间已被占用的百分比

#include<iostream>
using namespace std;

int main()
{
	int layers=0;
	int number=0;
	int use_number=0;
	double arr[100] = { 0 };
	double str[100] = { 0 };
	double sum = 0;
	double use_sum = 0;

	cout << "请输入该酒店的层数:";
	cin >> layers;
	for (int i = 0; i < layers; i++)
	{
			cout << i+1 << "层共有多少房间:";
			cin >> number;
			cout << i+1 << "层共有多少已经被使用的房间:";
			cin >> use_number;
			arr[i] = number;
			str[i] = use_number;
	}
	for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
	{
		sum += arr[i];
	}
	for (int i = 0; i < sizeof(str) / sizeof(str[0]); i++)
	{
		use_sum += str[i];
	}
	cout << "该酒店总共的房间数量为:" << sum<< endl;
	cout << "该酒店已经被使用的房间数量为:" << use_sum << endl;
	cout << "该酒店未被使用的房间数量为:" << sum-use_sum << endl;
	cout << "该酒店的房间的房间占用率为:" << use_sum / sum << endl;

	system("pause");
	return 0;
}

 

4. 一个店主想记录他的日销售额和周销售额。他根据顾客购买的重量给它们折扣。写一个程序,让店主计算他的日销售额和周销售额(7 天)。

允许店主输入每日的产品编号,重量和价格。展示每日销售额,显示每周销售额(输入够七天之后)。下表显示给出的折扣。如果输入无效的产品编号,则显示输入产品编号无效的提示

 

#include<iostream>
using namespace std;
#define day 7
double arr[100] = { 0 };
struct message
{
	int ID;
	float price;
	float weight;
}t1;


int main()
{
	double discouts = 0;//折扣
	double D_sale = 0;//日销售额
	double W_sale = 0;//周销售额

	for (size_t i = 1; i <=day; i++)
	{
		while (1)
		{
			cout << "请输入产品编号:";
			cin >> t1.ID;
			if (t1.ID != 1001 && t1.ID != 1002 && t1.ID != 1003)
			{
				cout << "您输入的编号无效!!请重新输入" << endl;
				continue;
			}
			break;
		}
		cout << "请输入产品的重量";
		cin >> t1.weight;
		cout << "请输入产品的价格";
		cin >> t1.price;	
		if (t1.ID == 1001)
		{
			if (t1.weight > 10)
			{
				discouts = 0.1;
			}
			else
			{
				discouts = 0.05;
			}
		}
		else if (t1.ID == 1002)
		{
			if (t1.weight > 10)
			{
				discouts = 0.07;
			}
			else
			{
				discouts = 0.03;
			}
		}
		else if (t1.ID == 1003)
		{
			if (t1.weight > 10)
			{
				discouts = 0.25;
			}
			else
			{
				discouts = 0.1;
			}
		}
		D_sale = t1.weight*t1.price*(1-discouts);
		cout << "今日销售额为:" << D_sale<<endl;
		arr[i] = D_sale;
		W_sale += arr[i];
	}
	cout << "总销售额为:" << W_sale << endl;

	system("pause");
	return 0;
}

 

这篇关于C++入门项目必练100题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!