已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语言课程设计报告语言课程设计报告 姓名 张林姓名 张林 班级 计算班级 计算 11 1 班班 学号 学号 1106010124 1 A 类基本题类基本题 1 围绕着山顶有 10 个圆形排列的洞 狐狸要吃兔子 兔子说 可以 但必须先找到我 我就藏身于这十个洞中的某个洞 你从 号洞找 下次隔 个洞 即 3 号洞 找 第三次隔 个洞 即 6 号洞 找 再隔 3 个 以后 在这个圆圈中如此类推 次数不限 但狐狸从早到晚进进出出了 1000 次 仍没有找到兔子 问兔子究竟藏在哪个洞里 include int main int i m 0 k 1 int a 10 for i 0 i 10 i a i i 1 for i 0 i10 m m 10 if m a m 1 a m 1 0 for i 0 i 10 i if a i 0 printf 兔子在第 d 个洞内 n a i return 0 2 编写名为 strdup 的函数 此函数使用动态存储分配来产生字符串的副本 例如调用 p strdup str 将为和 str 相同的字符串分配空间 并且 把字符串 str 的内容复制给新字符串 然后返回指向新字符串的指针 如果非配 失败则返回空指针 include include char strdup char t char p int i p char malloc 6 sizeof char for i 0 i6 sizeof char return 0 else for i 0 i 6 i p i t i return p 是其长度和原来的相同 void jiancha char p int i if p 0 printf failure n else printf copy for i 0 i 6 i printf c p i 输出 3 已知一个链表中存储了若干名学生的信息 每名学生的信息包括 学号 英 语成绩 数学成绩 计算机成绩 现编写一个函数 search 要求根据输入的 学生学号 输出他的各科成绩 include struct student int num float English math Computer struct student next int search struct student head int num struct student p1 if head NULL printf nlist null n return 0 p1 head while num p1 num if num p1 num printf nnum d nEglish f nmath f nComputer f n p1 num p1 English p1 math p1 Computer else printf n d not been found n num return 0 void main int num struct student a b c d head p a num 01 a English 79 a math 79 a Computer 77 b num 02 b English 97 b math 89 b Computer 68 c num 03 c English 52 c math 99 c Computer 54 输入三个学生信息 head a next b next c next NULL p head 连接 do printf d f f f n p num p English p math p Computer p p next while p NULL printf please input the number n 输出 scanf d search head num 查找学生 4 设计一个学生类 CStudent 它具有私有数据成员是 学号 姓名 数学 外语和计算机课程的成绩 要求能实现求三门课总成绩和平均成绩 并能设置 和显示学生信息 类声明和成员函数定义分离 设计一个友元函数 按照成绩 从高到低的顺序输出姓名 学号和成绩信息 include using namespace std class lei class student private int num char name 20 int math int english int computer int pingjun int chengji public void paixu 友元函数 void input void average void zongchengji void display a 8 student 类建立 void student paixu int i j for j 4 j 8 j a j 4 a j for i j 4 i 4 i if a j chengji a i chengji b j a i a i a j a j b j 将所有学生按总成绩由大到小排序 void student input cout 姓名 name cout num cout 数学成绩 math cout 英语成绩 english cout 计算机 computer 输入成绩 void student average pingjun chengji 3 平均成绩 void student zongchengji chengji computer english math 总成绩 void student display cout name endl cout num endl cout math endl cout english endl cout computer endl cout 总成绩 chengji endl cout 平均成绩 pingjun endl 输出成绩 int main int i j for i 0 i 4 i cout 第 i 1 个学生的信息 cout endl a i input a i zongchengji a i average a i display for i 0 i 4 i a i 4 a i return 0 主程序 5 定义了一个基类 Animal 它包含两个数据成员动物名称 string 类型 和重 量 还包含一个公共的虚拟成员函数 who 和一个纯虚函数 sound 公共的虚 拟成员函数 who 返回一个 string 对象 在派生类中 sound 应返回一个 string 对象 表示该动物发出的声音 把 Animal 类作为一个公共基类 派生三个子类 Sheep Dog 和 Cow 在每个类中实现 sound 函数 定义一个类 Zoo 它至多可以 在一个数组中存储 50 种不同类型的动物 使用指针数组 编写一个 main 函 数 创建给定数量的派生类对象的随机序列 在 Zoo 对象中存储这些对象的指 针 使用 Zoo 对象的一个成员函数 输出 Zoo 中每个动物的信息 以及每个动 物发出的声音 注意使用多文件结构 include include using namespace std class Animal private string name float m public Animal string str float d name str m d virtual string who const return name virtual float weight const return m virtual string sound const 0 基类 ANIMAL class Sheep public Animal public Sheep string str float d Animal str d virtual string sound const return mei SHEEP 派生类 class Dog public Animal public Dog string str float d Animal str d virtual string sound const return wan DOG 派生类 class Cow public Animal public Cow string str float d Animal str d virtual string sound const return mo COW 派生类 class Zoo public Animal p 50 void out int n void Zoo out int n int i for i 0 i n i cout p i who nweight p i weight kg sound p i sound endl int main Zoo zoo Sheep sheep sheep 50 Dog dog dog 20 Cow cow cow 250 zoo p 0 zoo p 1 zoo p 2 zoo out 3 return 0 6 通讯录管理系统 通讯录管理系统 编程实现通讯录管理系统 要求该系统能够完成通讯信息的建立 查询 插入 删除等基本功能 程序运行后至少给出下面 7 个菜单项的选择并分别实 现其功能 0 通讯录的建立 1 通讯录信息输出 2 通讯者结点信息的删除 3 通讯者结点信息的查询 4 通讯者结点信息的插入 5 通讯录信息更改 6 退出通讯录管理系统 设计的任务要求 通讯录中每个学生的基本信息应包括姓名 地址 电话等 基本信息 采用链表存储结构 复习 c 语言结构体和链表知识 include include define LEN sizeof struct student struct student long num char name 10 char ad 20 long tel struct student next int n struct student creat void struct student head struct student p1 p2 n 0 p1 p2 struct student malloc LEN scanf ld s s ld head NULL while p1 num 0 n n 1 if n 1 head p1 else p2 next p1 p2 p1 p1 struct student malloc LEN scanf ld s s ld p2 next NULL return head void print struct student head struct student p printf nNow These d records are n n p head if head NULL do printf 10ld 10s 20s 20ld n p num p name p ad p tel p p next while p NULL struct student del struct student head long num struct student p1 p2 if head NULL printf nlist null return head p1 head while num p1 num p1 p1 next if num p1 num if p1 head head p1 next else p2 next p1 next printf delete ld n num n n 1 else printf ld not been found n num return head int search struct student head long num struct student p1 if head NULL printf nlist null n return 0 p1 head while num p1 num if num p1 num printf 10ld 10s 20s 20ld n p1 num p1 name p1 ad p1 tel else printf n d not been found n num return 0 struct student insert struct student head struct student stud struct student p0 p1 p2 p1 head p0 stud if head NULL head p0 p0 next NULL else while p0 num p1 num p1 p1 next if p0 numnum if head p1 head p0 else p2 next p0 p0 next p1 else p1 next p0 p0 next NULL n n 1 return head int change struct student head long t struct student p1 if head NULL printf nlist null n return 0 p1 head while t p1 num if t p1 num printf 10ld 10s 20s 20ld n p1 num p1 name p1 ad p1 tel printf 改为 n scanf ld s s ld else printf n d not been found n t return 0 void main long dn num ch struct student head stu printf 请输入学生数据 按 0 结束输入 n head creat print head printf 请输入要删除的学生学号 按 0 结束删除 n scanf ld while dn 0 head del head dn print head printf 请输入要删除的学生学号 按 0 结束删除 n scanf ld printf 请输入要找的学生学号 按 0 结束寻找 n scanf ld while num 0 search head num printf 请输入要找的学生学号 按 0 结束寻找 n scanf ld printf 请输入要插入的学生数据 按 0 结束插入 n stu struct student malloc LEN scanf ld s s ld while stu num 0 head insert head stu print head printf 请输入要插入的学生数据 按 0 结束插入 n stu struct student malloc LEN scanf ld s s ld printf 请输入要更改的学生学号 按 0 结束更改 n scanf ld while ch 0 change head ch printf 更改结果 n print head printf 请输入要更改的学生学号 按 0 结束更改 n scanf ld 7 职工信息表 设计要求实现如下功能 1 建立职工的基本资料有工号 姓名 性别 出生日期 工资 参加工作 时间 和年龄 必须计算得到 2 根据职工信息表 建立只含有姓名和年龄的职工信息简表 3 使用继承的方法构造 3 个类 即雇员类 虚基类 教师类和工人类 派生类 使用相应的对象放置 10 个职工信息 4 编写同名 display 成员函数 用来输出数组的内容 5 要求对 运算符进行重载 考虑到输入职工编号时 也 会因不小心引入空格 而且名字中也需要有空格 所以重载 运算符时 需要满足这个要求 参考界面如下 职工信息管理 增加一位教师记录 增加一位工人记录 显示全部职工信息 删除一个教师 删除一个工人 按姓名检索所以信息 结束程序运行 include include include using namespace std istream gets a s a return ip class Time public void display void set void age int getage private int year int month int day void Time display cout year month day void Time set cout year cout month cout day void Time age cout 2010 year int Time getage return 2010 year class Labor public void creat void display protected string num string name string sex float wage Time birthday string workp Time workt int age void Labor creat cout 请按照提示操作 请输入 endl cout num cout name cout sex cout workp cout wage cout 出生日期 cout endl birthday set cout 工作时间 cout endl workt set getchar void Labor display cout 工 号 num endl cout 姓 名 name endl cout 性 别 sex endl cout 工作部门 workp endl cout 月 工 资 wage 元 endl cout 出生日期 birthday display cout endl cout 工作时间 workt display cout endl cout 年 龄 birthday age cout endl cout 10 cout 已满 endl else cout 请输入相关信息 endl L num creat void Employee display 显示所有职工信息 if num 0 cout 无信息 无法显示 endl else for int i 1 i num i L i display void Employee dele 按工号删除信息 if num 0 cout 无信息 无法删除 endl else string n cout 请输入要删除的员工工号 n for int i 1 i num i if L i num n for int k i knum cout 无此工号的员工 endl void Employee search 按姓名查询信息 if num 0 cout 无信息 无法查询 endl else string nam cout 请输入要查询的员工姓名 nam for int i 1 i num i if L i name nam cout 查询到此员工的信息 num cout 无此姓名的员工 endl void Employee show 按部门显示信息 if num 0 cout 无信息 无法显示 endl else string wp cout 请输入工作部门 wp cout 在此工作部门工作的员工信息如下 endl int b 0 for int i 1 i num i if L i workp wp b 1 L i display if b 0 cout 无在此部门工作的员工 endl void Employee averageage 计算平均年龄 if num 1 cout 无信息无法计算平均年龄 endl else int all 0 i float av for i 1 i num i all all L i birthday getage av all num cout 平均年龄为 av 岁 endl class Teacher virtual public Employee public void set num 0 void addin void display void dele void search void show void averageage void SET void Teacher SET set ifstream ss d 1 txt for int j 1 j L num num ss L num name ss L num sex ss L num workp ss L num wage ss L num birthday year ss L num birthday month ss L num birthday day ss L num workt year ss L num workt month ss L num workt day void Teacher addin if num 10 cout 教师信息存储已满 endl else cout 请输入相关教师信息 endl getchar L num creat void Teacher display 显示所有职工信息 if num 0 cout 无教师信息 无法显示 endl else cout 教师信息如下 endl for int i 1 i num i L i display void Teacher dele 按工号删除信息 if num 0 cout 无教师信息 无法删除 endl else string n cout 请输入要删除教师的工号 n int b 0 for int i 1 i num i if L i num n b 1 cout 删除的教师信息是 endl L i display for int k i k num k L k L k 1 num if b 0 cout 无此工号的教师 endl void Teacher search 按姓名查询信息 if num 0 cout 无教师信息 无法查询 endl else string nam cout 请输入要查询的教师姓名 nam int b 0 for int i 1 i num i if L i name nam b 1 cout 查询到此教师的信息 endl L i display if b 0 cout 无此姓名的教师 endl void Teacher show 按部门显示信息 if num 0 cout 无教师信息 无法显示 endl else string wp cout 请输入教师工作部门 wp cout 在此工作部门工作的教师信息如下 endl int b 0 for int i 1 i num i if L i workp wp b 1 L i display if b 0 cout 无在此部门工作的教师 endl void Teacher averageage 计算平均年龄 if num 1 cout 无信息 无法计算平均年龄 endl else int all 0 i float av for i 1 i num i all all L i birthday getage av all num cout 教师的平均年龄为 av 岁 endl class Worker virtual public Employee public void set num 0 void addin void display void dele void search void show void averageage void SET void Worker SET set ifstream ss d 2 txt for int j 1 j L num num ss L num name ss L num sex ss L num workp ss L num wage ss L num birthday year ss L num birthday month ss L num birthday day ss L num workt year ss L num workt month ss L num workt day void Worker addin if num 10 cout 工人信息存储已满 endl else cout 请输入相关工人信息 endl L num creat void Worker display 显示所有职工信息 if num 0 cout 无工人信息 无法显示 endl else cout 工人信息如下 endl for int i 1 i num i L i display void Worker dele 按工号删除信息 if num 0 cout 无工人信息 无法删除 endl else string n cout 请输入要删除工人的工号 n for int i 1 i num i if L i num n cout 删除的工人的信息是 endl L i display for int k i k num k L k L k 1 num if i num 1 cout 无此工号的工人 endl void Worker search 按姓名查询信息 if num 0 cout 无工人信息 无法查询 endl else string nam cout 请输入要查询的工人姓名 nam int b 0 for int i 1 i num i if L i name nam b 1 cout 查询到此工人的信息 endl L i display if b 0 cout 无此姓名的工人 endl void Worker show 按部门显示信息 if num 0 cout 无工人信息 无法显示 endl else string wp cout 请输入工人工作部门 wp cout 在此工作部门工作的工人信息如下 endl int b 0 for int i 1 i num i if L i workp wp b 1 L i display if b 0 cout 无在此部门工作的工人 endl void Worker averageage 计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初三数学平行四边形与多边形性质判定综合复习教案
- 八年级地理上册《蓬勃发展的中国工业:格局、挑战与未来》教案
- 初中八年级地理《基于区域认知的农业可持续发展探究》教案
- 酒吧整改转让方案范本
- 酒店业客房清洁服务流程规范指南
- 程序员数据分析掌握数据挖掘核心技能指导书
- 熔体输送泵项目可行性研究报告
- 供应链合作伙伴企业诚信承诺书3篇
- 科研合作承诺保证承诺书5篇
- 风干牛肉项目建设可行性研究报告
- 2026年高职大数据技术笔考前冲刺练习题含完整答案详解(名师系列)
- GB/T 5147-2026渔具分类、命名及代号
- 2026兴业银行石家庄分行信用卡客户经理岗(劳务派遣)笔试备考题库及答案解析
- 雨课堂学堂在线学堂云《海军常见病的人体结构基础与防治(中国人民解放军海军军医)》单元测试考核答案
- 境外持股变动登记表2025
- 轨道交通培训课件
- 煤矿一通三防培训课件
- 中烟国际老挝制造有限公司招聘笔试题库2026
- 2025年非遗湘绣五年趋势:博物馆文创与品牌建设报告
- 早期人工流产课件
- 《电子商务法律法规实务》课件 项目七 电子商务知识产权保护的法律法规
评论
0/150
提交评论