c++课程设计编码.docx
- 文档编号:2774803
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:16
- 大小:16.94KB
c++课程设计编码.docx
《c++课程设计编码.docx》由会员分享,可在线阅读,更多相关《c++课程设计编码.docx(16页珍藏版)》请在冰豆网上搜索。
c++课程设计编码
#include
#include
#include
classstudent
{
private:
intno;
charname[10];
intscore;
charsex[2];
intage;
intbanji;
public:
voidgetdata()
{
cout<<"(学号姓名成绩性别年龄班级):
";
cin>>no>>name>>score>>sex>>age>>banji;
}
intgetno()
{
returnno;
}
intgetage()
{
returnage;
}
voiddisp()
{
cout< } }; voidfunc1() { ofstreamoutput("stud.dat"); students; intn; cout<<"输入数据"< cout<<"学生人数: "; cin>>n; for(inti=0;i { cout<<"第"< s.getdata(); output.write((char*)&s,sizeof(s)); }; output.close(); } voidfunc2() { ifstreaminput("stud.dat"); students; cout<<"输出数据"< cout<<"学号姓名成绩性别年龄班级"< input.read((char*)&s,sizeof(s)); while(input) { s.disp(); input.read((char*)&s,sizeof(s)); }; input.close(); } voidfunc3(intno) { ifstreaminput("stud.dat"); students; cout<<"输出数据"< cout<<"学号姓名成绩性别年龄班级"< input.read((char*)&s,sizeof(s)); while(input) { if(s.getno()==no) { s.disp(); break; } input.read((char*)&s,sizeof(s)); }; input.close(); } voidfunc4(intage) { ifstreaminput("stud.dat"); students; cout<<"输出数据"< cout<<"学号姓名成绩性别年龄班级"< input.read((char*)&s,sizeof(s)); while(input) { if(s.getage()==age) { s.disp(); break; } input.read((char*)&s,sizeof(s)); }; input.close(); } voidmain() { intsel,no,age; do { cout<<"选择(1: 输入数据2: 输出数据其他退出): "; cin>>sel; switch(sel) { case1: func1();break; case2: func2();break; } }while(sel==1||sel==2); cout<<"输入学号: "; cin>>no; func3(no); cout<<"输入年龄: "; cin>>age; func4(age); } #include using namespace std; //Date类的定义 class Date { public: Date(){year=0;month=0;day=0;} void Display();//输出函数声明 void AddOneDay();//加一天函数声明 void SetDay();//设置日期函数声明 friend bool Legal(int y, int m, int d);//声明判断日期是否合法函数为友元函数,因为成员函数调用了该函数 protected: int year; int month; int day; }; //============================================= void Date: : Display() { cout < } //============================================ void Date: : AddOneDay() { if(Legal(year,month,day+1)) day++; else if(Legal(year,month+1,1)) month++,day=1; else if(Legal(year+1,1,1)) day=1,month=1,year++; } //======================================= void Date: : SetDay() { int y; int m; int d; cout<<"请输入年 月 日,中间用空格隔开: "; cin>>y>>m>>d; while(! Legal(y,m,d)) { cout<<"您输入的日期不合法,请重新设置: "; cin>>y>>m>>d; } year=y; month=m; day=d; } //=========================================== bool Legal(int y, int m, int d) { if(y>9999||y<1||d<1||m<1||m>12) return false; int dayLimit=31; switch(m) { case 4: case 6: case 9: case 11: dayLimit--; } if(m==2) dayLimit = ((y%4==0&&y%100! =0)||y%400==0) ? 29 : 28; return (d>dayLimit)? false : true; } //================================================= void IsLeapYear() { int y; cout<<"请输入要判断的年份: "; cin>>y; if((y%4==0&&y%100! =0)||y%400==0) cout< else cout< } //=============================================== void Week()// 基姆拉尔森计算公式 { int y; int m; int d; cout<<"请输入年 月 日,中间用空格隔开: "; cin>>y>>m>>d; while(! Legal(y,m,d)) { cout<<"输入日期不合法! 请重新输入日期: "; cin>>y>>m>>d; } if((m==1)||(m==2)) { m+=12; y--; } int week= int(((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)+1)%7); switch(week) { case 0: cout<<"今天是星期日"< case 1: cout<<"今天是星期一"< case 2: cout<<"今天是星期二"< case 3: cout<<"今天是星期三"< case 4: cout<<"今天是星期四"< case 5: cout<<"今天是星期五"< case 6: cout<<"今天是星期六"< } } //=============================================== int main() { cout<<"******************************************************************************** "; cout<<"欢迎使用简单电子日历,请输入功能选择: (0-5)"< cout<<"0.退出 1.设置日期 2.输出日期 3.日期加一天 4.查看任一天星期几 5.判断是否闰年"< cout<<"******************************************************************************** "; int num; Date date; cin>>num;//输入功能选择 if(! (num==0 ||num==1 || num==2 || num==3 || num==4 || num==5)) { cout<<"您输入有误,请重新输入功能选择: (0-5)"; cin>>num; } else { do { if(num==0) break; if(num==1) date.SetDay(); if(num==2) date.Display(); if(num==3) { cout<<"加一天前的日期: "; date.Display(); date.AddOneDay();//加一天 cout< "; date.Display(); } if(num==4) Week();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 课程设计 编码