2014年05月26日→星座:双子座
二〇一四年四月廿八
甲午〖马〗,己巳月,丁酉日,戊申时
今属:火;五行:木火土金;缺:水。
纳音五行:沙中金。
药王菩萨圣诞纪念日
都是百度知道的答复.
之一:
1、 用数组和自定义函数求某班的及格人数和及格人的平均分(用全局变量)。
2、 用结构描述一个学生的信息,包含:学号、姓名、成绩。从键盘输入一批学生(人数自定)的数据,统计不及格的人数,并将不及格人员的信息输出。
struct 学生信息类{ int 学号; string 姓名; int 成绩; };
void 学生信息处理(学生信息类 班级信息[], int 人数)
{
float 平均分数(0.0); int 计数(0);
do
{
平均分数 += 班级信息[计数].成绩;
计数++;
} while (人数 > 计数);
cout << "平均分数:" << 平均分数 / 人数 << endl;
计数 = 0;
do
{
if (班级信息[计数].成绩 < 60)
cout << "不及格姓名:" << 班级信息[计数].姓名 << endl;
计数++;
} while (人数 > 计数);
};
设计完成可后优化:也可依据输出信息是否有特定次序而定是否使用一个循环去完成。
void 学生信息处理(学生信息类 班级信息[], int 人数)
{
float 平均分数(0.0); int 计数(0);
do
{
if (班级信息[计数].成绩 < 60)
cout << "不及格姓名:" << 班级信息[计数].姓名 << endl;
平均分数 += 班级信息[计数].成绩;
计数++;
} while (人数 > 计数);
cout << "平均分数:" << 平均分数 / 人数 << endl;
};
主函数
int _tmain(int argc, _TCHAR* argv[])
{
起始:
int 成绩(0), 学号(0), 人数(0), 计数(0);
string 姓名("");/*C/C++最好养成初始化习惯*/
学生信息类 班级信息[180]{ { 0 } };/*初始化第一个元素int为0,之下初始化全部在需要时参考,可以不写使用默认初始化int为负值*/
do
{
班级信息[计数] = { { 0 } };
计数++;
} while (计数 < 180);
cout << "请输入统计人数:";
cin >> 人数;
cout << "请输入学生信息:" << endl;
计数 = 0;/*被使用后另一个使用前清零,否则影响程序正确运行,除了下例需要连续性外*/
do
{
cin >> 学号 >> 姓名 >> 成绩;
班级信息[计数] = { 学号, 姓名, 成绩 };
计数++;
} while (人数 > 计数);
学生信息处理(班级信息, 人数);
}
之二:来自百度知道的提问.
struct 菜单数据{ string 菜名; int 价格; };
class 电话食物
{
public:
void 显示定餐列表(int 数量, string 顾客[], int 菜品[], 菜单数据 菜单[]);
void 显示食物列表(菜单数据 菜单[]);
电话食物() : 列(0), 表(0){}
private:
int 列, 表;
};
void 电话食物::显示食物列表(菜单数据 信息[])
{
int 计数(1);
cout << "荤菜类:" << endl;
do
{
printf("%2d.", 计数);
cout << 信息[计数 - 1].菜名 << " ";
if (计数 % 3 == 0)cout << endl;
计数++;
} while (计数 <= 18);
cout << "素菜类:" << endl;
do
{
printf("%2d.", 计数);
cout << 信息[计数 - 1].菜名 << " ";
if (计数 % 3 == 0)cout << endl;
计数++;
} while (计数 <= 30);
cout << "汤 类:" << endl;
do
{
printf("%2d.", 计数);
cout << 信息[计数 - 1].菜名 << " ";
计数++;
} while (计数 <= 34);
cout << endl << "面食类:" << endl;
do
{
printf("%2d.", 计数);
cout << 信息[计数 - 1].菜名 << " ";
计数++;
} while (计数 <= 38);
cout << endl << endl;
printf("%2d.", 计数);
cout << 信息[计数 - 1].菜名;
};
void 电话食物::显示定餐列表(int 预订数量, string 顾客信息[], int 菜品信息[], 菜单数据 菜单[])
{
int 合计(0);
cout << "您定餐的信息如下:" << endl;
do
{
--预订数量;
合计 += 菜单[菜品信息[预订数量]].价格;
cout << 菜单[菜品信息[预订数量]].菜名<< endl;
} while (预订数量 > 0);
cout << "总价:" << 合计 << "元。" << endl;
cout << "您的姓名:" << 顾客信息[0] << endl;
cout << "您的电话:" << 顾客信息[1] << endl;
cout << "用餐人数:" << 顾客信息[2] << endl;
cout << "就餐时间:" << 顾客信息[3] << endl;
cout << "感谢您惠顾☆☆☆☆☆☆餐馆!" << endl;
};
主函数
int _tmain(int argc, _TCHAR* argv[])
{
电话食物 我的食物{};
菜单数据 菜单信息[39] =
{
{ "清 蒸 鱼 - 10元", 10 }, { "剁椒鱼头 - 10元", 10 }, { "红烧带鱼 - 10元", 10 }, { "清蒸鲈鱼 - 10元", 10 }, { "红烧鲫鱼 - 10元", 10 }, { "红烧鲤鱼 - 10元", 10 },
{ "可乐鸡翅 - 30元", 30 }, { "宫保鸡丁 - 30元", 30 }, { "红烧鸡翅 - 30元", 30 }, { "泡椒凤爪 - 30元", 30 }, { "红烧鸡块 - 30元", 30 }, { "香菇炖鸡 - 30元", 30 },
{ "油焖大虾 - 40元", 40 }, { "清炒虾仁 - 40元", 40 }, { "红烧排骨 - 40元", 40 }, { "蒸 排 骨 - 40元", 40 }, { "排 骨 - 40元", 40 }, { "蒜香排骨 - 40元", 40 },
{ "麻辣豆腐 - 10元", 10 }, { "凉拌豆腐 - 10元", 10 }, { "酸辣土豆 - 10元", 10 }, { "凉拌土豆 - 10元", 10 }, { "蔬菜沙拉 - 10元", 10 }, { "煸豆松仁 - 10元", 10 },
{ "玉米干煸 - 10元", 10 }, { "四 季 豆 - 10元", 10 }, { "清炒山药 - 10元", 10 }, { "蚝油生菜 - 10元", 10 }, { "拔丝苹果 - 10元", 10 }, { "拔丝地瓜 - 10元", 10 },
{ "海 带 汤 - 10元", 10 }, { "鲫 鱼 汤 - 10元", 10 }, { "鱼 头 汤 - 10元", 10 }, { "乌 鸡 汤 - 10元", 10 },
{ "炸 酱 面 - 15元", 15 }, { "凉 拌 面 - 15元", 15 }, { "牛 肉 面 - 15元", 15 }, { "刀 削 面 - 15元", 15 },
{ "米饭每碗 - 01元", 1 }
};
int 选择(0), 计数(0), 菜品[39]{ 0 }; string 顾客[4]{""};
cout << "*********欢迎光临☆☆☆☆☆☆餐馆*********" << endl;
我的食物.显示食物列表(菜单信息);
cout << endl << endl << "请选择您需要的服务(输入序号即可):" << endl;
cout << "【1】填写订餐列表 【2】查看订餐情况" << endl;
cout << "【3】删除订单 【4】在线刷卡" << endl;
cin >> 选择;
if (选择 == 1)
{
cout << "请选择您所需要菜品(输入序号),选择完成输入99结束:" << endl;
do
{
cin >> 选择;
if (选择 == 99)break;//while ((c = getchar()) != '\n')
if (选择 > 39)
{
cout << "错误?请重新输入正确的序号!" << endl;
continue;
}
else
{
菜品[计数] = 选择;
计数++;
}
} while (选择 <= 39);
}
cout << "请输入您的姓名:" << endl;
cin >> 顾客[0];
cout << "请输入您的电话:" << endl;
cin >> 顾客[1];
cout << "请输入您用餐的人数:" << endl;
cin >> 顾客[2];
cout << "请输入就餐时间:" << endl;
cin >> 顾客[3];
我的食物.显示定餐列表(计数, 顾客, 菜品, 菜单信息);
}
之三:
struct 学生信息类{ string 学号; string 姓名; int 成绩1; int 成绩2; int 成绩3; int 成绩4; int 成绩5; int 成绩6; int 成绩7; int 成绩8; int 成绩9; };
struct 学生信息组类{ string 学号; string 姓名; int 成绩[9]; };
void 学生信息处理(学生信息类 班级信息[], int 人数)
{
int 计数(0); float 分数(0.0);
cout << "学号 姓名 801 802 803 804 805 806 807 808 809 总学分" << endl;
do
{
分数 = 班级信息[计数].成绩1 + 班级信息[计数].成绩2 + 班级信息[计数].成绩3 + 班级信息[计数].成绩4 + 班级信息[计数].成绩5 + 班级信息[计数].成绩6 + 班级信息[计数].成绩7 + 班级信息[计数].成绩8 + 班级信息[计数].成绩9;
cout << 班级信息[计数].学号 << '\t' << 班级信息[计数].姓名 << '\t' << 班级信息[计数].成绩1 << '\t' << 班级信息[计数].成绩2 << '\t' << 班级信息[计数].成绩3 << '\t' << 班级信息[计数].成绩4 << '\t' << 班级信息[计数].成绩5 << '\t' << 班级信息[计数].成绩6 << '\t' << 班级信息[计数].成绩7 << '\t' << 班级信息[计数].成绩8 << '\t' << 班级信息[计数].成绩9 << '\t' << 分数 << endl;
计数++;
} while (人数 > 计数);
};
主函数:
学生信息类 信息[2] = {};
int 成绩[9], 计数(0); string 姓名(""), 学号("");
do
{
cin >> 学号 >> 姓名 >> 成绩[0] >> 成绩[1] >> 成绩[2] >> 成绩[3] >> 成绩[4] >> 成绩[5] >> 成绩[6] >> 成绩[7] >> 成绩[8];
信息[计数] = { 学号, 姓名, 成绩[0], 成绩[1], 成绩[2], 成绩[3], 成绩[4], 成绩[5], 成绩[6], 成绩[7], 成绩[8] };
} while (++计数 < 2);
学生信息处理(信息, 2);
//学生信息组类 信息组[2] = {};
//int 成绩组(0), 计数(0); string 姓名(""), 学号("");
//do
//{
// cin >> 学号 >> 姓名;
// 信息组[计数] = { 学号, 姓名 };
// do
// {
// cin >> 信息组[计数].成绩[成绩组];
// } while (++成绩组 < 9);
// 成绩组 = 0;
//} while (++计数 < 2);
另一种写法留给练习了
之四:只用有添加,修改,显示,查找,删除这五个功能就行,学生信息有学号,姓名,年龄,性别,住址,电话就行,不要太复杂了,能注释一下更好,可加分!!
struct 学生个人信息类{ string 学号; string 姓名; int 年龄; string 性别; string 住址; int 电话; };
主函数调用:
学生个人信息类 学生个人信息[1]{};
std::vector<学生个人信息类>学生个人信息组;
std::cin >> 学生个人信息[0].学号 >> 学生个人信息[0].姓名 >> 学生个人信息[0].性别 >> 学生个人信息[0].年龄 >> 学生个人信息[0].电话 >> 学生个人信息[0].住址;
学生个人信息组.push_back(学生个人信息[0]);/*添加*/
学生个人信息组.push_back(学生个人信息[0]);/*添加*/
std::vector<学生个人信息类>::iterator i;
i = 学生个人信息组.end();
学生个人信息[0].学号 = "002";/*修改*/
学生个人信息组.insert(i, 学生个人信息[0]);/*插入*/
std::vector<学生个人信息类>::iterator s = 学生个人信息组.begin();
学生个人信息组.erase(s);/*删除*/
int size = 学生个人信息组.size();
for (int a = 0; a < size;a++)
if (学生个人信息组.at(a).学号 == "001")
{
std::cout << 学生个人信息组.at(a).学号 << '\t' << 学生个人信息组.at(a).姓名 << '\t' << 学生个人信息组.at(a).性别 << '\t' << 学生个人信息组.at(a).年龄 << '\t' << 学生个人信息组.at(a).电话 << '\t' << 学生个人信息组.at(a).住址 << std::endl;/*输出和查找,写一个简单的就不用容器适配器写了*/
学生个人信息组.at(a).学号 = "004";/*修改*/
}