案例描述:比赛分数管理系统,需要统计历届冠军所得比赛得分,并记录到文件中,其中系统有如下需求:- 打开系统有欢迎界面,并显示可选择的选项- 选项1:记录比赛得分- 选项2:查看往届
案例描述:比赛分数管理系统,需要统计历届冠军所得比赛得分,并记录到文件中,其中系统有如下需求:
- 打开系统有欢迎界面,并显示可选择的选项
- 选项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:查看往届相关推荐
- Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中
Python:监控键盘输入.鼠标操作,并将捕获到的信息记录到文件中 - Socrates的专栏 - 博客频道 - CSDN.NET Python:监控键盘输入.鼠标操作,并将捕获到的信息记录到文件中 ...
- c# combobox集合数据不显示_VBA与数据库解决方案第9讲:如何打开数据库记录集合,并把所得的数据显示到工作表文件中...
大家好,今日继续讲解VBA数据库解决方案的第9讲内容,打开一个数据库记录集,并把数据放到工作表文件中. 可以说数据库的讲解开始进入到了是实际操作的阶段,数据库的内容涉及到知识较多,还是之前强调的,这是 ...
- matlab如何把实验结果记录在文件中,实验一Matlab基本操作
实验一 Matlab基本操作 一.实验目的 1.熟悉MATLAB的工作环境. 2.熟悉MATLAB语言的基本用法. 二.实验原理 MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算 ...
- 【错误记录】Mac 中 Python 报错 ( ERROR: Could not build wheels for numpy which use PEP 517 | 问题未解决 | 问题记录 )
文章目录 一.报错信息 二.解决方案 一.报错信息 首先 , 更新 pip ; 执行如下命令 : /usr/local/bin/python3 -m pip install --upgrade pip ...
- 【49C++项目案例:演讲比赛流程管理系统】
文章目录 演讲比赛流程管理系统 1.演讲比赛程序需求 1.1 比赛规则 1.2 程序功能 1.3 程序效果图 2.项目创建 2.1 创建项目 2.2 添加文件 3.创建管理类 3.1 创建文件 3.2 ...
- C++提高编程(六)—— 案例 :演讲比赛流程管理系统(上)
C++系列内容的学习目录 → \rightarrow →C++学习系列内容汇总. 1. 演讲比赛程序需求 1.1 比赛规则 1.2 程序功能 1.3 程序效果图 2. 创建项目 3. 创建管理类 3. ...
- 黑马程序员:C++案例(基于STL实现演讲比赛流程管理系统)
1.1.比赛规则 学校举行一场演讲比赛,共有12个人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛 每名选手都有对应的编号,如10001~10012 比赛方式:分组比赛,每组6个人: 第一轮分为两个小 ...
- 演讲比赛流程管理系统C++
参考B站黑马视频 演讲比赛流程管理系统 1.1.比赛规则 学校举行演讲比赛,共有12人参加.比赛共两轮,第一轮为淘汰赛,第二轮为决赛 每名选手都有对应的编号,如10001 ~ 10012 比赛方式:分 ...
- C++入门——演讲比赛流程管理系统
参考链接 https://www.bilibili.com/video/BV1et411b73Z?p=264 演讲比赛流程管理系统 演讲比赛程序需求 比赛规则 学校举行一场演讲比赛,共有12个人参加. ...
最新文章
- jquery怎么获取radio的值
- MyBatis学习总结(一)——MyBatis快速入门
- CISCO 2511终端服务器配置
- erlang精要(17)-匿名函数多子句-多个激活函数实现
- 易创课堂成都站给你寄来一包干货,请注意查收
- VS与Matlab混合编译 - mexw64 (C++版)
- python爬虫数据库_python数据库索引|python爬虫|python入门|python教程
- python打印多个变量_在Python中打印多个变量
- 光纤传感器实验模块_实验3振动测量试验模块.doc
- 微信退款异步通知解密异常-填充无效,无法被移除
- linux用户开机.bashrc,验证linux shell在启动时会自动执行用户主目录下的.bashrc脚本...
- 机器学习常用数学公式
- 微型计算机工作最小时间单位,2010~2011学年第1学期微机原理2试卷A(答案)
- DELMIA软件物流仿真:带曲线转角输送带输送物料的仿真操作方法
- Tbase 源码 (三)
- 阿里云服务器linux 启动网卡失败,提示does not seem to be present,delaying initialization
- [ecshop 资料] ecshop 手机 自动识别 ua 自动跳转到手机版本 miqinew ecmoban
- Win7 时间不准不能自动同步,执行w32tm /register发生下列错误: 拒绝访问(0x80070005)
- Autoconf解释
- JavaScript Reflect 学习笔记
热门文章
- MQTT协议学习(3)——connect控制报文
- 第一次刷机,MOTO MB300 平刷2.3
- 飞腾FT-2000/4开发板上移植Ubuntu18.04.5且更换飞腾内核4.19.8教程
- PAT乙级C语言学习1001
- Brian到Brian2的转换
- java 实现http/ftp下载,支持迅雷地址转换的草稿
- 高山印象-中国-苏州拙政园-过亿别墅——禅语
- 回调地狱,解决回调地狱,回调地狱的终极解决方案
- LCDet Low-Complexity Fully-Convolutional Neural Networks for Object Detection in Embedded Systems
- ubuntu交叉编译Qt-5库并移植ARM开发板