资源简介
诗词大会-C语言版(实现查找、随机出诗句、登录注册)
采用本地txt存储账号密码、诗句
没有采用MySQL来管理相关的代码
C语言没有好好学,功能都能实现,但是代码书写不规范,仅供参考,可以修改。
采用本地txt存储账号密码、诗句
没有采用MySQL来管理相关的代码
C语言没有好好学,功能都能实现,但是代码书写不规范,仅供参考,可以修改。
代码片段和文件信息
#include
#include
#include
#include “defen.h“
#define USER_MAX 20
#define N 10
#include
#define M_bushiju 100
#define N_bushiju 2
#include
#include
/* 此系统能存放最多的用户数 */
typedef struct {
char name[10];
char password[10];
}
User;
/* 定义一个存放用户的结构体 */
User list[USER_MAX];
/* 定义一个全局数组,类型是User大小是USER_MAX */
char * filename = “user.txt“;
char * filerank = “ranking.txt“;
char * filepoem = “poem.txt“;
/* 需要在你的程序目录下新建一个user.txt、ranking.txt文件 */
/* -----------------------------------------------------登录模块 -----------------------------------------------------*/
/* 登录函数 */
User login() {
char name[10];
char password[10];
User lg;
printf( “输入账号:“ );
scanf( “%s“ name );
strcpy( lg.name name );
printf( “输入密码:“ );
scanf( “%s“ password );
strcpy( lg.password password );
return(lg);
}
/* 写入txt文件,每一行存在一个用户 */
void writeToFile( User u ) {
FILE *fw = fopen( filename “a+“ );
fprintf( fw u.name );
fprintf( fw “\t“ );
fprintf( fw u.password );
fprintf( fw “\n“ );
}
/* 判断是否存在该用户 */
int exist( User u ) {
int i;
for ( i = 0; i < USER_MAX; i++ ) {
if ( 0 == strcmp( list[i].name u.name ) && 0 == strcmp( list[i].password u.password ) ) {
return(1);
}
}
return(-1);
}
/* 注册用户 */
void registerUser() {
char name[10];
char password[10];
User user;
int i;
printf( “请输入用户名“ );
scanf( “%s“ name );
strcpy( user.name name );
/* 判断注册的用户是否已存在 */
for ( i = 0; i < USER_MAX; i++ ) {
if ( 0 == strcmp( list[i].name name ) ) {
printf( “用户已存在“ );
}
}
printf( “请输入密码“ );
scanf( “%s“ password );
strcpy( user.password password );
writeToFile( user );
printf( “注册成功“ );
}
int menu() {
int choice;
printf( “----------诗词大会系统----------\n“ );
printf( “1.登录\n“ );
printf( “2.注册\n“ );
printf( “3.退出\n“ );
printf( “--------------------------------\n“ );
printf( “请输入你的选择:“ );
scanf( “%d“ &choice );
return(choice);
}
/* -----------------------------------------------------登录模块 -----------------------------------------------------*/
/* 诗词系统 */
int poemmenu(){
int choice;
printf( “-------------主菜单-------------\n“ );
printf( “1.诗词学习\n“ );
printf( “2.搜索诗词\n“ );
printf( “3.诗词游戏:补充诗句\n“ );
printf( “4.我的得分\n“ );
printf( “5.增加诗词\n“ );
printf( “6.退出\n“ );
printf( “--------------------------------\n“ );
printf( “请输入你的选择:“ );
scanf( “%d“ &choice );
return(choice);
}
/* 逐行读取数据 */
char *ReadSpeacialLine( int i ) {
char filepoem[] = “poem.txt“;
/* 文件名 */
FILE *fp1;
//声明fp是文件指针
int WhichLine = i;
/* 指定要读取哪一行 */
int CurrentIndex = 0;
/* 当前读取的行 */
static char StrLine[1024];
/* 每行最大读取的字符数可根据实际情况扩大 */
if ( (fp1 = fopen( filepoem “r“ ) ) == NULL )
/* 判断文件是否存在及可读 */ {
printf( “文件为空!“ );
return(NULL);
}
while ( !feof( fp1 ) ) {
//判断文件是否结束
if ( CurrentIndex == WhichLine ) {
fgets( StrLine 1024 fp1 );
/*从fp1即输入缓冲区中读取最多1024个字符到字符属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8841 2020-01-03 15:26 诗词大会.c
文件 3204 2020-01-03 15:26 defen.h
----------- --------- ---------- ----- ----
12045 2
相关资源
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
- 算符优先语法分析器(C语言编写)
- 基于C语言的密码锁程序
川公网安备 51152502000135号
评论
共有 条评论