C++ 获取网页源代码,仅供参考!!

void UTF_8ToUnicode(wchar_t* pOut,char *pText)
{   
	char* uchar = (char *)pOut; 
	uchar[1] = ((pText[0] & 0x0F) << 4) + ((pText[1] >> 2) & 0x0F);
	uchar[0] = ((pText[1] & 0x03) << 6) + (pText[2] & 0x3F); 
} 
void Gb2312ToUnicode(wchar_t* pOut,char *gbBuffer) 
{   
	::MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,gbBuffer,2,pOut,1);
} 
void UTF_8ToGB2312(char*pOut, char *pText, int pLen)  
{   
	char Ctemp[4];   
	memset(Ctemp,0,4); 
	int i =0 ,j = 0; 
	while(i < pLen) 
	{  
		if(pText[i] >= 0)  
		{  
			pOut[j++] = pText[i++]; 
		} 
		else 
		{  
			WCHAR Wtemp; 
			UTF_8ToUnicode(&Wtemp,pText + i);
			UnicodeToGB2312(Ctemp,Wtemp); 
			pOut[j] = Ctemp[0];
			pOut[j + 1] = Ctemp[1];  
			i += 3;   
			j += 2;  
		}   
	} 
	pOut[j] ='\n'; 
	return; 
} 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个简单的学生成绩管理系统的 C++ 源代码。请注意,此代码仅供参考,您可以根据自己的需求进行修改和优化。 ```c++ #include<iostream> #include<fstream> #include<cstring> #include<cstdlib> #include<iomanip> using namespace std; //定义学生类 class student { char name[50]; //学生姓名 char id[10]; //学生学号 float score[3]; //学生成绩 float average; //学生平均成绩 public: void input(); //输入学生信息 void output(); //输出学生信息 char* getname(); //获取学生姓名 char* getid(); //获取学生学号 float getaverage(); //获取学生平均成绩 }; void student::input() { cout<<"请输入学生姓名:"; cin>>name; cout<<"请输入学生学号:"; cin>>id; cout<<"请输入学生成绩(语文、数学、英语):"; cin>>score[0]>>score[1]>>score[2]; average=(score[0]+score[1]+score[2])/3.0; } void student::output() { cout<<name<<"\t"<<id<<"\t"<<score[0]<<"\t"<<score[1]<<"\t"<<score[2]<<"\t"<<setprecision(2)<<average<<endl; } char* student::getname() { return name; } char* student::getid() { return id; } float student::getaverage() { return average; } //定义函数模板 template<class T> void sort(T *a,int n) { int i,j; T temp; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } int main() { int n,i,j; student stu[100]; //输入学生人数 cout<<"请输入学生人数:"; cin>>n; //输入学生信息 for(i=0;i<n;i++) { cout<<"请输入第"<<i+1<<"个学生信息:"<<endl; stu[i].input(); } //输出学生信息 cout<<"学生信息如下:"<<endl; cout<<"姓名\t学号\t语文\t数学\t英语\t平均分"<<endl; for(i=0;i<n;i++) stu[i].output(); //按平均成绩排序并输出 cout<<"按平均成绩排序后的学生信息如下:"<<endl; cout<<"姓名\t学号\t语文\t数学\t英语\t平均分"<<endl; sort(stu,n); for(i=0;i<n;i++) stu[i].output(); //查找学生成绩 char searchname[50],searchid[10]; float searchaverage; int flag=0; cout<<"请输入要查找的学生姓名:"; cin>>searchname; for(i=0;i<n;i++) if(strcmp(searchname,stu[i].getname())==0) { stu[i].output(); flag=1; break; } if(flag==0) cout<<"没有找到该学生!"<<endl; flag=0; cout<<"请输入要查找的学生学号:"; cin>>searchid; for(i=0;i<n;i++) if(strcmp(searchid,stu[i].getid())==0) { stu[i].output(); flag=1; break; } if(flag==0) cout<<"没有找到该学生!"<<endl; flag=0; cout<<"请输入要查找的学生成绩:"; cin>>searchaverage; for(i=0;i<n;i++) if(searchaverage==stu[i].getaverage()) { stu[i].output(); flag=1; } if(flag==0) cout<<"没有找到该成绩的学生!"<<endl; system("pause"); return 0; } ``` 这个程序使用了类和函数模板,实现了学生信息的输入、输出、按平均成绩排序和查找功能。您可以根据自己的需要进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值