当前位置: 首页 > news >正文

C++Primerplus编程练习 第六章

第六章

1

在这里插入图片描述

#include <iostream>
#include <cctype>
#include <cstring>
int main()
{using namespace std;char result[50];cout << "请输入内容:"<<endl;int i=0;while((result[i]=cin.get())!='@'){                                           if(isdigit(result[i])){continue;}   if(islower(result[i])){result[i]=toupper(result[i]);}   else{result[i]=tolower(result[i]);}   i++;}   result[i]='\0';cout << "\n" <<result<<endl;return 0;
}

2

在这里插入图片描述

#include <iostream>
int main()
{const int MAX =10;using namespace std;double donation[MAX];cout << "请输入donation值: "<<endl;int i=0;while(i<MAX && cin>>donation[i]){i++;}   double ave = 0;for(int j=0;j<i;j++){ave+=donation[j];}   ave = ave/i;int n =0 ;for(int j=0;j<i;j++){if(donation[j]>ave){                                                     n++;}   }   cout << "平均数为 " << ave << " 共有 " <<n<<" 个数大于平均数"<<endl;return 0;
}

3

在这里插入图片描述

#include <iostream>int main()
{using namespace std;cout << "Please enter one of the following choices: "<<endl<<"c) carnivore"<<"\tp) pianist"<<endl<<"t) tree" << " \tg) game"<<endl;char input;cin >> input;bool flag=true;while(flag){switch(input){case 'c':cout<<"carnivore get"<<endl;break;case 'p':cout<<"pianist get"<<endl;break;case 't':cout<<"A maple is a tree"<<endl;break;case 'g':cout<<"game get"<<endl;break;default:cout<<"Please enter a c, p, t, or g: ";cin>>input;continue;                                                        }   flag=false;}   return 0;
}

4

在这里插入图片描述
在这里插入图片描述

#include <iostream>
const int strsize = 50; 
struct bop{char fullname[strsize];                                                      char title[strsize];char bopname[strsize];int preference;
};
using namespace std;
void printBop(const bop* member, int size,int choice){for(int i=0;i<size;i++){int check=choice;if(choice==-1){check = member[i].preference;}   switch(check){case 0:cout<<member[i].fullname<<endl;break;case 1:cout<<member[i].title<<endl;break;case 2:cout<<member[i].bopname<<endl;break;}   }   
}
int main()
{const int MEMBERNUM=5;                                                       bop member[MEMBERNUM]{{"Wimp Macho","job title","WM",0},{"Raki Rhodes","Junior Programmer","RR",1},{"Celia Laiter","job title","MIPS",2},{"Hoppy Hipman","Analyst Trainee","HH",1},{"Pat Hand","job title","LOOPY",2}};cout << "Benevolent Order of Programmers Report"<<endl<<"a. display by name "<<"\tb. display by title" <<endl<<"c. display by bopname "<<"\td. display by preference"<<endl<<"q. quit"<<endl<<"Enter your choice: ";char choice;cin >> choice;while(choice!='q'){switch(choice){case 'a':printBop(member,MEMBERNUM,0);break;case 'b':printBop(member,MEMBERNUM,1);break;case 'c':printBop(member,MEMBERNUM,2);break;case 'd':printBop(member,MEMBERNUM,-1);break;default: cout<<"Enter your right choice: ";cin>>choice;continue;}cout<<"Next choice: ";cin>>choice;}cout<<"Bye!"<<endl;return 0;
}

5

在这里插入图片描述

#include <iostream>int main()
{using namespace std;const double LV_1_RATE=0.1;const double LV_2_RATE=0.15;const double LV_3_RATE=0.20;                                           double income=0;cout << "请输入你的收入计算个人所得税: ";while(cin>>income && income>0){double tax;cout << "收入为 " << income << " tvarps时,所得税为 ";if(income <= 5000){tax =0; }else if(income >5000 && income <=15000){tax = (income-5000)*0.1;}else if(income > 15000 && income <= 35000){tax = 10000*LV_1_RATE+(income-15000)*LV_2_RATE;}else{tax = 10000*LV_1_RATE+20000*LV_2_RATE+(income-35000)*LV_3_RATE;}   cout << tax << " tvarps " <<endl;cout << "请继续输入:" ;}   cout << "结束计算\n";return 0;
}

6

在这里插入图片描述

