同济c++期末模拟题(word版).doc

上传人:文库蛋蛋多 文档编号:2385217 上传时间:2023-02-17 格式:DOC 页数:6 大小:30.50KB
返回 下载 相关 举报
同济c++期末模拟题(word版).doc_第1页
第1页 / 共6页
同济c++期末模拟题(word版).doc_第2页
第2页 / 共6页
同济c++期末模拟题(word版).doc_第3页
第3页 / 共6页
同济c++期末模拟题(word版).doc_第4页
第4页 / 共6页
同济c++期末模拟题(word版).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《同济c++期末模拟题(word版).doc》由会员分享,可在线阅读,更多相关《同济c++期末模拟题(word版).doc(6页珍藏版)》请在三一办公上搜索。

1、1、程序的功能是输入你的出生日期,判断你的生日是星期几。要求定义一个时间类Date,包括年,月,日3个私有数据成员,和三个公有成员函数:void set(int y,int m,int d)用于设置数据成员年、月、日的值,int weekday()用于计算某个日期是星期几。Void display() 用来显示结果。在主函数中读入你的生日(年、月、日),调用成员函数设置数据成员,计算生日是星期几,并显示结果。2、程序的功能是判断一个字符串是不是回文字符串。判断一个字符串s是否是回文串要求编写递归函数实现,算法思想是:先判断第1个字符和最后1个字符是否相等,若不等,则不是回文串,若相等,则递归的

2、判断由第2个字符倒数第2个字符构成的串是否是回文串,编写递归函数int huiwen()实现判断字符串s是不是回文,是返回1,不是,返回0。主函数中调用该函数,对输入的字符串进行判断,并显示判断的结果。3、学生的信息包括学号char num6,成绩 int score 和密码字符串char key15。建立如下的字符菜单,根据用户的选择完成相应的功能。1、建立学生档案: 输入学生人数N,然后依次输入N个学生的信息,按成绩从低到高的顺序将学生信息组织到链表或结构体数组中(如图所示)。2、 显示所有学生:显示所有学生的信息,其中密码字符以*显示,一个字符对应一个*(如图所示)。 3、 修改学生信息

3、:输入学号,按照学号修改学生的成绩和密码字符串,再次显示学生数据时,显示修改后的信息。4、 退出:将学生数据保存到文件c:ksstudent.dat中并退出程序。(要求使用结构体数组或者链表实现)答案1. #include iostream.h#define SUN 0#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT 6class Dateprivate:int year,month,day;public:void set(int y,int m,int d)year=y;month=m;d

4、ay=d;int weekday1();void display();int Date:weekday1()int days212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31;int weekday=MON,i;for (i=1900;iyear;i+)weekday=(weekday+365)%7;if (i%400=0|i%4=0 & i%100!=0) weekday=(weekday+1)%7;if (year%400=0|year%4=0 & year %100!=0) for(i=1

5、;imonth;i+)weekday=(weekday+days1i-1)%7;elsefor(i=1;imonth;i+)weekday=(weekday+days0i-1)%7;for(i=1;iday;i+)weekday=(weekday+1)%7;return weekday;void Date:display()cout你的出生日期是:year年month月day日 ;int w=weekday1();switch (w)case 0:cout星期天;break;case 1:cout星期一;break;case 2:cout星期二;break;case 3:cout星期三;bre

6、ak;case 4:cout星期四;break;case 5:cout星期五;break;case 6:cout星期六;break;coutendl;main()Date a;int y,m,d,w;cout请输入你的出生日期:ymd;a.set(y,m,d);w=a.weekday1();a.display();2#include iostream.h#include stdio.h#include string.hint huiwen(char s,int i,int j);void main()char s80;gets(s);int i=0;int j=i+strlen(s)-1; i

7、nt k= huiwen(s,i,j); if(k0) couthuiwenendl; else cout=j)return 1; if (si!=sj)return 0;elsereturn huiwen(s,i+1,j-1);3.#include iostream.h#include stdlib.h#include string.h#include stdio.hstruct studentchar num10;int score;char key15;struct student *next;struct student *create(int);void output(struct

8、student *head);void modify(struct student *head);void main()struct student *head;int n,choose;while(1)cout1.建立学生档案endl;cout2.显示所有学生endl;cout3.修改学生信息endl;cout4.退出endl;cout请输入用户选择:choose;switch(choose)case 1: cout请输入学生人数:n;head=create(n);break;case 2: output(head);break;case 3: modify(head);break;case

9、 4: system(cls);exit(0);struct student *create(int n)struct student *head=NULL,*p,*q,*newnode;int i;for(i=1;i=n;i+)newnode=new student;cout请输入学生信息:endl;coutnewnode-num;coutnewnode-key;coutnewnode-score;newnode-next=NULL;if (head=NULL)head=newnode;elsep=head;while(p!=NULL & newnode-scorep-score)q=p;p

10、=p-next;if(p=head)newnode-next=head;head=newnode;elseq-next=newnode;newnode-next=p;return head;void output(struct student *head)int i;struct student *p;cout显示所有学生:endl;cout学号成绩密码串endl;p=head;while(p!=NULL)coutnumtscorekeyi!=0)cout*;i+;coutnext;void modify(struct student *head)struct student *p;p=head;char num110;cout请输入学号num,num1)=0)break;p=p-next;if (p=NULL)cout学生不在列表中;elsecoutp-score;coutp-key;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号