c++简单程序设计-7
基础练习
11-7
#include<iostream> using namespace std; int main(){ ios_base::fmtflags original_flags=cout.flags(); //声明可以用‘|’组合,并保存参数设置 cout<<812<<'|'; cout.setf(ios_base::left,ios_base::adjustfield); //先输入的左对齐,后输入的右对齐 cout.width(10); //设置数据域宽度 cout<<813<<815<<'\n'; cout.unsetf(ios_base::adjustfield); //取消右对齐,全部左对齐 cout.precision(2); cout.setf(ios_base::uppercase|ios_base::scientific); //对于十六进制数值显示大写字母A到F,对于科学格式显示大写字母E //并以科学格式显示浮点数值 cout<<831.0; cout.flags(original_flags); //恢复原参数设置 return 0; }
11-3
#include <iostream> #include <fstream> using namespace std; int main() { ofstream out("text1.text"); out << "已成功写入文件!"; out.close(); return 0; }
11-4
#include <iostream> #include <fstream> #include <string> using namespace std; int main() { ifstream in("text1.text"); string s1; getline(in, s1); cout<<s1; in.close(); return 0; }
应用练习
1.
#include<iostream> #include<fstream> #include<string> #include<cstdlib> #include<ctime> using namespace std; int main(){ ifstream in("list.txt"); //打开list的文本 int i=0; string stu[83]; string s1; while (getline(in, s1)){ //输入每行数据,直到结束 stu[i]=s1; i++; } in.close(); ofstream out("roll.txt"); //输出为roll的文本 srand(time(NULL)); //设置随机数 for(int j=0;j<5;j++){ int x=rand()%83; cout<<stu[x]<<endl; out<<stu[x]<<endl; } out.close(); return 0; }
2.
#include<iostream> #include<fstream> #include<string> #include<iomanip> using namespace std; int main() { ifstream in("ceshi.txt"); if (!in) { cout << "error" << endl; return 1; } string s1; int x,ch=0,word=0,line=0; while (getline(in, s1)) { //逐行输入,直接计算行数 line++; x = s1.size(); //计算输入字符串长度 ch+=x; //每行相加,即为总字符数 for (int i = 0; i <=x; i++) { if (s1[i] < 'A'||s1[i] > 'z') { //只要不是字母都算为单词 word++; if(s1[i]==','||(s1[i]=='.'&&s1[i+1]=='\n')){ //一般这些符号后会有空格,所以去重 word--; } } } word--; //不知道为什么每行都多出了一个单词,所以减去 } in.close(); cout << "字符数:"<<ch<<endl; cout << "单词数:" <<word<<endl; cout << "行数:"<<line<<endl; return 0; }