案例描述:比赛分数管理系统,需要统计历届冠军所得比赛得分,并记录到文件中,其中系统有如下需求:

-   打开系统有欢迎界面,并显示可选择的选项
-   选项1:记录比赛得分
-   选项2:查看往届记录
-   选项3:清空比赛记录
-   选项4:退出当前系统

根据用户不同的输入,实现不同的需求,若输入为其他值,视为清空屏幕重新选择

#include<stdio.h>
#include<string.h>
#include<stdlib.h>/*
案例描述:比赛分数管理系统,需要统计历届冠军所得比赛得分,并记录到文件中,其中系统有如下需求:-   打开系统有欢迎界面,并显示可选择的选项
-   选项1:记录比赛得分
-   选项2:查看往届记录
-   选项3:清空比赛记录
-   选项4:退出当前系统根据用户不同的输入,实现不同的需求,若输入为其他值,视为清空屏幕重新选择
*/int FileIsEmpty = 0; // 1 代表文件为空  0 文件不为空void clearFile()
{if (FileIsEmpty){printf("文件记录为空!\n");system("pause");system("cls");return;}printf("确认清空?\n");printf("1、确定!\n");printf("2、返回!\n");int select = 0;int num = scanf("%d", &select);if (select == 1){FILE* fp = fopen("score.txt", "w");fclose(fp);printf("清空完毕!\n");FileIsEmpty = 1;}system("pause");system("cls");
}void initFlag()
{FILE* fp = fopen("score.txt", "r");if (fp == NULL){printf("文件打开失败\n");return;}char ch =  fgetc(fp);if (ch == EOF){//printf("文件为空\n");FileIsEmpty = 1;}else{//printf("文件不为空\n");FileIsEmpty = 0;}}//记录分数
void setScore()
{printf("请输入新记录分数:\n");double score = 0;int num = scanf("%lf", &score);FILE* fp = fopen("score.txt", "a"); //a代表追加的方式写文件if (fp == NULL){printf("文件打开失败!\n");return;}fprintf(fp, "%lf\n", score);printf("分数记录成功!\n");FileIsEmpty = 0;//关闭文件fclose(fp);system("pause");system("cls");}void showScore()
{if (FileIsEmpty){printf("文件记录为空!\n");system("pause");system("cls");return;}FILE* fp = fopen("score.txt", "r");int index = 1;while (!feof(fp)){double score;int ret = fscanf(fp, "%lf", &score);//if (feof(fp))if(ret == -1){break;}printf("%d届分数为: %.2lf\n", index, score);index++;}fclose(fp);system("pause");system("cls");
}void show_Menu()
{printf("*********************************************\n");printf("*************  欢迎使用本程序   *************\n");printf("*************  1、记录比赛得分  *************\n");printf("*************  2、查看往届记录  *************\n");printf("*************  3、清空比赛记录  *************\n");printf("*************  4、退出当前系统  *************\n");printf("*********************************************\n");
}int main()
{initFlag();int choice = 0; //用来存储用户的选择int num = 0;while (1){show_Menu();printf("请输入您的选择:\n");num = scanf("%d", &choice);switch (choice){case 1:   //记录比赛得分setScore();break;case 2:   //查看往届记录showScore();break;case 3:   //清空比赛记录clearFile();break;case 4:   //退出当前系统printf("欢迎您下次使用\n");system("pause");exit(0); //退出当前系统break;default:system("cls");break;}}system("pause");return EXIT_SUCCESS;
}

案例描述:比赛分数管理系统,需要统计历届冠军所得比赛得分,并记录到文件中,其中系统有如下需求:- 打开系统有欢迎界面,并显示可选择的选项- 选项1:记录比赛得分- 选项2:查看往届相关推荐

  1. Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中

    Python:监控键盘输入.鼠标操作,并将捕获到的信息记录到文件中 - Socrates的专栏 - 博客频道 - CSDN.NET Python:监控键盘输入.鼠标操作,并将捕获到的信息记录到文件中 ...

  2. c# combobox集合数据不显示_VBA与数据库解决方案第9讲:如何打开数据库记录集合,并把所得的数据显示到工作表文件中...

    大家好,今日继续讲解VBA数据库解决方案的第9讲内容,打开一个数据库记录集,并把数据放到工作表文件中. 可以说数据库的讲解开始进入到了是实际操作的阶段,数据库的内容涉及到知识较多,还是之前强调的,这是 ...

  3. matlab如何把实验结果记录在文件中,实验一Matlab基本操作

    实验一 Matlab基本操作 一.实验目的 1.熟悉MATLAB的工作环境. 2.熟悉MATLAB语言的基本用法. 二.实验原理 MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算 ...

  4. 【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 首先 , 更新 pip ; 执行如下命令 : /usr/local/bin/python3 -m pip install --upgrade pip ...

  5. 【49C++项目案例:演讲比赛流程管理系统】

    文章目录 演讲比赛流程管理系统 1.演讲比赛程序需求 1.1 比赛规则 1.2 程序功能 1.3 程序效果图 2.项目创建 2.1 创建项目 2.2 添加文件 3.创建管理类 3.1 创建文件 3.2 ...

  6. C++提高编程(六)—— 案例 :演讲比赛流程管理系统(上)

    C++系列内容的学习目录 → \rightarrow →C++学习系列内容汇总. 1. 演讲比赛程序需求 1.1 比赛规则 1.2 程序功能 1.3 程序效果图 2. 创建项目 3. 创建管理类 3. ...

  7. 黑马程序员:C++案例(基于STL实现演讲比赛流程管理系统)

    1.1.比赛规则 学校举行一场演讲比赛,共有12个人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛 每名选手都有对应的编号,如10001~10012 比赛方式:分组比赛,每组6个人: 第一轮分为两个小 ...

  8. 演讲比赛流程管理系统C++

    参考B站黑马视频 演讲比赛流程管理系统 1.1.比赛规则 学校举行演讲比赛,共有12人参加.比赛共两轮,第一轮为淘汰赛,第二轮为决赛 每名选手都有对应的编号,如10001 ~ 10012 比赛方式:分 ...

  9. C++入门——演讲比赛流程管理系统

    参考链接 https://www.bilibili.com/video/BV1et411b73Z?p=264 演讲比赛流程管理系统 演讲比赛程序需求 比赛规则 学校举行一场演讲比赛,共有12个人参加. ...

最新文章

  1. jquery怎么获取radio的值
  2. MyBatis学习总结(一)——MyBatis快速入门
  3. CISCO 2511终端服务器配置
  4. erlang精要(17)-匿名函数多子句-多个激活函数实现
  5. 易创课堂成都站给你寄来一包干货,请注意查收
  6. VS与Matlab混合编译 - mexw64 (C++版)
  7. python爬虫数据库_python数据库索引|python爬虫|python入门|python教程
  8. python打印多个变量_在Python中打印多个变量
  9. 光纤传感器实验模块_实验3振动测量试验模块.doc
  10. 微信退款异步通知解密异常-填充无效,无法被移除
  11. linux用户开机.bashrc,验证linux shell在启动时会自动执行用户主目录下的.bashrc脚本...
  12. 机器学习常用数学公式
  13. 微型计算机工作最小时间单位,2010~2011学年第1学期微机原理2试卷A(答案)
  14. DELMIA软件物流仿真:带曲线转角输送带输送物料的仿真操作方法
  15. Tbase 源码 (三)
  16. 阿里云服务器linux 启动网卡失败,提示does not seem to be present,delaying initialization
  17. [ecshop 资料] ecshop 手机 自动识别 ua 自动跳转到手机版本 miqinew ecmoban
  18. Win7 时间不准不能自动同步,执行w32tm /register发生下列错误: 拒绝访问(0x80070005)
  19. Autoconf解释
  20. JavaScript Reflect 学习笔记

热门文章

  1. MQTT协议学习(3)——connect控制报文
  2. 第一次刷机,MOTO MB300 平刷2.3
  3. 飞腾FT-2000/4开发板上移植Ubuntu18.04.5且更换飞腾内核4.19.8教程
  4. PAT乙级C语言学习1001
  5. Brian到Brian2的转换
  6. java 实现http/ftp下载,支持迅雷地址转换的草稿
  7. 高山印象-中国-苏州拙政园-过亿别墅——禅语
  8. 回调地狱,解决回调地狱,回调地狱的终极解决方案
  9. LCDet Low-Complexity Fully-Convolutional Neural Networks for Object Detection in Embedded Systems
  10. ubuntu交叉编译Qt-5库并移植ARM开发板