C语言课设之投票系统_第1页
C语言课设之投票系统_第2页
C语言课设之投票系统_第3页
C语言课设之投票系统_第4页
C语言课设之投票系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

C 语言课程设计语言课程设计 前前 言言 计算机科学技术的发展 不仅极大地促进了整个科学技术的发展 而且明显地加快了经 济信息化和社会信息化的进程 因此 计算机教育在全国备受重视 计算机知识与能力已成 为 21 世纪人才素质的基本要素之一 如今 高等教育的计算机教育发展十分迅速 十多年前 只有部分理工科专业开设计算 机课程 今天 几乎所有高校的所有专业都开设了程度不同的计算机课程 人们已经认识到 计算机知识已成为当代知识分子知识结构中不可缺少的重要组成部分 而除了掌握计算机的 基础知识和操作的基本能力外 掌握一门高级编程语言 并可以熟练运用它 已成为当代大 学生综合能力必要组成 计算机技术发展如此迅猛 计算机应用如此广泛 需要学习的东西愈来愈多 而我们的 总学时是有限的 一般来说 计算机课程学习可以分为两部分 一部分是理论课程学习 一 部分是上机应用实习 根据我们专业的性质和要求 则应侧重于上机操作运用 为此 学校 特意在暑期最后一星期安排了 32 个学时的上机实习 现将一星期的实习内容及结果分析分列如下 投票程序 一 题目要求题目要求 设有代号为 a b c 的三个个足球先生候选人 根据投票者在选票上对他们 编号的填写顺序分别记分 5 3 2 请编程从键盘上输入投票人数及投票结果 统计他们的得 分 并输出哪位当选足球先生 请注意 若同一张票上写有两个相同代号 则显示 此票无 效 若最终前两名得分相同应显示 重新投票 否则显示三个候选者得分并输出 祝贺 X 当选冠军 二 需求分析需求分析 根据题目要求 选票数据以 txt 文件的形式存储 所以应提供文件的打开 关闭 输入 输出等操作 并对读取的文件进行调用 三 总体设计总体设计 根据题目要求 可对程序进行如下设计 主 菜 单 函 数 选票人数 模块选票 人数模块 数 选票信息 分数统计 选举结果 退出 选出冠军 打开 vote txt 文件 显示选票人数 读取 vote txt 信息 显示选票信息 处理选票 票数清零 票数累加并计分 显示候选人得分 四 详细设计详细设计 1 主函数 本系统主要用主函数调用打开的选票数据和进入主菜单函数 通过调用主菜单函数实行 主函数的功能 主菜单函数 输入 5 选择输入 1 5 的数 输入 1 4 的数 退出 选择输入 1 或 2 输入 2 输入 1 入 程序 main void choose menu void menu void choose int n w do puts t t 足球先生投票程序 puts t t puts t t 1 选票人数 puts t t 2 选票信息 puts t t 3 分数 puts t t 4 结果 puts t t 5 退出 puts t t puts t t printf 请选择你的数字 1 5 b b scanf d if n5 w 1 getchar else w 0 while w 1 switch n case 1 innum break case 2 input break case 3 output break case 4 choose break case 5 exit 0 2 选票人数模块 选票信息保存在 voter txt 文件中 之前已通过只读的方式从 voter txt 文件中 打开并读取出来并保存在之前建立的结构体变量 vote NUM 中 通过调用选票信息统计选票 人数 并通过选择函数菜单返回或退出 程序 void innum int i loadvote printf n选票人数 t d n n i select 3 选票信息模块 读取选票信息 用 for 循环语句进行票数的统计并用 if else 语句进行选择 如果出 现票数一样的则选票无效 通过调用累加函数将票数统计结果统计出来 程序 void input int i int m loadvote printf n number 0 num number 1 num number 2 num 0 for i 0 i m i printf c c c vote i c1 vote i c2 vote i c3 if vote i c1 vote i c2 vote i c1 vote i c3 vote i c2 vote i c3 printf t该票无效 n else add vote i c1 vote i c2 vote i c3 printf n printf n n select 4 分数统计模块 通过三人所得票数按照计分方法将三人的得分计算出来 也要用到 for 循环语句和 if else 语句 并分别用将三人的得分结果输出来 程序 void output int n i n loadvote number 0 num number 1 num number 2 num 0 for i 0 inumber 1 num else if number 1 num number 0 num else if number 2 num number 1 num else printf 重新选票 n main switch c case 1 printf n祝贺 a 当选冠军 n n n select case 2 printf n祝贺 b 当选冠军 n n n select case 3 printf n祝贺 c 当选冠军 n n n select 6 选择模块 选择函数的建立是为了每运行完一个模块之后都可以通过选择函数返回或退出 void select int m w do puts 下一个 puts t t puts t t puts t t 1 返回 puts t t 2 退出 puts t t puts t t n printf 请选择你的数字 1 2 b b scanf d if m2 w 1 printf 错误 n select else w 0 switch m case 1 printf n n menu break case 2 exit 0 while w 1 五五 完整编写过程如下完整编写过程如下 完整程序 include include include define NUM 20 struct FOOD char c int num number 3 struct VOTE char c1 char c2 char c3 vote NUM void count char c int n void menu int loadvote FILE fp int i if fp fopen voter txt r NULL printf n不能打开此文件 n return 0 for i 0 feof fp i fscanf fp s s s fclose fp return i void select int m w do puts 下一个 puts t t puts t t puts t t 1 返回 puts t t 2 退出 puts t t puts t t n printf 请选择你的数字 1 2 b b scanf d if m2 w 1 printf 错误 n select else w 0 switch m case 1 printf n n menu break case 2 exit 0 while w 1 void innum int i loadvote printf n选票人数 t d n n i select void add char c1 char c2 char c3 int i for i 0 i 3 i switch i case 0 count c1 5 break case 1 count c2 3 break case 2 count c3 2 void count char c int n switch c case a number 0 num n break case b number 1 num n break case c number 2 num n void input int i int m loadvote printf n number 0 num number 1 num number 2 num 0 for i 0 i m i printf c c c vote i c1 vote i c2 vote i c3 if vote i c1 vote i c2 vote i c1 vote i c3 vote i c2 vote i c3 printf t该票无效 n else add vote i c1 vote i c2 vote i c3 printf n printf n n select void output int n i n loadvote number 0 num number 1 num number 2 num 0 for i 0 i n i if vote i c1 vote i c2 vote i c1 vote i c3 vote i c2 vote i c3 else add vote i c1 vote i c2 vote i c3 printf n候选人的得分 t printf a d n number 0 num printf b d n number 1 num printf c d n n n number 2 num select main void choose menu void menu void choose int n w do 程puts t t 足球先生投票序 puts t t puts t t 1 选票人数 puts t t 2 选票信息 puts t t 3 分数 puts t t 4 结果 puts t t 5 退出 puts t t puts t t printf 请选择你的数字 1 5 b b scanf d if n5 w 1 getchar else w 0 while w 1 switch n case 1 innum break case 2 input break case 3 output break case 4 choose break case 5 exit 0 void choose int c if number 0 num number 1 num else if number 1 num number 0 num else if numb

温馨提示

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

评论

0/150

提交评论