谁帮我解释一下这几个代码
帮我打一下注释吧?详细点
这样我自己再研究一下
最好注释有这个函数的用法等等
谢谢了
1、流式IO(一)
编写C++程序完成以下功能:
(1)使用ofstream 向一个文本文件中输出各种类型的数据,并打开文件观察结果:
整数、无符号整型、长整型、浮点型、字符串、……
(2)用十进制、八进制、十六进制方式向文本文件中输出整数;
(3)使用控制符和成员函数来控制输出的格式:
set() precision() ...
程序代码:
#include<iostream> #include<fstream> #include<string> #include<stdlib.h> using namespace std; main() { int x,j,i=1; char a; int s[50]; ofstream output("print.txt"); //创建文件 cout<<"Please enter end with #."<<endl; cin>>a; while(a!='#') { output.write((char*)&a,sizeof(a)); //写入文件 cin>>a; } cout<<"Enter integers,end with 0."<<endl; cin>>x; output<<endl<<"十进制为:"<<endl; while(x!=0) { s[i]=x; output<<x<<" "; cin>>x; i+=1; } output<<endl<<"八进制为:"<<endl; for(j=0;j<i;j++) { output<<oct<<s[j]<<" "; } output<<endl<<"十六进制为:"<<endl; for(j=0;j<i;j++) { output<<hex<<s[j]<<" "; } output.close(); //关闭文件 system("pause"); }
3、流式IO(三)
编写C++程序完成以下功能:
(1)输入一个文本文件名;
(2)打开文件名,在该文件的每一行前面加上一个行号,保存在另外一个文本文件中。
程序代码:
#include<iostream> #include<fstream> #include<string> #include<stdlib.h> using namespace std; main() { int i=1; string s; ifstream input("in.txt"); //输入文件和输出文件 ofstream output("out.txt"); if(!input) { cout<<"error:cannot open input file"<<endl; } else while(getline(input,s)) { cout<<s<<endl; output<<"("<<i<<")"<<s<<endl;//添加行号 i+=1; } system("pause"); }
1、电话本
编写C++程序完成以下功能:
(1)实现简单电话本功能,用姓名来搜索电话号码;
(2)用户输入姓名,程序查找并输出结果;
(3)用户可以通过输入,添加姓名和电话号码;
(4)用户可以删除姓名和电话号码;
(5)电话本可以保存在指定文件中;
(6)电话可被从指定文件中读入到内存。
程序代码:
#include<iostream> #include<iomanip> #include<fstream> #include<string> #include <stdlib.h> using namespace std; /*void addPhone(string n,phone *ptr,int len); void deletePhone(string n,phone *ptr,int len); phone* searchPhone(string n,phone *ptr,int len);*/ class phone { private: string name; string number; public: phone(){}; string getname(){return name;} string getnumber(){return number;} void setname(string n){name=n;} void setnumber(string a){number=a;} }; int input(phone ptr[]) { int i=0,a,a1; string n,n1; ifstream fin("input.txt"); while(!fin.eof()) { getline(fin,n,' '); getline(fin,n1,' '); ptr[i].setname(n); ptr[i].setnumber(n1); i++;} return i;} void output(phone ptr[],int len) { ofstream fout("output.txt"); fout<<"电话本程序输出测试:"<<endl; for(int i=0;i<len;i++) fout<<"姓名:"<<ptr[i].getname()<<endl<<"电话:"<<ptr[i].getnumber()<<endl; } void coutput(phone ptr[],int len) { for(int i=0;i<len;i++) cout<<"姓名:"<<ptr[i].getname()<<endl<<"电话:"<<ptr[i].getnumber()<<endl;} phone * searchPhone(string n,phone* ptr,int len) {for(int i=0;i<len;i++) if(n==(ptr+i)->getname()) //cout<<"the number of"<<n<<"is"<<(ptr+i)->getnumber>>endl; {return (ptr+i); break;} return NULL; } void addPhone(string n,phone *ptr,int len) { string a; ptr[len].setname(n); cout<<"请输入该联系人的电话号码:"<<endl; cin>>a; ptr[len].setnumber(a); ++len; cout<<"该联系人已经创建."<<endl;} void deletePhone(string n,phone *ptr,int len) {phone *p=searchPhone(n,ptr,len); int m=p-ptr; for(int i=1;i<=len-m-1;i++) ptr[m+i-1]=ptr[m+i]; cout<<"该联系人已经删除"<<endl; } int main() {int len=0,a; phone ptr[100]; phone * px; cout<<"********************************电话本程序************************************"<<endl<<endl<<"是否需要文件读取联系人信息?"<<endl<<" 1.需要。2。不需要(手动输入):"<<endl; cin>>a; if(a==1) {len=input(ptr); cout<<"文件读取成功!"<<endl<<endl;} cout<<"********************请输入你想执行的操作(输入操作前号码)********************"<<endl; cout<<"* 1.添加联系人。 2.删除联系人。 *"<<endl; cout<<"* 3.查找联系人。 4.文件输出 *"<<endl; cout<<"* 5.屏幕输出。 6.结束程序。 *"<<endl; cout<<"******************************************************************************"<<endl; cin>>a; while(a!=6) { if(a==1) { string n; cout<<"请输入你想添加的联系人的姓名:"; cin>>n; addPhone(n,ptr,len); len++;} if(a==2) { string n; cout<<"请输入你想删除的联系人的姓名:"; cin>>n; deletePhone(n,ptr,len); len--;} if(a==3) { string n; cout<<"请输入你想查找的联系人的姓名:"; cin>>n; px=searchPhone(n,ptr,len); if(px!=NULL) cout<<"该联系人的号码是:"<<px->getnumber()<<endl; if(px==NULL) cout<<"无此联系人"<<endl; px=NULL; } if(a==4) {output(ptr,len); cout<<"文件已输出到output.txt"<<endl;} if(a==5) {coutput(ptr,len);} cout<<endl; cout<<"********************请输入你想执行的操作(输入操作前号码)********************"<<endl; cout<<"* 1.添加联系人。 2.删除联系人。 *"<<endl; cout<<"* 3.查找联系人。 4.文件输出 *"<<endl; cout<<"* 5.屏幕输出。 6.结束程序。 *"<<endl; cout<<"******************************************************************************"<<endl; cin>>a; } cout<<"谢谢你的使用。"<<endl; system("pause"); return 0; }