资源简介
诗词大会-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
相关资源
- 八数码宽度优先搜索加注释.txt
- C语言标准函数库详解.pdf
- 西南交大考研复试C语言上机真题.ra
- 通讯录管理系统 源代码.rar
- 课程设计——C语言编写图书管理系统
- c语言程序设计_第3版_何钦铭_课后答案
- 2019年全国计算机考试二级C语言——公
- 学生选课管理系统.c
- C语言实现的校园导航系统
- s盒的C语言实现,S盒.cpp文件
- C语言实现的文字加密与解密小程序(
- rs编解码.c rs纠错码
- 物流管理系统V4.8
- 纯C语言实现https的post和get不依赖任何
- 红外避障小车程序C语言源码.rar
- C语言的小型通用数据库.rar
- C语言实现宾果消消乐
- 51单片机DIY制作:旋转LED数字显示电子
- C语言基于哈希表实现通讯录
- socket多人聊天程序C语言版(一)
- c语言 根据坐标 截取yuv420p 区域 保存
- 算法精解 的源代码
- 基于C语言的流水灯设计
- c语言图形动画课程设计奔跑的小人
- 电力系统潮流计算C语言程序
- 二叉树的插入C语言
- C语言仿真的aloha算法
- AVR单片机C语言程序设计精粹程序
- 银行家算法源程序包含C语言+C++两种代
- C语言拔高训练含代码
评论
共有 条评论