⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wzh.cpp

📁 VC程序论坛
💻 CPP
字号:
#include <fstream.h>
#include <string.h>
#include <iostream.h>
#include<iomanip.h>
#include "wzh.h"
#include "man.h"

	void jiafen(char *xm,int a) 
	{
		man m;
		m.zengjiajf(xm,a);
	}
void wzh::wjcopy(char *iwj,char *owj)        ////////文件整理除去序号为-2的和复制文件名字/////
{
	fstream fi,fo; 
	fi.open(iwj,ios::in);
    fo.open(owj,ios::out);
    if(!fi||!fo)
		cout<<"找不到文件,请确认文件是否正确!!!!!\n"; 
	while(fi>>num>>xingming>>pinglun)
	{  
		if(num!=-2)
		{     
	    fo<<setiosflags(ios::left)
		<<setw(5)<<num<<setw(15)<<xingming
	    <<setw(200)<<pinglun<<endl;
	    }
	}
	fi.close(); fo.close();
}
/*
void wzh::wzhcopy(char *iwzh,char *owzh)      //////////文章复制/////////
{
	fstream fi,fo;  char a[100];
	fi.open(iwzh,ios::in|ios::nocreate);
		if(!fi)
		{ cout<<"源文章不存在,请确认路径是否正确!\n"; return;}
	fo.open(owzh,ios::out);
	    if(!fo)
		{ cout<<"目标文章不存在,请确认路径是否正确!\n"; return;}
	while(fi.getline(a,100))
	{
		if(strlen(a)<100)
		{ 
			fo<<a<<endl;
		}
		else
			fo<<a<<endl;
	}
	cout<<"文章复制成功!!\n";
}
*/
	  
void wzh::duwenzhang(char *wz)     ////////////////////读文章////////
{
	char a[100];
	fstream f; 
	f.open(wz,ios::in|ios::nocreate);
    if(!f)
    { cout<<"没有找到此文章,可能已经被删除!\n";  return;} 
   while(f.getline(a,100))
   {  if(strlen(a)<100) cout<<a<<endl;
		else cout<<a;
   }
}

void wzh::xie(char *wz,char *xm)   ///////写评论//////////
{
	char pl[200]; int k=1;
	fstream f; 
	cout<<"请在下面写上你的评论(中间不能有空格或者回车):\n";
	cin>>pl;
	f.open(wz,ios::app|ios::in|ios::nocreate);
    if(!f)
	{ cout<<"找不到文件或可能已经被删除!!\n"; return;} 
    while(f>>num>>xingming>>pinglun)
	{     k++; } 
   	f.close();
	f.open(wz,ios::app|ios::in);
	if(k==1)
	{
	    f<<setiosflags(ios::left)
		<<setw(5)<<k<<setw(15)<<xm
	    <<setw(200)<<pl<<endl;
		   jiafen(xm,3);
			cout<<"发表成功!!\n";
	}
	else
	{
      while(f>>num>>xingming>>pinglun)
	  {
		if(k<num+2)
		{
		   f<<setiosflags(ios::left)
	    	<<setw(5)<<k<<setw(15)<<xm
	        <<setw(200)<<pl<<endl;
		      jiafen(xm,2);
			cout<<"发表成功!!\n";
		}
	  }
	}
   	f.close();
}

void wzh::dupl(char *wz)    //////////读评论/////////
{
	fstream f; int k=1;
	cout<<"以下是读者们发表的评论:\n";
	f.open(wz,ios::in|ios::nocreate);
	if(!f)
	{ 
	 cout<<"打不开评论或者已经删除!!\n"; return;
	}
	while(f>>num>>xingming>>pinglun)
	{     k++; } 
   	f.close();
	if(k==1)
	{
      cout<<"至今还没有会员发表意见,恭喜你要做第一个了!!\n";
	}
	f.open(wz,ios::in|ios::nocreate);
	if(!f)
	{ 
	 cout<<"打不开评论或者已经删除!!\n"; return;
	}
	while(f>>num>>xingming>>pinglun)
	{
		cout<<"*************************************************************\n";
		cout<<"第"<<num<<"楼:"<<xingming<<"发表"<<endl;
		cout<<pinglun<<endl;
		cout<<"*************************************************************\n";
	}
	f.close();
}

void wzh::del(char *wz,char *wzb)     /////////////////删除评论////////////
{
	int n,v=1,p,w; fstream f; char c;
    dupl(wz);
	cout<<"输入你要删除的评论的序号:\n";
	cin>>n;
	f.open(wz,ios::in|ios::out);
	while(f>>num>>xingming>>pinglun)
	{
		if(num==n)
		{  w=4;
		   cout<<"你确定要"<<"删除第"<<n<<"楼的评论吗??(Y/N)\n";
		   cin>>c;
		   while(c!='Y'&&c!='y'&&c!='N'&&c!='n')
		   {
			   cout<<"输入不合法,必须是:Y/y/N/n \n"
				   <<"重新输入:\n";
			   cin>>c;
		   }
		   if(c=='Y'||c=='y')
		   {
	           if(v==1) f.seekp(0);
		        else { f.seekp(p);  f<<endl;}
		        f<<setiosflags(ios::left)
	              <<setw(5)<<-2<<setw(15)<<xingming
	              <<setw(200)<<pinglun<<endl;
			   cout<<"删除第"<<n<<"楼的评论成功!!\n"; 
		   }
		   else
		   { 
			   cout<<"你没有删除第"<<n<<"的评论。\n";
			   break;
		   }
		}
		v++;
		p=f.tellg();
	}
	if(w!=4)
		cout<<"不存在这个序号,请确认!!\n";

	wjcopy(wz,wzb);
	wjcopy(wzb,wz);

}

