面向对象程序设计C++实验报告代码心得部分汇总word版.docx
- 文档编号:17424747
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:52
- 大小:903.98KB
面向对象程序设计C++实验报告代码心得部分汇总word版.docx
《面向对象程序设计C++实验报告代码心得部分汇总word版.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C++实验报告代码心得部分汇总word版.docx(52页珍藏版)》请在冰点文库上搜索。
面向对象程序设计C++实验报告代码心得部分汇总word版
面向对象程序设计实验报告附录之实验代码及心得汇总:
实验一数据统计系统的设计
本次实验为数据整理汇总系统的设计,分为三个小实验,分别为成绩数据、档案数据及通讯录数据的管理和汇总系统:
实验二数据查询系统的设计
本次实验为数据问询和查看系统的设计,分为三个小实验,分别为记事本、电话计费和文件大小的查询系统:
实验三打印程序设计
本次实验为灵活设计类实验,分为三个小实验,分别为心形、杨辉三角形和旋转数字的打印设计:
实验四项目程序设计
本次实验为多文件项目设计实验,分为七个小实验,分别为输入输出程序设计、最大值求取程序设计、体积运算程序设计、数据整理程序设计、继承和派生程序设计、继承权限程序设计、面积计算程序设计:
实验1成绩数据汇总系统设计
#include
#include
#include
structScale/*记录每个人各科成绩*/
{
charname[10];
intchi_sco;
inteng_sco;
intmath_sco;
};
struct/*记录各科总分*/
{
intchi;
inteng;
intmath;
}Sum={0,0,0};/*全局,可省略初值0*/
/*记录chi,eng,math最高分*/
struct
{
intmax_chi;/*最高分数*/
intmax_eng;
intmax_math;
charname_chi[10];/*最高分者的姓名*/
charname_eng[10];
charname_math[10];
}TopGuy;
voidmain(void)
{
structScalestudent[50];/*定义结构数组*/
intcount=0;
charreTry='y';
do
{
printf("\n请输入学生姓名:
");
scanf("%s",student[count].name);
printf("请输入语文成绩:
");
scanf("%d",&student[count].chi_sco);
printf("请输入英文成绩:
");
scanf("%d",&student[count].eng_sco);
printf("请输入数学成绩:
");
scanf("%d",&student[count].math_sco);
Sum.chi+=student[count].chi_sco;/*各科计分*/
Sum.eng+=student[count].eng_sco;
Sum.math+=student[count].math_sco;
if(student[count].chi_sco>TopGuy.max_chi)
{
TopGuy.max_chi=student[count].chi_sco;
strcpy(TopGuy.name_chi,student[count].name);
}
if(student[count].eng_sco>TopGuy.max_eng)
{
TopGuy.max_eng=student[count].eng_sco;
strcpy(TopGuy.name_eng,student[count].name);
}
if(student[count].math_sco>TopGuy.max_math)
{
TopGuy.max_math=student[count].math_sco;
strcpy(TopGuy.name_math,student[count].name);
}
printf("是否继续输入?
(请输入Y/N或y/n)");
do
{
reTry=getche();
}while((reTry!
='Y')&&(reTry!
='y')&&(reTry!
='N')&&(reTry!
='n'));
count++;
}while((reTry=='y')||(reTry=='Y'));
if(count>0)
{
printf("共输入%d人\n",count);
printf("语文平均%5.2f分,最高分%d分:
%s\n",\
((float)Sum.chi/(float)count),\
TopGuy.max_chi,TopGuy.name_chi);
printf("英文平均%5.2f分,最高分%d分:
%s\n",\
((float)Sum.eng/(float)count),\
TopGuy.max_eng,TopGuy.name_eng);
printf("数学平均%5.2f分,最高分%d分:
%s\n",\
((float)Sum.math/(float)count),\
TopGuy.max_math,TopGuy.name_math);
}
getche();
}
实验2档案数据管理汇总系统设计
#include
#include
#include
#include
typedefstructnode
{charn[20];//姓名
charwid[20];//工作证号
charsex[5];
chartel[10];
charID[20];
charposition[20];//职务
charsalary[10];
charbirth[20];
chardepart[20];//部门
charaddr[35];
structnode*next;
}NODE;
classemployee
{
private:
NODE*p;
NODE*q;
NODE*t;
public:
employee(NODE*m);
voidadd();
voidprintall();
voidprint();
voiddeleteall();
voidedit();
voiddel();
};
employee:
:
employee(NODE*m)
{t=p=m;
}
voidemployee:
:
del()
{NODE*k;
k=newNODE;
k=p=q;
charn[20];
cout<<"请输入工作证号:
"< cin>>n; while(p! =t&&(strcmp(p->wid,n)! =0)! =0) {k=p; p=p->next; } if(p==t) {cout<<"查无此人! ! "< } else {if(p==q) q=q->next; else k->next=p->next; free(p); } } voidemployee: : print() {p=q; charn[20]; cout<<"请输入工作证号: "< cin>>n; while(p! =t&&(strcmp(p->wid,n)! =0)! =0) {p=p->next; } if(p==t) {cout<<"查无此人! ! "< } else {cout<<"姓名: "< cout<<"工作证号: "< cout<<"性别: "< cout<<"家庭电话: "< cout<<"身份证号: "< cout<<"职务: "< cout<<"薪水: "< cout<<"生日: "< cout<<"部门: "< cout<<"家庭住址: "< } cout<<"按任意键返回! ! "< } voidemployee: : edit() { p=q; charn[20]; cout<<"请输入员工作证号: "< cin>>n; while(p! =t&&(strcmp(p->wid,n)! =0)! =0) {p=p->next; } if(p==t) {cout<<"查无此人! ! "< } else {cout<<"姓名"; cin>>p->n; cout<<"工作证号: "; cin>>p->wid; cout<<"性别: "; cin>>p->sex; cout<<"家庭电话: "; cin>>p->tel; cout<<"身份证号: "; cin>>p->ID; cout<<"职务: "; cin>>p->position; cout<<"薪水: "; cin>>p->salary; cout<<"生日: "; cin>>p->birth; } cout<<"按任意键返回! ! "< } voidemployee: : add() { q=newNODE; q->next=p; p=q; cout<<"姓名: "; cin>>q->n; cout<<"工作证号: "; cin>>q->wid; cout<<"性别: "; cin>>q->sex; cout<<"家庭电话: "; cin>>q->tel; cout<<"身份证号: "; cin>>q->ID; cout<<"职务: "; cin>>q->position; cout<<"薪水: "; cin>>q->salary; cout<<"生日: "; cin>>q->birth; cout<<"家庭住址: "; cin>>q->addr; cout<<"部门: "; cin>>q->depart; cout<<"按任意键返回! ! "< } voidemployee: : printall() { p=q; while(q! =t) { cout<<"姓名: "< cout<<"工作证号: "< cout<<"性别: "< cout<<"家庭电话: "< cout<<"身份证号: "< cout<<"职务: "< cout<<"薪水: "< cout<<"生日: "< cout<<"家庭住址: "< cout<<"部门: "< q=q->next; //getch(); } q=p; } voidemployee: : deleteall() { while(q! =t) {p=q; q=q->next; free(p); } cout<<"所有信息已删除! "; } voiddisplay() { cout<<"\n1: 增加一个新成员! "< cout<<"\n2: 修改成员信息! "< cout<<"\n3: 查找成员信息! "< cout<<"\n4: 显示所有成员信息! "< cout<<"\n5: 删除成员信息! "< cout<<"\n6: 删除所有成员信息! "< cout<<"\n7: 退出! "< } voidmain() { NODE*pa; chari; pa=(NODE*)malloc(sizeof(structnode)); display(); employeea(pa); while(i=getch()) { switch(i) { case'1': a.add();getch();display();break; case'2': a.edit();getch();display();break; case'3': a.print();getch();display();break; case'4': a.printall();getch();display();break; case'5': a.del();getch();display();break; case'6': a.deleteall();getch();display();break; case'7': break; } } } 实验3通讯录数据管理汇总系统 #include #include #include staticintn=0; intcomp(char*,char*); classMyFriend { unsignedintage; charname[12]; charTelNo[12]; public: voidgetdata() { cout<<"(年龄姓名电话): "; cin>>age>>name>>TelNo; } voiddisp() { cout< : left) < } char*getname() { returnname; } }; voidfunc1() { ofstreamoutput("MyFrd.dat"); MyFriends; cout<<"输入数据"< cout<<"联系人个数: "; cin>>n; for(inti=0;i { cout<<"第"< s.getdata(); output.write((char*)&s,sizeof(s)); }; output.close(); } voidfunc2() { ifstreaminput("MyFrd.dat"); MyFriends; cout<<"输入信息"< cout< : left) < input.read((char*)&s,sizeof(s)); while(input) { s.disp(); input.read((char*)&s,sizeof(s)); }; input.close(); } voidfunc3() { charsname[10]; fstreamfile("MyFrd.dat",ios: : in); MyFriendone; file.seekg(0); cout<<"输入要查询的姓名(可只输入姓氏): "; cin>>sname; cout<<"输出查询结果: "< cout< for(inti=0;i { file.read((char*)&one,sizeof(MyFriend)); if(comp(one.getname(),sname)==1) one.disp(); } file.close(); } intcomp(chars1[],chars2[]) { inti=0; while(s1[i]! ='\0'&&s2[i]! ='\0'&&s1[i]==s2[i]) i++; if(s1[i]=='\0'||s2[i]=='\0') return1; else return0; } voidmain() { intsel; do { cout<<"选择(1: 输入信息2: 输出所有信息3: 按姓名查询4: 退出): "; cin>>sel; switch(sel) { case1: func1();break; case2: func2();break; case3: func3();break; } }while(sel==1||sel==2||sel==3); } 实验4记事本查询查看系统 #include #include #include #include voidmain() { intr;charc; fstreamfile; charfn[15],buf[100]; cout<<"请输入记事本文件路径和名称: "; cin>>fn; file.open(fn,ios: : nocreate|ios: : in); //针对文件后缀为(.txt.h.cpp.pas等)文件 if(! file) { cout<<"ThefileyouwantedopendoesNOTexist."; abort();//#include } while(! file.eof()) { r=0; while(! file.eof()&&r<23) { file.getline(buf,100); cout< r++; } cout<<"press'enter'key..."; c=getchar();//#include } file.close(); } 实验5电话费用查询查看系统 #include #include #defineMax20 classDestination { protected: charfrom[Max]; charto[Max]; public: Destination() { strcpy(from,"");strcpy(to,""); } Destination(charf[],chart[]) { strcpy(from,f);strcpy(to,t); } voidgetdata() { cout<<"输入发话地点收话地点: "; cin>>from>>to; } voiddisp() { cout<<"计费从"< } }; classTime { protected: inthour,minute,second; doubletime; public: Time(){time=0;} Time(doublet){time=t;} voidgetdata() { cout<<"输入通话时间: 时分秒"; cin>>hour>>minute>>second; time=(double)(hour*3600+minute*60+second); } voiddisp() { cout<<"通话时间是"<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 C+ 实验 报告 代码 心得 部分 汇总 word
![提示](https://static.bingdoc.com/images/bang_tan.gif)