#include <iostream>
using namespace std;
struct Patron{string name;double fund;
};
int main()
{int numOfPatron;string grandPatrons;string normalPatrons;cout << "请输入捐款者的数目: ";(cin >> numOfPatron).get();Patron* patrons = new Patron[numOfPatron];for(int i=0;i<numOfPatron;i++){cout << "请输入捐款者的姓名: ";getline(cin,patrons[i].name);cout << "请输入捐款的数目: ";cin >> patrons[i].fund;cin.get();}   cout << "Grand Patrons: ";for(int i=0;i<numOfPatron;i++){if(patrons[i].fund > 10000){cout << patrons[i].name << ' '<<patrons[i].fund << ' ';}   }                                                                      cout << endl << "Patrons: ";for(int i=0;i<numOfPatron;i++){if(patrons[i].fund <= 10000){cout << patrons[i].name << ' '<<patrons[i].fund << ' ';}}cout << endl;return 0;
}

7

在这里插入图片描述

#include <iostream>
#include <cctype>
int main()
{using namespace std;int Vowel=0;int Consonant=0;int other=0;string word;cout << "Enter words (q to quit): "<<endl;while(cin>>word && word!="q"){char letter=word[0];if(isalpha(letter)){letter = tolower(letter);if(letter=='a'||letter=='e'||letter=='i'||letter=='o'||letter=='u'){Vowel++;}   else{Consonant++;}   }   else{other++;}   }   cout << Vowel << " words begining with vowels\n"<< Consonant << " words begining with consonants\n"  << other << " others\n"<<endl;return 0;
}

8

在这里插入图片描述

// file.txt
hello hi  
This is my first attempt to write code for file input
bueryi *** 
end ! QAQ 
#include <iostream>
#include <fstream>
int main()
{using namespace std;ifstream inFile;inFile.open("file.txt");char letter;int num=0;while(inFile >> letter){num++;}   inFile.close();                                                        cout << "共有 " << num << " 个字符"<<endl;return 0;
}

9

在这里插入图片描述

// donate.txt
4
Sam Stone
2000
Freida Flass
100500
Tammy Tubbs
5000
Rich Raptor
55000   
#include <iostream>
#include <fstream>
using namespace std;                                                       
struct Patron{string name;double fund;
};
int main()
{int numOfPatron;string grandPatrons;string normalPatrons;ifstream inFile;inFile.open("donate.txt");(inFile >> numOfPatron).get();Patron* patrons = new Patron[numOfPatron];for(int i=0;i<numOfPatron;i++){getline(inFile,patrons[i].name);inFile >> patrons[i].fund;inFile.get();}   cout << "Grand Patrons: ";for(int i=0;i<numOfPatron;i++){if(patrons[i].fund > 10000){cout << patrons[i].name << ' '<<patrons[i].fund << ' ';}   }   cout << endl << "Patrons: ";for(int i=0;i<numOfPatron;i++){if(patrons[i].fund <= 10000){cout << patrons[i].name << ' '<<patrons[i].fund << ' ';}}cout << endl;return 0;
}

相关文章:

  • 数据库故障排查指南
  • PDF文档解析新突破:图表识别、公式还原、手写字体处理,让AI真正读懂复杂文档!
  • 系统间安全复制和同步文件
  • 数据库审计如何维护数据完整性:7 种工具和技术
  • 1.3.2 linux音频PulseAudio详细介绍
  • ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
  • stm32 debug卡在0x1FFFxxxx
  • 【Unity笔记】PathCreator使用教程:用PathCreator实现自定义轨迹动画与路径控制
  • Spring、SpringMVC、SpringBoot、SpringCloud 联系与区别
  • linux ptrace 图文详解(八) gdb跟踪被调试程序的子线程、子进程
  • 安全核查基线-3.用户umask设置策略
  • 后缀表达式+栈(详解)(c++)
  • AI-02a5a4.神经网络-与学习相关的技巧-参数更新
  • 【设计模式】GoF设计模式之策略模式(Strategy Pattern)
  • [Linux网络_70] ARP协议 | RARP | DNS | ICMP协议
  • 在 Kotlin 中什么是委托属性,简要说说其使用场景和原理
  • window 显示驱动开发-线性内存空间段
  • kotlin 数据类
  • 2025 年数维杯数学建模 C 题完整论文代码模型:清明时节雨纷纷,何处踏青不误春
  • 最新CDGP单选题(第一章)补充
  • 报告:4月份新增发行的1763亿元专项债中,投向房地产相关领域约717亿元
  • 国博馆刊|北朝至唐初夏州酋豪李氏家族的发展与身份记忆
  • 上海质子重离子医院二期项目启动,有望成为全世界最大粒子治疗中心
  • 常州市委原常委、组织部部长陈翔调任江苏省民宗委副主任
  • 万达电影:股东杭州臻希拟减持不超1.3927%公司股份
  • 光大华夏:近代中国私立大学遥不可及的梦想