1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;
2.编程实现课本每一个编程习题。
3. 编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
4.编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。
5.编写一个函数,输入一个十六进制数,输出相应的十进制数。
编程实现课本每一个编程习题。
习题2
#include<iostream>
using namespace std;
long intPower(int base ,int exponent);
int main()
{
long n;
int base,exponent;
cout<<"请输入基数:";
cin>>base;
cout<<"请输入幂:";
cin>>exponent;
n=intPower(base,exponent);
cout<<base<<"的"<<exponent<<"次幂="<<n<<endl;
}
long intPower(int base,int exponent)
{
long result=1;
int x;
if(exponent!=0)
for(x=1;x<=exponent;x++)
result*=base;
return result;
}
习题3
#include<iostream>
using namespace std;
int prime(int n);
int main()
{
int number;
cout<<"请输入大于1的正整数:";
cin>>number;
if(number<=1)
{
cout<<"输入错误,请重新输入!"<<endl;
return 0;
}
if(prime(number))
cout<<number<<"是素数"<<endl;
else
cout<<number<<"不是素数"<<endl;
return 0;
}
int prime(int n)
{
int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return flag;
}
习题4
习题5
#include<iostream>
using namespace std;
char grade(int);
int main()
{
int score;
cout<<"请输入成绩:";
cin>>score;
char ch=grade(score);
cout<<score<<"的等级是:"<<ch<<endl;
return 0;
}
char grade(int n)
{
char ch;
if(n>=90&&n<=100)
ch='A';
else if(n>=80)
ch='B';
else if(n>=70)
ch='C';
else if(n>=60)
ch='D';
else ch='E';
return ch;
}
习题6
#include<iostream>
using namespace std;
float average();
int main()
{
float aver=average();
cout<<"10名学生的平均成绩为:"<<aver<<endl;
return 0;
}
float average()
{
float a[10],sum=0,average;
cout<<"请输入10名学生成绩:"<<endl;
for(int i=0;i<10;i++)
{
cin>>a[i];
sum+=a[i];
}
average=sum/10;
return average;
}
习题7
习题8
(1)
#include<iostream>
using namespace std;
int main()
{
cout<<"九九乘法表全"<<endl;
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
cout<<i<<"*"<<j<<"="<<i*j<<'\t';
cout<<endl;
}
}
(2)
#include<iostream>
using namespace std;
int main()
{
cout<<"九九乘法表右下"<<endl;
for(int i=1;i<=10;i++)
{
for(int j=1;j<=i;j++)
cout<<i<<"*"<<j<<"="<<i*j<<'\t';
cout<<endl;
}
}
(3)
#include<iostream>
using namespace std;
int main()
{
cout<<"九九乘法表右上"<<endl;
for(int i=1;i<10;i++)
{
for(int j=1;j<10;j++)
if(i<j)
cout<<'\t';
else
cout<<i<<"*"<<j<<"="<<i*j<<'\t';
cout<<endl;
}
}
习题9
(1)
(2)
(3)
编程实现输入两个4X5矩阵和5X3矩阵,定义函数并在主函数中调用计算它们的积。
编程计算S[n]=1!+21+3!+...n!。要求定义两个函数,一个计算n!,一个计算s[n],在后一个函数中调用前一个函数。然后在主程序中输入数n的值,然后调用定义函数输出结果。
编写一个函数,输入一个十六进制数,输出相应的十进制数。
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
class menu
{
int num; //菜式的编号
string name; //菜名
float price; //价格
string kind; //种类
int sort; //数量
public:
void num(int i); //录入编号
void getname(string Name); //录入名字
void getprice(float Price); //录入价格
void getkind(string Kind); // 录入类别
void getsort(int Sort); //录入点菜数量
void menudisplay(); //菜谱显示
void selectdisplay(); //输出菜单
float returnnum() //返回编号
{ return num; }
string returnname() //返回菜名
{ return name; }
float returnprice() //返回菜式单价
{ return price; }
string returnkind() //返回菜式类别
{ returnkind; }
int returnsort() //返回点菜数量
{ return sort; }
}
void Cmenu::getnum(int i)
{
num=i;
} //菜式编号录入函数
void cmenu::getname(string Name) //菜名录入
{ name=Name; }
void cmenu::getprice(float Price) //菜价录入
{ price=Price; }
void cmenu::getkind(string Kind) //类别录入
{ kind=Kind; }
void cmenu::getsort(int Sort) //数量录入
{ sort=Sort; }
void cmenu::menudisplay() //菜单信息显示
{ cout<<setw(3)<<num<<setw(22)<<name<<stew(16)<<kind<<setw(16)kind<<
price<<endl; }
void Cmenu::selectdisplay() //输出菜单
{ cout<<setw(3)<<num<<setw(24)<<name<<setw(16)<<kind<<setw(16)<<kind<<
setw(16)<<price<<setw(19)<<sort<<endl; }
class array
{
public:
void getnum(int Num); //初始化num的函数
void getsort(int Sort); //初始化sort的函数
int returnnum() //返回num的函数
{ return num; }
int returnsort() //返回sort的函数
{ return sort; }
private:
int sort,num;
}
void array::getnum(int Num) //初始化num的函数体
{ num=Num; }
void array::getsort(int Sort) //初始化sort的函数体
{ sort=Sort; }
void main()
{
int i,d,m,q,z,sort,b;
char j;
int g;
int Num;
string Name,Kind;
float Price,Point,sum=0;
Cmenu food[30]; //创建Cmenu类的对象数组
ifstream f1("menu.txt"); //文件输入菜单信息
for(j=0;j<30;j++)
{
f1>>Num;
f1>>Kind;
f1>>Name;
f1>>Price;
food[j].num(Num);
food[j].kind(Kind);
food[j].name(Name);
food[j].price(Price);
food[0].num(1);
food[0].kind("星冰乐");
food[0].name("摩卡星冰乐");
food[0].price(25);
food[1].num(2);
food[1].kind("星冰乐");
food[1].name("奶油星冰乐");
food[1].price(26);
food[2].num(3);
food[2].kind("星冰乐");
food[2].name("焦糖星冰乐");
food[2].price(25);
food[3].num(4);
food[3].kind("星冰乐");
food[3].name("咖啡星冰乐");
food[3].price(28);
food[4].num(5);
food[4].kind("甜品");
food[4].name("马卡龙");
food[4].price(30);
food[5].num(6);
food[5].kind("甜品");
food[5].name("焦糖布丁");
food[5].price(15);
food[6].num(7);
food[6].kind("甜品");
food[6].name("手工巧克力");
food[6].price(30);
food[7].num(8);
food[7].kind("甜品");
food[7].name("曲奇");
food[7].price(18);
food[8].num(9);
food[8].kind("甜品");
food[8].name("萨芭雍");
food[8].price(22);
food[9].num(10);
food[9].kind("蛋糕");
food[9].name("提拉米苏");
food[9].price(23);
food[10].num(11);
food[10].kind("蛋糕");
food[10].tname("起司蛋糕");
food[10].price(25);
food[11].num(12);
food[11].kind("蛋糕");
food[11].name("酸奶乳酪蛋糕");
food[11].price(24);
}
f1.close();
cout<<"o(╯□╰)oo(╯□╰)oo(╯□╰)oo(╯□╰)o星爸爸欢迎你o(╯□╰)oo(╯□╰)oo(╯□╰)oo(╯□╰)o"<<endl;
cout<<"
1--------显示菜单信息
2--------分类查找
3--------下单
"<<endl;
cout<<"( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) ( ⊙o⊙ ) "<<endl;
if(q==0) //显示菜单里所有的商品名字
{
cout<<"-------------------------------菜单---------------------------"<<endl;
cout<<"编号 名字 类别 单价/元 "<<endl;
for(j=0;j<30;j++)
food[j].menudisplay();
cout<<"-------------------------------------------------------------"<<endl;
}
if(q==2) // 在菜单里按类查找
{
cout<<"1--------------星冰乐"<<endl;
cout<<"2--------------甜品"<<endl;
cout<<"3--------------蛋糕"<<endl;
cin>>z;
if(z>3)
{
system("cls");
cout<<"请输入正确序号"<<endl;
}
switch(z)
{
case 1: //输出星冰乐类
for(j=0;j<30;j++)
{
if(food[j].returnkind()=="星冰乐")
food[j].menudisplay();
}
break;
case 2: //输出甜品类
for(j=0;j<30;j++)
{
if(food[j].returnkind()=="甜品")
food[j].menudisplay();
}
break;
case 3: //输出蛋糕类
for(j=0;j<40;j++)
{
if(food[j].returnkind()=="蛋糕")
food[j].menudisplay();
}
break;
}
}
if(q>3)
{
system("cls");
cout<<"请输入正确序号"<<endl;
}
if(q==3) break; //退出进入点菜环节
}
cout<<"你要下单的数量?"<<endl; //下单
cin>>i;
array *a=new array[i] ; //动态创建i个array类的数组来储存编号和数量
for(j=0;j<i;j++)
{
cout<<"请选择第"<<j+1<<"个商品的编号:"<<endl;
cin>>id; //输入每个编号
cout<<"请输入数量:"<<endl;
cin>>sort; //输入所点商品的数量
a[j].num(d);
a[j].sort(sort);
}
for(;;) //对定的菜进行操作
{
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" 1--------增加商品 "<<endl;
cout<<" 2--------删除一个菜 "<<endl;
cout<<" 3--------输出点菜信息并保存 "<<endl;
cout<<" 4--------计算消费金额 "<<endl;
cout<<" 0--------退出系统 "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cin>>b;
if(b==1)
{
cout<<"你要增加什么食物?"<<endl; //增加多少个
cin>>g;
array *p=new array[i];
for(j=0;j<i;j++)
{
p[j].num(a[j].returnnum());
p[j].sort(a[j].returnsort());
}
delete [] a;
i=i+g;
a=new array[i];
for(j=0;j<i-g;j++)
{ a[j].num(p[j].returnnum());
a[j].sort(p[j].returnsort());
}
delete [] p;
for(j=i-g;j<i;j++)
{
cout<<"请输入增加的一个商品的编号和数量:"<<endl;
cin>>d;
cin>>sort;
a[j].num(d);
a[j].sort(sort);
}
cout<<"增加点菜成功。"<<endl;
}
if(b==2)
{
cout<<"请输入要删除的商品的编号:"<<endl; //删除操作
cin>>d;
for(j=0;j<i;j++)
{
if(a[j].returnnum()==d)
{
m=j;
for(j=m;j<i;j++)
{
a[j]=a[j+1];
}
i--;
cout<<"删除成功。"<<endl;break;
}
}
if(j==i)
{
cout<<"你没有点这个!!错误。"<<endl;
}
}
if(b==3) //输出所点商品的信息
{
char baocun;
cout<<"编号 名字 类别 单价/元 数量"<<endl;
for(m=0;m<i;m++)
{
for(j=0;j<30;j++)
{
if(a[m].returnnum()==food[j].returnnum())
{ food[j].sort(a[m].returnsort());
food[j].selectdisplay();
}
}
}
cout<<"是否保存并退出?"<<endl;
cout<<"请按y(是)或n(否)"<<endl;
cin>>baocun;
if(baocun=='y')
{ ofstream file("select.txt");
file<<"编号 名字 类别 单价/元 数量"<<endl;
for(m=0;m<i;m++)
{
for(j=0;j<30;j++)
{
if(a[m].returnnum()==food[j].returnnum())
{ file<<food[j].returnnum()<<" "<<food[j].returnname()<<" "<<food[j].returnkind()<<
" "<<food[j].returnprice()<<" "<<food[j].returnsort()<<endl;
}
}
}
file.close();
cout<<"已成功保存!"<<endl;
break;}
if(b==4) {
sum=0;
cin>>q;
for(m=0;m<i;m++)
{
for(j=0;j<30;j++)
{
if(a[m].returnnum()==food[j].returnnum())
{ food[j].gsort(a[m].returnsort());
sum=sum+food[j].returnprice()*food[j].returnsort(); //计算所点总金
}
}
}
if(q>1) {system("cls");cout<<"请输入正确序号"<<endl;}
if(q==1)
{
cout<<"总的金额是:"<<sum<<"元"<<endl;}
}
}
if(b==0)
{system("cls"); //退出
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"*****************谢谢使用************谢谢使用****************谢谢使用****************"<<endl;
cout<<endl;
cout<<endl;
break;}
if(b>4) {system("cls");cout<<"请输入正确序号"<<endl;}
}
}