#include "stdafx.h"
#include
template //定义一个模板
void Sort(Type Array[], int nLen)
{
for(int i=0; i Array[j+1]) //交换数组元素
{
Type nTmp = Array[j];
Array[j] = Array[j+1] ;
Array[j+1] = nTmp;
}
}
}
}
int main(int argc, char* argv[])
{
int nArray[] = {85, 98, 45, 76, 75};
Sort(nArray, 5);
cout << "整数排序" << endl;
//输出结果
for(int i=0; i<5; i++)
{
cout << nArray[i] << endl;
}
double dArray[] = {76.85, 95.75, 84.56, 85.5, 67.4};
Sort(dArray, 5);
//输出结果
cout << "实数排序" << endl;
for(int j=0; j<5; j++)
{
cout << dArray[j] << endl;
}
return 0;
}
2、根据年月日计算是一年中的第几天
需要注意区分平年和闰年。
// OutDays.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "string.h"
#include "stdlib.h"
#include "iostream.h"
//判断某一年是否是闰年
bool IsLeapyear(int nYear)
{
if (nYear % 4 == 0 && nYear % 100 != 0)
{
return true;
}
else if (nYear % 100 == 0 && nYear % 400 == 0)
{
return true;
}
return false;
}
//pszData格式XXXX-XX-XX
int GetDays(const char* pszDate)
{
//解析年月日
char szYear[5] = {0};
char szMonth[3] = {0};
char szDay[3] = {0};
strncpy(szYear, pszDate, 4);
int nYear = atoi(szYear);
char* pszMonth = (char*)pszDate + 5;
strncpy(szMonth, pszMonth, 2);
int nMonth = atoi(szMonth);
char* pszDay = pszMonth + 3;
int nDay = atoi(pszDay);
//判断日期是否正确
if (nMonth < 1 || nMonth > 12)
return -1;
if (nDay < 1 )
return -1;
if (nMonth == 1 || nMonth == 3 || nMonth == 5 || nMonth == 7
|| nMonth == 8 || nMonth == 10 || nMonth == 12)
{
if (nDay > 31)
return -1;
}
else if (nDay > 30)
{
return -1;
}
bool bLeapYear = IsLeapyear(nYear);
if (bLeapYear && nMonth == 2)
{
if (nDay > 29)
return -1;
}
else if (nMonth == 2)
{
if (nDay > 28)
return -1;
}
int nDayNum = nDay;
// 循环月份
for (int i=1; i
3、实现struct和了解方法原型
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
struct CUser //定义一个类
{
char m_Username[128] ; //定义数据成员
char m_Password[128]; //定义数据成员
bool Login(); //定义方法原型
};
bool CUser::Login() //实现CUser类中的Login方法
{
if (strcmp(m_Username,"MR")==0 && strcmp(m_Password,"KJ")==0)
{
cout << "登录成功!" << endl;
return true;
}
else
{
cout << "登录失败!" << endl;
return false;
}
}
int main(int argc, char* argv[])
{
CUser User; //定义一个对象User
strcpy(User.m_Password, "KJ"); //设置m_Password成员数据
strcpy(User.m_Username, "MR"); //设置m_Username成员数据
User.Login(); //调用Login方法
return 0;
}
4、体现封装原则的类
使用private/public设置成员访问级别;成员对象设置私有;调用/设置方法设置公开;
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
class CUser //定义一个类
{
private: //设置成员访问级别
char m_Username[128]; //定义数据成员
char m_Password[128]; //定义数据成员
public: //设置成员访问级别
void SetUsername(const char *pUsername) //公有方法,设置用户名称
{
if (pUsername != NULL) //判断参数是否为空
{
strcpy(m_Username,pUsername);
}
}
char* GetUsername() //公有方法,获取用户名称
{
return (char*)m_Username; //返回用户名
}
void SetPassword(const char *pPassword) //公有方法,设置密码
{
if (pPassword != NULL) //判断参数是否为空
{
strcpy(m_Password,pPassword);
}
}
char* GetPassword() //公有方法,获取用户密码
{
return (char*)m_Password;
}
bool Login() //定义方法
{
if (strcmp(m_Username,"MR")==0 && strcmp(m_Password,"KJ")==0)
{
cout << "登录成功!" << endl;
return true;
}
else
{
cout << "登录失败!" << endl;
return false;
}
}
};
int main(int argc, char* argv[])
{
CUser User; //定义CUser类对象
//strcpy(User.m_Password, "KJ"); //不能够直接访问m_Password成员
//strcpy(User.m_Username, "MR"); //不能够直接访问m_Username成员
User.SetUsername("MR"); //调用SetUsername设置m_Username成员
User.SetPassword("KJ"); //调用SetPassword设置m_Password成员
char* pszUser = User.GetUsername(); //获取m_Username成员数据
User.Login(); //调用Login方法
return 0;
}
5、无参和有参构造函数
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
class CUser //定义一个类
{
private: //设置成员访问级别
char m_Username[128]; //定义数据成员
char m_Password[128]; //定义数据成员
public:
CUser() //默认构造函数
{
strcpy(m_Username, "MR"); //为数据成员赋值
strcpy(m_Password, "KJ"); //为数据成员赋值
cout << "构造函数被调用!" << endl; //输出信息
}
CUser(const char* pszUser, const char* pszPassword) //有参数的构造函数
{
strcpy(m_Username, pszUser);
strcpy(m_Password, pszPassword);
cout << "有参构造函数被调用!" << endl; //输出信息
}
char* GetUsername()const //公有方法,获取用户名称
{
return (char*)m_Username; //返回用户名
}
char* GetPassword() const //公有方法,获取用户密码
{
return (char*)m_Password;
}
};
int main(int argc, char* argv[])
{
CUser defUser; //定义CUser对象
cout << "用户名: " << defUser.GetUsername() << endl; //输出用户名
CUser paramUser("VCBCCD", "MRSOFT"); //定义CUser对象
cout << "用户名: " << paramUser.GetUsername() << endl; //输出用户名
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)