




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 陈陈 一 程序分析与设计 1 二 流程图 1 三 源程序清单 1 四 调试过程 2 五 程序有待改进的地方 2 六 本次实习的收获和建议 3 附录 3 一 程序分析与设计一 程序分析与设计 标题四号宋体加黑 正文五号宋体 行间距 固定值 标题四号宋体加黑 正文五号宋体 行间距 固定值18 首行缩进 首行缩进2字符 字符 1 题目描述 初始化输入 N 参赛院系总数 M 男子竞赛项目数 W 女子竞赛项目数 即 要求输入一些基础数据 如院系名称 每个院系参赛选手及选手编号 竞 赛项目名称与代号 这些数据存储在文本文件中 不需要每次都单条录入 各项目名次取法有如下几种 取前 4 名 第 1 名得分 6 第 2 名得分 4 第 3 名得分 2 第 4 名得分 1 由程序提醒用户填写比赛结果 输入各项目获奖运动员的信息 所有信息记录完毕后 用户可以查询各个院系或个人的比赛成绩 生成团 体总分报表 查看参赛院系信息 获奖运动员 比赛项目信息等 2 需求分析 根据题目要求应提供键盘式菜单实现功能选择 还应提供信息的输入操作 由于在程序中提供查询功能所以应有显示 查找等操作 3 总体设计 根据上面的需求分析 可以将这个系统的设计分为 1 信息输入模块 2 比 赛结果录入模块 3 查询模块 具体校际运动会管理系统分为 信息的输入 结果的输入 学校各个项目的得分的查寻 总体报表的生成 4 详细设计 1 主函数 主函数一般设计的比较简洁 只提供输入 处理和输出部分的函数调用 其中功能模块用菜单方式选择 2 密码登陆函数 首先进入欢迎界面 提示用户输入密码进入系统 密码输入次数限制为三 次 三次输入错误则退出系统 登陆成功显示菜单栏 3 菜单函数 提醒用户根据要求选择功能 以及多次功能选取 4 输入函数 进入该功能后提醒用户输入相应信息 即数据结构 数据结构采用结构体 的形式 选手结构体成员包括选手的姓名 编号 各项目的成绩排名 选 手所在学院等 5 查找函数 提醒用户输入运动员的姓名或编号 根据姓名或编号逐一比对信息 若条 件满足则输出该选手的数据 若不满足则返回 你要找的运动员未找到 6 排序函数 根据运动员的百米成绩进行冒泡排序 并输出结果 7 修改函数 提醒用户输入运动员的姓名 根据姓名逐一比对信息 若找到则提供修改 选项 对数据进行覆盖 8 得分计算函数 根据用户输入各项成绩排名 进行得分运算 并得出学院排名 9 删除函数 用于输入信息的删除 10 插入函数 用于输入新的信息 11 保存函数 将用户输入的信息保存到文本文件中 12 显示函数 显示用户保存的信息 二 二 流程图流程图 三 三 源程序清单源程序清单 此部分采用小五号宋体 行间距 固定值 此部分采用小五号宋体 行间距 固定值1414 include include include include include include include include include include define define loadload sizeof student sizeof student define define N N 7 7 voidvoid read read voidvoid save save intint size 3 size 3 structstruct studentstudent charchar num 10 num 10 charchar name 20 name 20 intint scorem scoreq scoreg scorey scorem scoreq scoreg scorey charchar ximing 20 ximing 20 stu N temp stu N temp voidvoid input input 输入原始数据输入原始数据 system cls system cls printf t printf t 输入界面输入界面 n n printf printf 请输入运动员号码请输入运动员号码 姓名姓名 100 100成绩成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n for intfor int i 0 i size i i 0 i size i scanf s s d d d d s coreg printf printf 输出运动员号码输出运动员号码 姓名姓名 100 100成绩成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n for i 0 i size i for i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing voidvoid find find 查找函数查找函数 system cls system cls printf t printf t 查找界面查找界面 n n charchar fs 20 fs 20 read read printf printf 输入你要查找运动员的号码或姓名输入你要查找运动员的号码或姓名 scanf s scanf s for intfor int i 0 i size i i 0 i size i if strcmp stu i num fs 0 if strcmp stu i num fs 0 printf printf 你要找的运动员已找到你要找的运动员已找到 n n printf printf 该生的号码该生的号码 姓名姓名 100 100米成绩米成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing break break elseelse if strcmp stu i name fs 0 if strcmp stu i name fs 0 printf printf 你要找的运动员已找到你要找的运动员已找到 n n printf printf 该生的号码该生的号码 姓名姓名 100 100米成绩米成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing break break elseelse printf printf 你要找的运动员未找到你要找的运动员未找到 n n printf printf 该运动员缺赛或不存在该运动员缺赛或不存在 break break voidvoid paixu paixu 排序函数排序函数 system cls system cls printf t printf t 排序界面排序界面 n n printf printf 对一百米的成绩排序对一百米的成绩排序 n n for intfor int i 0 i size i i 0 i size i for intfor int j i 1 j size j j i 1 j size j if stu i scorem stu j scorem if stu i scorem stu j scorem temp stu i temp stu i stu i stu j stu i stu j stu j temp stu j temp printf printf 排序后排序后 n n for i 0 i size i for i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing voidvoid xiugai xiugai 修改函数修改函数 system cls system cls printf t printf t 修改界面修改界面 n n charchar ch2 20 c ch2 20 c charchar num 10 name 20 num 10 name 20 intint scorem scoreq scoreg scorey i scorem scoreq scoreg scorey i charchar ximing 20 ximing 20 printf printf 原始数据原始数据 n n for int for int i 0 i size i i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing read read printf printf 输入你要修改运动员的姓名输入你要修改运动员的姓名 scanf s ch2 scanf s ch2 for i 0 i size i for i 0 i size i if strcmp stu i name ch2 0 if strcmp stu i name ch2 0 printf 1 printf 1 修改号码修改号码 n2 n2 修改姓名修改姓名 n3 n3 修改修改100100米成绩米成绩 n4 n4 修改铅球成绩修改铅球成绩 n5 n5 修改跳高成修改跳高成 绩绩 n6 n6 修改跳远成绩修改跳远成绩 n7 n7 修改系名修改系名 n n scanf d scanf d switch c switch c casecase 1 1 printf printf 请输入你修改的运动员号码请输入你修改的运动员号码 scanf s scanf s strcpy stu i num num strcpy stu i num num break break casecase 2 2 printf printf 输入你修改的运动员姓名输入你修改的运动员姓名 n n scanf s scanf s strcpy stu i name name strcpy stu i name name break break casecase 3 3 printf printf 输入你修改的运动员输入你修改的运动员100100米成绩米成绩 scanf d scanf d stu i scorem scorem stu i scorem scorem break break casecase 4 4 printf printf 输入你修改运动员铅球成绩输入你修改运动员铅球成绩 scanf d scanf d stu i scoreq scoreq stu i scoreq scoreq break break casecase 5 5 printf printf 输入你修改运动员跳高成绩输入你修改运动员跳高成绩 scanf d scanf d stu i scoreq scoreq stu i scoreq scoreq break break casecase 6 6 printf printf 输入你修改运动员跳远成绩输入你修改运动员跳远成绩 scanf d scanf d stu i scorey scorey stu i scorey scorey break break casecase 7 7 printf printf 输入你修改运动员系名输入你修改运动员系名 scanf s scanf s strcpy stu i ximing ximing strcpy stu i ximing ximing break break default default printf printf 你的输入有误你的输入有误 n n printf printf 修改后的运动员数据修改后的运动员数据 n n for intfor int i 0 i size i i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing save save voidvoid defen defen 得分函数得分函数 system cls system cls printf t printf t 得分界面得分界面 n n intint x y z w o p q i x y z w o p q i charchar ch1 20 ruanjian ch2 20 shumei ch3 20 guangdian ch1 20 ruanjian ch2 20 shumei ch3 20 guangdian printf printf 原始数据原始数据 n n for int for int i 0 i size i i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing read read printf printf 各系的得分总分排序各系的得分总分排序 n n for i 0 i size i for i 0 i size i if stu i scorem 1 if stu i scorem 1 x 3 x 3 elseelse if stu i scorem 2 if stu i scorem 2 x 2 x 2 elseelse if stu i scorem 3 if stu i scorem 3 x 1 x 1 elseelse x 0 x 0 if stu i scoreq 1 if stu i scoreq 1 y 3 y 3 elseelse if stu i scoreq 2 if stu i scoreq 2 y 2 y 2 elseelse if stu i scoreq 3 if stu i scoreq 3 y 1 y 1 elseelse y 0 y 0 if stu i scoreg 1 if stu i scoreg 1 z 3 z 3 elseelse if stu i scoreg 2 if stu i scoreg 2 z 2 z 2 elseelse if stu i scoreg 3 if stu i scoreg 3 z 1 z 1 elseelse z 0 z 0 if stu i scorey 1 if stu i scorey 1 w 3 w 3 elseelse if stu i scorey 2 if stu i scorey 2 w 2 w 2 elseelse if stu i scorey 3 if stu i scorey 3 w 1 w 1 elseelse w 0 w 0 for i 0 i size i for i 0 i size i if strcmp stu i ximing ch1 0 if strcmp stu i ximing ch1 0 o x y z w o x y z w printf printf 软件系总得分软件系总得分 d n o d n o elseelse if strcmp stu i ximing ch2 0 if strcmp stu i ximing ch2 0 p x y z w p x y z w printf printf 数媒系总得分数媒系总得分 d n p d n p elseelse if strcmp stu i ximing ch3 0 if strcmp stu i ximing ch3 0 q x y z w q x y z w printf printf 光电系总得分光电系总得分 d n q d n q voidvoid shancchu shancchu 删除函数删除函数 system cls system cls printf t printf t 删除界面删除界面 n n charchar ch1 20 ch1 20 printf printf 原始数据原始数据 n n intint i i for int for int i 0 i size i i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing read read printf printf 输入你要删除的运动员的姓名输入你要删除的运动员的姓名 n n scanf s scanf s for i 0 i size i for i 0 i size i if strcmp stu i name ch1 0 if strcmp stu i name ch1 0 for intfor int j i j size 1 j j i j size 1 j stu j stu j 1 stu j stu j 1 printf printf 删除后的运动员数据删除后的运动员数据 n n for i 0 i size 1 i for i 0 i size 1 i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing size size save save voidvoid charu charu 插入函数插入函数 system cls system cls intint a a printf t printf t 插入界面插入界面 n n printf printf 请输入要插入的运动员个数请输入要插入的运动员个数 scanf d scanf d for intfor int j 0 j a j j 0 j a j printf printf 输入要插入的运动员数据输入要插入的运动员数据 n n printf printf 号码号码 scanf s scanf s printf printf 姓名姓名 scanf s scanf s printf 100printf 100米成绩米成绩 scanf d scanf d printf printf 铅球成绩铅球成绩 scanf d scanf d printf printf 跳高成绩跳高成绩 scanf d scanf d printf printf 跳远成绩跳远成绩 scanf d scanf d printf printf 系名系名 scanf s scanf s for intfor int i 0 i size 1 i i 0 i size 1 i for intfor int j i 1 j size 1 j j i 1 j size 1 j if stu i scorem stu j scorem if stu i scorem stu j scorem temp stu i temp stu i stu i stu j stu i stu j stu j temp stu j temp size size printf printf 插入后运动员数据插入后运动员数据 n n for intfor int i 0 i size i i 0 i size i printf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i scoreprintf s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i score q stu i scoreg stu i scorey stu i ximing q stu i scoreg stu i scorey stu i ximing save save voidvoid save save 保存数据到文件函数保存数据到文件函数 FILEFILE fp fp 定义指向文件的指针定义指向文件的指针 char char outfile 20 outfile 20 printf printf 输出文件例如输出文件例如 c score c score EnterEnter outfileoutfile name forname for exampleexample c score n c score n scanf s outfile scanf s outfile if fp fopen e xiao txt w NULL if fp fopen e xiao txt w NULL 为输出打开一个二进制文件为输出打开一个二进制文件 为只为只 写方式写方式 printf printf 打不开文件打不开文件CannotCannot openopen thethe file n file n return return 若打不开则返回菜单若打不开则返回菜单 printf nprintf n保存中保存中 Saving Saving thethe file n file n fprintf fp fprintf fp 运动员号码运动员号码 姓名姓名 100 100成绩成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n for intfor int i 0 i size i i 0 i size i fprintf fp s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i sfprintf fp s t s t d t d t d t d t s n stu i num stu i name stu i scorem stu i s coreq stu i scoreg stu i scorey stu i ximing coreq stu i scoreg stu i scorey stu i ximing fclose fp fclose fp 关闭文件关闭文件 printf printf 保存成功保存成功 Save Save thethe filefile successfully n successfully n voidvoid read read FILEFILE fp fp 定义指向文件的指针定义指向文件的指针 if fp fopen e xiao txt r NULL if fp fopen e xiao txt r NULL 为输出打开一个二进制文件为输出打开一个二进制文件 为只为只 写方式写方式 printf printf 打不开文件打不开文件CannotCannot openopen thethe file n file n return return 若打不开则返回菜单若打不开则返回菜单 fscanf fp fscanf fp 运动员号码运动员号码 姓名姓名 100 100成绩成绩 铅球成绩铅球成绩 跳高成绩跳高成绩 跳远成绩跳远成绩 系名系名 n n for intfor int i 0 i size i i 0 itm year 1900 pt tm mon 1 pt tm mday d d d n pt tm year 1900 pt tm mon 1 pt tm mday 显示当前系统日期显示当前系统日期 printf printf 菜单菜单 n n printf printf 1 1 输入输入2 2 查找查找 n n printf printf 3 3 排序排序4 4 修改修改 n n printf printf 5 5 得分得分6 6 删除删除 n n printf printf 7 7 插入插入8 8 保存保存 n n printf printf 9 9 显示显示0 0 退出退出 n n printf n printf n printf printf 请选择功能请选择功能 b b b b getchar getchar scanf d scanf d switch ch1 switch ch1 casecase 1 1 input input break break casecase 2 2 find find break break casecase 3 3 paixu paixu break break casecase 4 4 xiugai xiugai break break casecase 5 5 defen defen break break casecase 6 6 shancchu shancchu break break casecase 7 7 charu charu break break casecase 8 8 save save break break casecase 9 9 read read break break casecase 0 0 exit 0 exit 0 default default printf printf 未进行任何操作未进行任何操作 printf n printf n printf printf 想要继续操作请按想要继续操作请按y n y n getchar getchar scanf 2c scanf 2c while ch2 y while ch2 y 条件判断条件判断 voidvoid main main system colorsyst
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版小学二年级上册数学计时口算竞赛试题
- 反射光调控技术-全面剖析
- 水资源管理与可持续发展策略-全面剖析
- 2025年积层架项目可行性研究报告
- 电子市场供应链优化-全面剖析
- 标准化与可持续发展-全面剖析
- 围墙防护施工方案
- 人工智能芯片应用-全面剖析
- 卵白蛋白基因编辑-全面剖析
- 旅游供应链协同创新研究-全面剖析
- 安徽省合肥市2025届高三下学期3月二模试题 语文 含解析
- 2024年全国统一高考英语试卷(新课标Ⅰ卷)含答案
- 普华永道财务管理与集团内部控制课件
- 小学教科版四年级下册科学《种子长出了根》教学反思
- 常用CMYK色值表大全
- 消化道出血护理ppt(共17张PPT)
- 珠三角一年断指四万
- 2022版义务教育(数学)课程标准(含2022年修订部分)
- 快板 绕口令 《玲珑塔》
- 台湾民法典目录
- 8.8级螺栓上海红本价
评论
0/150
提交评论