| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:谁帮我解释一下这几个代码
只看楼主 加入收藏
yu497272290
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2013-11-2
结帖率:42.86%
收藏
已结贴  问题点数:20 回复次数:4 
谁帮我解释一下这几个代码
帮我打一下注释吧?
详细点
这样我自己再研究一下
最好注释有这个函数的用法等等
谢谢了
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;    
    }
搜索更多相关主题的帖子: 十六进制 文本文件 include 八进制 十进制 
2014-09-11 13:05
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:5 

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2014-09-11 13:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
在保证程序能够正确运行的前提下   一句一句代码看呗   也不是多么高深的代码

DO IT YOURSELF !
2014-09-11 13:34
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:5 
懒得看了.
程序代码:
main()
{
      int x,j,i=1;
      char a;
      int s[50];
      
      ofstream output("print.txt");            //打开文件 "print.txt"  
      
      cout<<"Please enter end with #."<<endl;  //输入字符  '#' 字符退出
      cin>>a;                                  //字符 (非字符串)
      
      while(a!='#')                             //'#' 字符即退出
      {
                   output.write((char*)&a,sizeof(a)); //写入字符地址与长度, (长度就是固定的 1 )
                   cin>>a;                           //重复输入并写鈤文件.
      }
      
      cout<<"Enter integers,end with 0."<<endl;    //输入整数    输入0退出
      cin>>x;
      output<<endl<<"十进制为:"<<endl;
      while(x!=0)
      {
                 s[i]=x;                     //整数数据存入s
                 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");                   //暂停
}

hl928452957@gmail点com

2014-09-11 19:28
llwwzz
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2012-11-12
收藏
得分:5 
自己拿一张白纸,它定义一个变量你写一个表,,,你花30分钟绝对能看懂,要是还看不懂,,你还是先去学习语法把
2014-09-14 16:25
快速回复:谁帮我解释一下这几个代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020070 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved