第六章
第一题:
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
char ch;
cout<<"Please enter some alpha or numbers, end with @: "<<endl;
while(cin>>ch)
{
if((islower(ch))&&(ch!='@'))
cout<<(char)(toupper(ch));
else if((isupper(ch))&&(ch!='@'))
cout<<(char)(tolower(ch));
else if(ch=='@')
break;
}
}
第二题:
#include <iostream>
#include <array>
using namespace std;
int main()
{
int i=0;
double SUM=0;
double ave;
array <double,10> donation;
while(cin>>donation[i])
{
SUM+=donation[i];
i++;
if(i>=10)
{
cout<<"Reach the upper limit!"<<endl;
break;
}
}
ave=SUM/i;
int num=0;
for(int j=0;j<i;j++)
{
if(donation[j]>ave)
num++;
}
cout<<"You entered "<<i<<" numbers, and its average value is "<<ave<<endl;
cout<<"There are "<<num<<" numbers higher than the average value."<<endl;
}
第三题:
#include <iostream>
using namespace std;
int main()
{
cout<<"Please enter one of the following choices:"<<endl;
cout<<"c) carnivore \t\t\t p) pianist"<<endl;
cout<<"t) tree \t\t\t g) game "<<endl;
char enter;
int sign=1;
while(sign==1)
{
cin>>enter;
switch(enter)
{
case 'c': cout<<endl<<"A tiger is a carnivore.";
break;
case 'p': cout<<endl<<"Langlang is a pianist.";
break;
case 't': cout<<endl<<"A maple is a tree.";
break;
case 'g': cout<<endl<<"Monument Valley is a game.";
break;
default:cout<<"Please enter c,p,t,or g:";
sign=0;
}
sign=1-sign;
}
}
第四题:
#include <iostream>
const int strsize = 20;
using namespace std;
int main()
{
struct bop
{
char fullname[strsize];
char title[strsize];
char bopname[strsize];
int preference;
};
bop boparray[5]=
{
{"Wimp Macho","Manager","GIN",0},
{"Raki Rhodes","Junior Programmer","IRISH",1},
{"Celia Laiter","PHP Engineer","MIPS",2},
{"Hoppy Hipman","Analyst Trainee","VERMOUTH",1},
{"Pat Hand","JAVA Engineer","LOOPY",2}
};
cout<<"Benevolent Order of Programmers Report"<<endl;
cout<<"a. display by name b. display by title"<<endl;
cout<<"c. display by bopname d. display by preference"<<endl;
cout<<"q: quit"<<endl;
cout<<"Enter your chioce: ";
char choice;
int sign=1;
while(sign==1)
{
cin>>choice;
switch(choice)
{
case 'a':
for(int i=0;i<5;i++)
{
cout<<boparray[i].fullname<<endl;
}
cout<<"Next choice:";
break;
case 'b':
for(int i=0;i<5;i++)
{
cout<<boparray[i].title<<endl;
}
cout<<"Next choice:";
break;
case 'c':
for(int i=0;i<5;i++)
{
cout<<boparray[i].bopname<<endl;
}
cout<<"Next choice:";
break;
case 'd':
cout<<boparray[0].fullname<<endl;
cout<<boparray[1].title<<endl;
cout<<boparray[2].bopname<<endl;
cout<<boparray[3].title<<endl;
cout<<boparray[4].bopname<<endl;
cout<<"Next choice:";
break;
case 'q':
cout<<"Bye!"<<endl;
sign=0;
break;
default:
cout<<"Please enter right command!"<<endl;
break;
}
}
}
第五题:
#include <iostream>
using namespace std;
int main()
{
int income=0;
double tax=0;
cout<<"Please enter your income in tvarps: ";
int sign=1;
while(sign==1)
{
cin>>income;
if(income>=0&&income<=5000)
tax=0;
else if(income>5000&&income<=15000)
tax=(income-5000)*0.1;
else if(income>15000&&income<=35000)
tax=1000+(income-15000)*0.15;
else if(income>35000)
tax=4000+(income-35000)*0.2;
else
sign=0;
if(sign==1)
cout<<"The tax is: "<<tax<<endl<<"Income: ";
else
cout<<"End.";
}
}
第六题:
#include <iostream>
using namespace std;
int main()
{
int num;
cout<<"Please enter the number of donators: ";
cin>>num;
cin.get();
struct capital
{
char name[20];
double money;
};
capital *list=new capital[num];
for(int i=0;i<num;i++)
{
cout<<"Name: ";
cin.getline(list[i].name,20);
cout<<"Money: ";
cin>>list[i].money;
cin.get();
}
cout<<endl<<"Grand Patrons"<<endl;
int grand_sign=1;
for(int j=0;j<num;j++)
{
if(list[j].money>10000)
{
cout<<list[j].name<<"\t"<<list[j].money<<endl;
grand_sign=0;
}
}
if(grand_sign==1)
cout<<"none"<<endl;
cout<<endl<<"Patrons"<<endl;
int ordinary_sign=1;
for(int k=0;k<num;k++)
{
if(list[k].money<=10000)
{
cout<<list[k].name<<"\t"<<list[k].money<<endl;
ordinary_sign=0;
}
}
if(ordinary_sign==1)
cout<<"none"<<endl;
}
第七题:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int vowels=0;
int consonants=0;
int others=0;
cout<<"Enter words(q to exit):"<<endl;
char word[20];
while(cin>>word)
{
if((isalpha(word[0]))&&(strcmp(word,"q")))
{
if(word[0]=='a'||word[0]=='e'||word[0]=='i'||word[0]=='o'||word[0]=='u')
vowels++;
else
consonants++;
}
else if(!strcmp(word,"q"))
break;
else
others++;
}
cout<<endl<<vowels<<" words beginning with vowels.";
cout<<endl<<consonants<<" words beginning with consonants.";
cout<<endl<<others<<" others.";
}
第八题:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream inFile;
inFile.open("Practice8.txt");
int num=0;
char ch;
while ((ch = inFile.get()) != EOF)
{
num++;
}
cout<<"This file include "<<num<<" characters";
}
第九题:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream inFile;
inFile.open("Practice9.txt");
int num=0;
inFile>>num;
inFile.get();
struct capital
{
string name;
double money;
};
capital *list=new capital[num];
for(int i=0;i<num;i++)
{
getline(inFile, list[i].name);
inFile >> list[i].money;
inFile.get();
}
cout<<endl<<"Grand Patrons"<<endl;
int grand_sign=1;
for(int j=0;j<num;j++)
{
if(list[j].money>10000)
{
cout<<list[j].name<<"\t"<<list[j].money<<endl;
grand_sign=0;
}
}
if(grand_sign==1)
cout<<"none"<<endl;
cout<<endl<<"Patrons"<<endl;
int ordinary_sign=1;
for(int k=0;k<num;k++)
{
if(list[k].money<=10000)
{
cout<<list[k].name<<"\t"<<list[k].money<<endl;
ordinary_sign=0;
}
}
if(ordinary_sign==1)
cout<<"none"<<endl;
}