C语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第1页
C语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第2页
C语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第3页
C语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第4页
C语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

序号 03 01 学号 10416313 课 程 设 计 设计课程名称 C 语言课程设计 题 目 成绩统计系统成绩统计系统 进制转换系统进制转换系统 学 生 姓 名 学 院 系 怀德学院 专 业 班 级 计算机 101 指 导 教 师 设计时间 2011 年 6 月 13 日 2011 年 6 月 27 日 常州大学课程设计 第 2 页 共 24 页 常州大学课程设计 第 3 页 共 24 页 常常州州大大学学 课课程程设设计计任任务务书书 一一 怀德学院计算机 专业 计算机 101 班 同学 韩建东 一 设计题目一 设计题目 成绩统计系统成绩统计系统 二 设计内容二 设计内容 假设某校学生通讯录基本信息主要包括 学号 姓名 通讯地址 电话等 本系统应 能对这些基本信息进行管理 并要求具有以下功能 1 具有学生信息添加功能 2 具有学生信息删除功能 3 具有学生信息浏览功能 4 具有学生信息查询功能 5 具有学生信息排序功能 三 基本要求三 基本要求 1 编写源程序的要求 1 能够实现任务书中的功能 2 尽可能使界面友好 直观 易操作 3 源程序要有适当的注释 使程序容易阅读 2 撰写 课程设计报告 要求如下 1 封面 统一采用 江苏工业学院课程设计说明书 封面格式 2 任务书 3 目录 4 课程设计报告 正文 3 课程设计验收要求 1 运行所设计的系统 2 回答有关问题 3 提交课程设计报告 4 提交源程序 四 进度安排四 进度安排 1 系统分析 设计准备阶段 4 学时 2 编程调试阶段 22 学时 3 总结和书写课程设计报告阶段 2 学时 4 考核阶段 2 学时 常州大学课程设计 第 4 页 共 24 页 指导教师 倪彤光 2011 年 6 月 7 日 系主任 苏兵 2011 年 6 月 7 日 教学院长 杨长春 2011 年 6 月 7 日 常常州州大大学学课课程程设设计计任任务务书书二二 怀德学院计算机 专业 计算机 101 班 同学 韩建东 一 设计题目一 设计题目 进制转换系统进制转换系统 二 设计内容二 设计内容 本系统要求具有以下功能 1 具有将十进制转换为二进制功能 2 具有将十进制转换为十六进制功能 3 具有将二进制转换为十进制功能 4 具有将十六进制转换为十进制功能 三 基本要求三 基本要求 1 编写源程序的要求 1 能够实现任务书中的功能 2 尽可能使界面友好 直观 易操作 3 源程序要有适当的注释 使程序容易阅读 2 撰写 课程设计报告 要求如下 1 封面 统一采用 江苏工业学院课程设计说明书 封面格式 2 任务书 3 目录 4 课程设计报告 正文 3 课程设计验收要求 1 运行所设计的系统 2 回答有关问题 3 提交课程设计报告 4 提交源程序 四 进度安排四 进度安排 1 系统分析 设计准备阶段 4 学时 常州大学课程设计 第 5 页 共 24 页 2 编程调试阶段 22 学时 3 总结和书写课程设计报告阶段 2 学时 4 考核阶段 2 学时 指导教师 倪彤光 2011 年 6 月 7 日 系主任 苏兵 2011 年 6 月 7 日 教学院长 杨长春 2011 年 6 月 7 日 1 1 意义及功能意义及功能 5 1 1 系统意义 5 1 1 1 成绩管理信息系统意义 5 1 1 2 进制算法设计意义 5 1 2 系统功能 5 1 2 1 成绩管理信息系统功能 5 1 2 2 进制算法设计功能 5 2 2 功能结构图功能结构图 5 2 1 成绩管理信息系统 5 2 2 进制算法设计 5 3 3 流程图流程图 6 3 1 成绩管理信息系统流程图 6 4 4 调试运行调试运行 6 4 1 成绩管理信息系统 6 4 2 进制算法设计 6 5 5 使用说明使用说明 6 5 1 成绩管理信息系统 6 5 2 进制算法设计 6 6 6 C C 语言源程序代码语言源程序代码 7 6 1 成绩管理信息系统 7 6 2 进制算法设计 7 7 7 心得体会心得体会 8 8 8 实习日志实习日志 8 9 9 参考文献参考文献 9 常州大学课程设计 第 6 页 共 24 页 1 1 意义及功能意义及功能 1 11 1系统意义系统意义 1 1 1 成绩管理信息系统意义 为了方便学校用来统计学生的数据 为学校可以省下大量的人力和物力 同时也省下了时间 1 1 2 进制算法设计意义 为了方便广大初学学生更好的了解进制之间的转换 1 21 2 系统功能系统功能 1 2 1 成绩管理信息系统功能 1 具有学生信息添加功能 2 具有学生信息删除功能 3 具有学生信息浏览功能 4 具有学生信息查询功能 5 具有学生信息排序功能 1 2 2 进制算法设计功能 1 具有将十进制转换为二进制功能 2 具有将十进制转换为十六进制功能 3 具有将二进制转换为十进制功能 4 具有将十六进制转换为十进制功能 常州大学课程设计 第 7 页 共 24 页 2 2 功能结构图功能结构图 2 12 1 成绩管理信息系统成绩管理信息系统 输入学生信息 添加学生信息 删除学生信息 显示学生信息 排序学生信息 2 22 2 进制算法设计进制算法设计 输入数据 要转换的进制 输出数据 常州大学课程设计 第 8 页 共 24 页 3 3 流程图流程图 3 13 1 成绩管理信息系统流程图成绩管理信息系统流程图 常州大学课程设计 第 9 页 共 24 页 4 4 调试运行调试运行 4 14 1 成绩管理信息系统成绩管理信息系统 常州大学课程设计 第 10 页 共 24 页 4 24 2 进制算法设计进制算法设计 常州大学课程设计 第 11 页 共 24 页 5 5 使用说明使用说明 5 15 1 成绩管理信息系统成绩管理信息系统 1 是添加学生信息 2 是删除学生信息 3 是查询学生信息 4 是排序学生信息 5 是显示 学生信息 6 是退出程序 常州大学课程设计 第 12 页 共 24 页 5 25 2 进制算法设计进制算法设计 先输入要转换为多少进制的数 在输入要转换的多少进制数 6 6 C C 语言源程序代码语言源程序代码 6 16 1 成绩管理信息系统成绩管理信息系统 include stdio h include stdlib h include string h define MAX 50 void add void del void query void sort void list typedef struct employee int number char name 20 char sex 2 int age char xueli 10 float salary char address 30 char tel 11 EMP void main char c int i do system cls for i 0 i 80 i printf printf t 1 添加学生信息 n printf t 2 删除学生信息 n printf t 3 查询 n printf t 4 排序 n printf t 5 显示 n printf t 6 退出 n printf t 请选择输入选项 1 2 3 4 5 6 n 常州大学课程设计 第 13 页 共 24 页 do c getchar while c 1 getchar switch c case 1 add break case 2 del break case 3 query break case 4 sort break case 5 list break case 6 exit 0 printf 按任意键返回主菜单 n getchar system cls while 1 void add EMP employ FILE fp 以下为输入学生信息代码 printf 请输入学生信息 printf n 学生号 整数 0001 1999 scanf d getchar printf n 学生姓名 gets employ name printf n 学生性别 请输入男或女 gets employ sex printf n 学生年龄 scanf d getchar printf n 学生成绩 gets employ xueli printf n 学生班级 scanf f getchar printf n 学生地址 gets employ address printf n 学生电话 gets employ tel 学生信息输入代码结束 printf 该学生信息为 d s s d s 2f s s n employ number employ name employ sex employ age employ xueli employ salary employ 常州大学课程设计 第 14 页 共 24 页 address employ tel 将学生信息保存到文件中 if fp fopen XX out ab NULL printf getchar exit 0 if fwrite fclose fp 保存学生信息代码结束 void query int flag number count EMP employ FILE fp char name 10 printf 请输入查找方式 printf 1 代表按照学生号 2 代表按照姓名 n scanf d getchar if flag 1 printf 请输入学生号 scanf d getchar if fp fopen XX out rb NULL printf cannot open file exit getchar exit 0 do count fread if employ number number printf 该学生信息为 d s s d s 2f s s n employ number employ name employ sex employ age employ xueli employ salary employ address employ tel break while count 1 printf d flag fclose fp else printf d flag 常州大学课程设计 第 15 页 共 24 页 printf 该学生不存在 n void del int count i 0 number j FILE fp EMP employ MAX char flag if fp fopen XX out rb NULL printf cannot open file exit getchar exit 0 从文件中读入数据 do count fread if count 1 i while count 1 for count 0 count i count printf d employ count number fclose fp printf n 请输入删除学生的学生号 scanf d getchar printf n 你确认删除该学生吗 y n flag getchar if flag y 找被删除的下标记为 count for count 0 count i count if number employ count number break 以下为删除代码 if count i 先将数组中的信息删除 for j count 1 j i j employ j 1 number employ j number strcpy employ j 1 address employ j address employ j 1 age employ j age strcpy employ j 1 name employ j name employ j 1 salary employ j salary strcpy employ j 1 sex employ j sex strcpy employ j 1 tel employ j tel strcpy employ j 1 xueli employ j xueli 常州大学课程设计 第 16 页 共 24 页 写入删除后的数据 if fp fopen XX out wb NULL printf cannot open file exit getchar exit 0 fwrite employ sizeof employ 0 i 1 fp fclose fp else printf 你输入的学生号不存在 n void sort EMP employ MAX temp FILE fp int count n 0 flag i j 打开文件 if fp fopen XX out rb NULL printf cannot open file exit getchar exit 0 从文件中读入数据 do count fread if count 1 n while count 1 fclose fp printf 1 代表按照学生号升序排序 2 代表按照学生号降序排序 n scanf d getchar if flag 1 升序排序 for i 0 i n 1 i for j 0 jemploy j 1 number temp number employ j number strcpy temp name employ j name 常州大学课程设计 第 17 页 共 24 页 strcpy temp sex employ j sex temp age employ j age strcpy temp xueli employ j xueli temp salary employ j salary strcpy temp address employ j address strcpy temp tel employ j tel employ j number employ j 1 number strcpy employ j name employ j 1 name strcpy employ j sex employ j 1 sex employ j age employ j 1 age strcpy employ j xueli employ j 1 xueli employ j salary employ j 1 salary strcpy employ j address employ j 1 address strcpy employ j tel employ j 1 tel employ j 1 number temp number strcpy employ j 1 name temp name strcpy employ j 1 sex temp sex employ j 1 age temp age strcpy employ j 1 xueli temp xueli employ j 1 salary temp salary strcpy employ j 1 address temp address strcpy employ j 1 tel temp tel else 降序排序 for i 0 i n 1 i for j 0 j n 1 i j if employ j number employ j 1 number temp number employ j number strcpy temp name employ j name strcpy temp sex employ j sex temp age employ j age 常州大学课程设计 第 18 页 共 24 页 strcpy temp xueli employ j xueli temp salary employ j salary strcpy temp address employ j address strcpy temp tel employ j tel employ j number employ j 1 number strcpy employ j name employ j 1 name strcpy employ j sex employ j 1 sex employ j age employ j 1 age strcpy employ j xueli employ j 1 xueli employ j salary employ j 1 salary strcpy employ j address employ j 1 address strcpy employ j tel employ j 1 tel employ j 1 number temp number strcpy employ j 1 name temp name strcpy employ j 1 sex temp sex employ j 1 age temp age strcpy employ j 1 xueli temp xueli employ j 1 salary temp salary strcpy employ j 1 address temp address strcpy employ j 1 tel temp tel for i 0 i n i printf 该学生信息为 d s s d s 2f s s n employ i number employ i name employ i sex employ i age employ i xueli employ i salary employ i address employ i t el void list EMP employ FILE fp int count 常州大学课程设计 第 19 页 共 24 页 if fp fopen XX out rb NULL printf cannot open file exit getchar exit 0 do count fread if count 1 printf 该学生信息为 d s s d s 2f s s n employ number employ name employ sex employ age employ xueli employ salary employ address employ tel while count 1 fclose fp 6 26 2 进制算法设计进制算法设计 include include malloc 函数头文件 define INITSIZE 100 初始分配的空间大小 typedef int ElemType 要据需要定义的数据类型 typedef struct ElemType data 用于存放元素的动态数组空间 int top 栈顶指针 int stacksize 当前栈空间的长度 linkStack void initstack linkStack s 初始化栈 s data ElemType malloc INITSIZE sizeof ElemType 分配空间 s top 0 栈顶指针初始化 s stacksize INITSIZE 初始化栈的空间 int push linkStack s ElemType x 元素入栈 if s top s stacksize 如果分配空间已满 从新分配 s data ElemType realloc s data s stacksize 1 sizeof ElemType if s data return 0 分配失败 反回零 s stacksize 增加空间大小 s data s top x 把元素 X 入栈 return 1 常州大学课程设计 第 20 页 共 24 页 int pop linkStack s 元素出栈 if s top 0 return 0 return s data s top void list linkStack s 输出栈内的元素 int i hex char chhex for i s top 1 i 0 i if s data i 10 如果大于等于 10 则做如下处理 hex s data i switch hex case 10 chhex A break case 11 chhex B break case 12 chhex C break case 13 chhex D break case 14 chhex E break case 15 chhex F break printf c chhex else printf d s data i 如果不大于 10 直接输出 printf n void main linkStack s char chhex int l n i x initstack printf 请输入一个要转换为 n 进制的数 scanf d printf 请输入要转换的 n 进制数 注 在 1 16 之间 scanf d while n 0 i n x n n x 常州大学课程设计 第 21 页 共 24 页 push printf 对应的 d 进制数为 x list s 7 7 心得体会心得体会 C 语言课程设计是 C 语言程序设计课程的一个重要的环节 它是根据教学计划的要求 在 老师指导下 对学生实施程序设计训练的必要过程 是对前期课堂教学效果的检验 其目 标在于培养学生综合应用理论知识来分析和解决实际问题的能力 通过本次课程 要求学生能够遵循软件开发过程的基本规范 应用结构化程序设计的 方法 按照题目要求 独立完成设计任务 使学生更加深刻地理解和掌握 C 语言的基本概 念 语言特点和编程技巧 为将来用 C VC 进行软件开发打下良好基础 8 8 实习日志实习日志 2011 年 6 月 13 日 刚开始就听老师讲课 我就在下面看题目的要求 在和同学 的讨论下度过了这一天 2011 年 6 月 14 日 我不会做 问了问老师 老师大概讲了做的思路 我就按这 思路往下做 2011 年 6 月 15 日 老师在网络课堂上上传了资料 我按资料做了很多但还是没 完成 2011 年 6 月 16 日 老师在网络课堂上又更新了资料 这下我终于做好第一题了 只是还没完善 2011 年 6 月 17 日 老师又在网络课堂上布置了第二题 我认为还会给资料 就 没认真做 2011 年 6 月 20 日 老师一直没给资料 我想不会给了 我就做了开头 等等再 做 2011 年 6 月 21 日 我上网找了找资料 看看有什么可以利用的 2011 年 6 月 23 日 好象网上也没什么可用的 还好有学长的可以参考 我又做 了好多 只是没有完善 2011 年 6 月 25 日 我在自己的努力下 还是每更新完善好 问问老师 老师叫 我看看任务书和要求 2011 年 6 月 26 日 我终于做好了 就差打印了 我为了安全还是再完善完善吧 2011 年 6 月 27 日 还好没打印 老师上传了模板 我按那模板就更完善了 下 午就去打印 就算是做好了 常州大学课程设计 第 22 页 共 24 页 9 9 参考文献参考文献 1 H M Deitel P J Deitel C 程序设计教程 北京 机械工程出版社 2000 709 20 11 46 102 机体齿飞面孔双卧多轴组合机床及 CAD 设计 09 08 20 02 3kN 微型装载机设计 09 20 15 09 45T 旋挖钻机变幅机构液压缸设计 08 30 15 32 5 吨卷扬机设计 10 30 17 12 C620 轴拨杆的工艺规程及钻 2 16 孔的钻床夹具设计 09 21 13 39 CA6140 车床拨叉零件的机械加工工艺规程及夹具设计 831003 08 30 15 37 CPU 风扇后盖的注塑模具设计 09 20 16 19 GDC956160 工业对辊成型机设计 08 30 15 45 LS 型螺旋输送机的设计 10 07 23 43 LS 型螺旋输送机设计 09 20 16 23 P 90B 型耙斗式装载机设计 09 08 20 17 PE10 自行车无级变速器设计 10 07 09 23 话机机座下壳模具的设计与制造 09 08 20 20 T108 吨自卸车拐轴的断裂原因分析及优化设计 09 21 13 39 X Y 型数控铣床工作台的设计 09 08 20 25 YD5141SYZ 后压缩式垃圾车的上装箱体设计 10 07 09 20 ZH1115W 柴油机气缸体三面粗镗组合机床总体及左主轴箱设计 09 21 15 34 ZXT 06 型多臂机凸轮轴加工工艺及工装设计 10 30 16 04 三孔连杆零件的工艺规程及钻 35H6 孔的夹具设计 08 30 17 57 三层货运电梯曳引机及传动系统设计 10 29 14 08 上盖的工工艺规程及钻 6 4 5 孔的夹具设计 10 04 13 45 五吨单头液压放料机的设计 10 04 13 44 五吨单头液压放料机设计 09 09 23 40 仪表外壳塑料模设计 09 08 20 57 传动盖冲压工艺制定及冲孔模具设计 09 08 21 00 传动系统测绘与分析设计 10 07 23 46 保护罩模具结构设计 09 20 15 30 保鲜膜机设计 10 04 14 35 减速箱体数控加工工艺设计 10 04 13 20 凿岩钎具钎尾的热处理工艺探索设计 09 08 21 33 分离爪工艺规程和工艺装备设计 10 30 15 26 制定左摆动杠杆的工工艺规程及钻 12 孔的夹具设计 10 29 14 03 前盖板零件的工艺规程及钻 8 M16 深 29 孔的工装夹具设计 10 07 08 44 加油机油枪手柄护套模具设计 09 20 15 17 加热缸体注塑模设计 10 07 09 17 动模底板零件的工艺规程及钻 52 孔的工装夹具设计 10 08 20 23 包缝机机体钻孔组合机床总体及夹具设计 09 21 15 19 升板机前后辅机的设计 09 09 22 17 升降式止回阀的设计 常州大学课程设计 第 23 页 共 24 页 09 22 18 52 升降杆轴承座的夹具工艺规程及夹具设计 09 09 16 41 升降杠杆轴承座零件的工艺规程及夹具设计 08 30 15 59 半自动锁盖机的设计 包装机机械设计 08 30 15 57 半轴零件的机械加工工艺及夹具设计 10 29 13 31 半轴零件钻 6 14 孔的工装夹具设计图纸 09 26 13 53 单吊杆式镀板系统设计 08 30 16 20 单级齿轮减速器模型优化设计 08 30 16 24 单绳缠绕式提升机的设计 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论