void wzh::kanwzh(char *wzh,char *wzhpl,char *xm)  ////看文章////////
{
	char f,c;
			 duwenzhang(wzh);
			 dupl(wzhpl);
			 cout<<"你是该否要发表评论:(Y/N)";
			 cin>>c;
			 while(f!='Q'&&f!='q')
			 {
			   while(c!='y'&&c!='Y'&&c!='N'&&c!='n')
			   {
				 cout<<"输入不合法,必须输入(Y/y/N/n)\n";
				 cin>>c;
			   }
			   if(c=='y'||c=='Y')
			   {
			    xie(wzhpl,xm);
			   }
		       cout<<"要阅读其他的文章,请输入Q/q,查看评论输入N/n\n";
			   cin>>f;
			   while(f!='Q'&&f!='q'&&f!='N'&&f!='n')
			   {
				 cout<<"输入不合法,必须输入(Q/q/N/n)\n";
				 cin>>f;
			   }
			   if(f=='j'||f=='J')
			   {
			    dupl(wzhpl);
			    cout<<"你是该否要发表评论:(Y/N) \n";
				cin>>c;
			   }
			 } 
			 return;
        
}

void wzh::jinru(char *xm)   //////普通会员进入社区/////////////////
{
	int k; 
	   jiafen(xm,1);
  while(k!=3)
  {
	cout<<"*************欢迎进入社区阅读文章!!!******************\n";
	cout<<"你可以阅读以下文章:\n";
	cout<<"1.ASCII编码对照表           2.一个让男人们潸然泪下的故事\n"
		<<"3.返回上级\n";
	cout<<"输入1—3:\n";
	cin>>k;
	while(k!=1&&k!=2&&k!=3)
	{
		cout<<"输入不合法,请重新输入:\n";
		cin>>k;
	}
	switch(k)
	{
	case 1: 
		{ kanwzh("e:\\实习报告\\文章区域\\ASCII编码对照表.txt","e:\\实习报告\\文章区域\\ASCII编码对照表评论.txt",xm);
			  break;
		}
	case 2:
		{
			kanwzh("e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事.txt","e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事评论.txt",xm);
			 break;
		}
	case 3: break;
	}
	cout<<"你可以阅读以下文章:\n";
	cout<<"1.ASCII编码对照表           2.一个让男人们潸然泪下的故事\n"
		<<"3.返回上级\n";
	cout<<"输入1—3:\n";
	cin>>k;
  }
}


void wzh::jinrugj(char *xm)   //////高级会员进入社区/////////////////
{
   int k,k2; char f;

  while(k!=4)
  {
	cout<<"*************欢迎进入社区阅读文章!!!******************\n";
	cout<<"你可以阅读以下文章:\n";
	cout<<"1.ASCII编码对照表           2.一个让男人们潸然泪下的故事\n"
		<<"3.删除评论                  4.返回上级\n";
	cout<<"输入1—4:\n";
	cin>>k;
	while(k!=1&&k!=2&&k!=3&&k!=4)
	{
		cout<<"输入不合法,请重新输入:\n";
		cin>>k;
	}
	switch(k)
	{
	case 1: 
		{ kanwzh("e:\\实习报告\\文章区域\\ASCII编码对照表.txt","e:\\实习报告\\文章区域\\ASCII编码对照表评论.txt",xm);
			  break;
		}
	case 2:
		{
			kanwzh("e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事.txt","e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事评论.txt",xm);
			 break;
		}
	case 3: 
		{

			while(f!='Q'&&f!='q')
			{
		    	cout<<"输入你要删除的文章序号:\n";
		    	cin>>k2;
	   		  while(k2!=1&&k2!=2)
			  {
		      cout<<"输入不合法,请重新输入:\n";
		      cin>>k2;
			  }
			  if(k2==1)
				del("e:\\实习报告\\文章区域\\ASCII编码对照表评论.txt","e:\\实习报告\\文章区域\\ASCII编码对照表评论备用.txt");
			  else if(k2==2)
				del("e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事评论.txt","e:\\实习报告\\文章区域\\一个让男人们潸然泪下的故事评论备用.txt");
			  else
			  {	cout<<"你输入的文章序号不正确!再试一次:\n";}

			    cout<<"要退出删除评论系统键入Q/q,否则键入N/n\n";
				cin>>f;
				while(f!='Q'&&f!='q'&&f!='N'&&f!='n')
				{
					cout<<"输入不合法,重新输入:(Q/q/N/n)\n";
					cin>>f;
				}
			}
			f='n';
			 break;
		}
	case 4: break;
	}
  }
}

				
			 



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -