c语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第1页
c语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第2页
c语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第3页
c语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第4页
c语言课程设计课程设计-成绩统计系统+进制转换系统.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络 如有侵权 请联系网站删除 精品文档 序号 03 01 学号 10416313 课 程 设 计 设计课程名称 C 语言课程设计 题 目 成绩统计系统成绩统计系统 进制转换系统进制转换系统 学 生 姓 名 学 院 系 怀德学院 专 业 班 级 计算机 101 指 导 教 师 设计时间 2011 年 6 月 13 日 2011 年 6 月 27 日 此文档收集于网络 如有侵权 请联系网站删除 精品文档 此文档收集于网络 如有侵权 请联系网站删除 精品文档 常常州州大大学学 课课程程设设计计任任务务书书 一一 怀德学院计算机 专业 计算机 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 学时 此文档收集于网络 如有侵权 请联系网站删除 精品文档 指导教师 倪彤光 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 学时 此文档收集于网络 如有侵权 请联系网站删除 精品文档 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 此文档收集于网络 如有侵权 请联系网站删除 精品文档 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 具有将十六进制转换为十进制功能 此文档收集于网络 如有侵权 请联系网站删除 精品文档 2 2 功能结构图功能结构图 2 12 1 成绩管理信息系统成绩管理信息系统 输入学生信息 添加学生信息 删除学生信息 显示学生信息 排序学生信息 2 22 2 进制算法设计进制算法设计 输入数据 要转换的进制 输出数据 此文档收集于网络 如有侵权 请联系网站删除 精品文档 3 3 流程图流程图 3 13 1 成绩管理信息系统流程图成绩管理信息系统流程图 此文档收集于网络 如有侵权 请联系网站删除 精品文档 4 4 调试运行调试运行 4 14 1 成绩管理信息系统成绩管理信息系统 此文档收集于网络 如有侵权 请联系网站删除 精品文档 4 24 2 进制算法设计进制算法设计 此文档收集于网络 如有侵权 请联系网站删除 精品文档 5 5 使用说明使用说明 5 15 1 成绩管理信息系统成绩管理信息系统 1 是添加学生信息 2 是删除学生信息 3 是查询学生信息 4 是排序学生信息 5 是显示 学生信息 6 是退出程序 此文档收集于网络 如有侵权 请联系网站删除 精品文档 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 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 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 此文档收集于网络 如有侵权 请联系网站删除 精品文档 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 写入删除后的数据 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 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 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 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 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 请输入要转换的

温馨提示

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

评论

0/150

提交评论