码迷,mamicode.com
首页 > 其他好文 > 详细

游戏注册系统

时间:2015-12-04 22:26:37      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

//定义函数头文件 

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<conio.h>

//定义全局变量 

int n=0,h,k;

//建立game文件 

FILE *fp;

//定义结构体数组 

struct game

{

char gamename[20];//昵称 

char realname[20];//真实姓名 

char qq[12];//游戏账号就是qq账号 

char qqemail[20];//qq邮箱 

char sex[8];//性别 

char mm[20];//密码(mm是密码的缩写) 

char amm[20];//确认密码(a是affirm的缩写) 

char nation[20];//国籍 

char id[20];//ID 

char phone[12]; //手机 

}user[1000000];//最多可以注册100万个玩家 

 

//按0进入帮助界面 

void help()

{

system("cls");

system("color g");

system("cls");

system("color 1c");

char a;

printf("\n\t\t欢迎使用辉志鹏游戏注册系统帮助;");

    printf("\n\t\t按照菜单提示键输入数字代号;");

    printf("\n\t\t增加学生信息后,切记保存按4;");

    printf("\n\t\t修改时请先读入文件;");

    printf("\n\t\t谢谢您的使用!");

    printf("按任意键返回主菜单:");

    system("pause");

    scanf("%c",&a);

    return;

}

 

//按1注册 

void regist()              //每次只能注册一次 

{                          //当再次注册时qq账号一样就不能保存成功 

system("cls");

system("color 2b");

int i=n,q=0,j,l=0,m,p; //l用与判断,m,j用于选择 

char a,man[4]={‘m‘,‘a‘,‘n‘,‘\0‘},woman[7]={‘w‘,‘o‘,‘m‘,‘a‘,‘n‘,‘\0‘};

loop1:                 //i,k,p用来记录玩家数目  

printf("\n\n");

if(q==0)

{

sex0:

printf("请输入性别(man或woman):");

scanf("%s",user[i].sex);

if(strcmp(user[i].sex,man)!=0&&strcmp(user[i].sex,woman)!=0)

{

printf("输入有误请再次输入:\n");

goto sex0;

}

gamename0:

       printf("请输入玩家姓名:");

           scanf("%s",user[i].gamename);

           if(strlen(user[i].gamename)>20)

            {

            printf("输入有误请再次输入:\n");

            goto gamename0;

            }

            for(p=0;p<=i-1;p++)

            {

            if(strcmp(user[i].gamename,user[p].gamename)==0)

            {

            printf("该昵称已经存在,请再次输入:\n");

            goto gamename0;

            }

            }

            realname0:

        printf("请输入真实姓名:");

       scanf("%s",user[i].realname);

       if(strlen(user[i].realname)>20)

       {

       printf("输入有误请再次输入:\n");

       goto realname0;

       }

       for(p=0;p<=i-1;p++)

       {

       if(strcmp(user[i].realname,user[p].realname)==0)

       {

       printf("该姓名已经存在,请再次输入:\n");

       goto realname0;

       }

       }

       qq0:

           printf("请输入账号:");

           scanf("%s",user[i].qq);

           if(strlen(user[i].qq)>12||strlen(user[i].qq)<6)

           {

           printf("输入有误请再次输入:\n");

           goto qq0;

           }

           for(j=0;j<strlen(user[i].qq);j++)

           {

           if(user[i].qq[j]-‘0‘<=9&&user[i].qq[j]-‘0‘>=0)

               l=0;

           else

           {

           l++;break;

           }

           }

           if(l!=0)

           {

           l=0;

           printf("输入有误请再次输入:\n");

           goto qq0;

           }

           for(p=0;p<=i-1;p++)

           {

           if(strcmp(user[i].qq,user[p].qq)==0)

           {

           printf("该账号已被注册,请再次输入:\n");

           goto qq0;

           }

           }

           mm0:

       printf("请输入密码:");

       scanf("%s",user[i].mm);

       if(strlen(user[i].mm)>20)

       {

       printf("输入有误请再次输入:\n");

       goto mm0;

       }

   amm0:

       printf("确认密码:");

        scanf("%s",user[i].amm);

        if(strlen(user[i].amm)>20)

        {

        printf("输入有误请再次输入:\n");

        goto amm0;

        }

        if(strcmp(user[i].amm,user[i].mm)!=0)

        {

        printf("两次输入的密码不一致,请再次输入:\n");

        goto amm0;

        }

        qqemail0:

char mail[12];

       printf("请输入qq邮箱:");

       scanf("%s",user[i].qqemail);//757395100  2636706907  1007849784  

       int z=strlen(user[i].qqemail);

if(z<=20||z>=13)

       {

       for(j=0;j<z-7;j++)

       {

       if((user[i].qqemail[j]-‘0‘)<=9&&(user[i].qqemail-‘0‘)>=0)

           l=0;

       else

       {

       l++;break;

       }

       mail[j]=user[i].qqemail[j];

       }

       j=z-7;

       if(user[i].qqemail[j++]!=‘@‘)

           l++;

       if(user[i].qqemail[j++]!=‘q‘)

           l++;

       if(user[i].qqemail[j++]!=‘q‘)

           l++;

       if(user[i].qqemail[j++]!=‘.‘)

           l++;

       if(user[i].qqemail[j++]!=‘c‘)

           l++;

       if(user[i].qqemail[j++]!=‘o‘)

           l++;

       if(user[i].qqemail[j]!=‘m‘)

           l++;

       }

       if(strcmp(mail,user[i].qq)!=0)

       l++;

       if(l!=0)

       {

       printf("输入有误请再次输入:\n");

       goto qqemail0;

       }

       for(p=0;p<=i-1;p++)

       {

       if(strcmp(user[i].qqemail,user[p].qqemail)==0)

       {

       printf("该邮箱已被注册,请再次输入:\n");

       goto qqemail0;

       }

       }

       phone0:

       printf("请输入您的手机号码:");

       scanf("%s",user[i].phone);

if(strlen(user[i].phone)!=11)

{

printf("输入有误请再次输入:\n");

goto phone0;

}

for(j=0;j<strlen(user[i].phone);j++)

{

if(user[i].phone[j]-‘0‘>=0&&user[i].phone[j]-‘0‘<=9)

l=0;

else

{

l++;break;

}

}

if(l!=0)

{

l=0;

printf("输入有误请再次输入:\n");

goto phone0;

}

id0:

       printf("请输入ID:");

       scanf("%s",user[i].id);

       if(strlen(user[i].id)!=18)

       {

       printf("输入有误请再次输入:\n");

       goto id0;

       }

int v=strlen(user[i].id)-1;

       for(j=0;j<v;j++)

       {

       if((user[i].id[j]-‘0‘)>=0&&(user[i].id[j]-‘0‘)<=9)

       l=0;

       else

       {

       l++;break;

       }

       }

       if(l!=0)

       {

       l=0;

       printf("输入有误请再次输入:\n");

       goto id0;

       }

       for(p=0;p<=i-1;p++)

       {

       if(strcmp(user[i].id,user[p].id)==0)

       {

       printf("该ID已经存在,请再次输入:\n");

       goto id0;

       }

       }

       nation0:

       printf("请输入国籍:");

       scanf("%s",user[i].nation);

       if(strlen(user[i].nation)>20)

       {

       printf("输入有误请再次输入:\n");

       goto nation0;

       }

   i++;    //每注册一次就加一次 

}

    n=i;           //注册一次就记录总数一次 

    if(n+1>1000000)

    {

    q=1;

printf("人数已达上限!以后不能再注册!");

    }

else

{

q=0;

   printf("注册成功!\n");

}

select0:

printf("是否继续注册?1-是;2-否\n");

printf("请输入你的选择:"); 

scanf("%d",&m);

if(m==1)

   goto loop1;

else if(m==2)

{

printf("\n\t\t按任意键返回主菜单.");

scanf("%c",&a);

return;   //结束函数返回主菜单 

}  

else

{

printf("输入有误请再次输入:\n");

goto select0;

}

}

 

//按2修改密码 

void revicemm()

{

system("cls");

system("color 3c");

printf("\n\n");

int i,k,l=0;

char mm[20],qq[12],a;

qq1:

printf("请输入你的账号:");

scanf("%s",qq);

for(i=0;i<n;i++)

{

if(strcmp(qq,user[i].qq)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该账号不存在,请再次输入:\n");

goto qq1;

}

mm1:

printf("请输入原密码:");

scanf("%s",mm);

if(strcmp(mm,user[h].mm)!=0)

{

printf("密码不正确,请再次输入:\n");

goto mm1;

}

mm2:

printf("请输入新密码:");

scanf("%s",user[h].mm);

if(strcmp(user[h].mm,mm)==0)

{

printf("新密码不能与旧密码相同!\n");

goto mm2;

}

else 

{

strcpy(user[h].amm,user[h].mm);

printf("\n\t\t修改密码成功!");

}

select1:

printf("是否继续修改密码?1-是;2否\n");

printf("请输入你的选择:");

scanf("%d",&k);

if(k==1)

goto qq1;

else if(k==2)

{

printf("\n\t\t按任意键返回主菜单.");

scanf("%c",&a);

system("pause");

system("cls");

return;

}

else

{

printf("输入有误请再次输入:\n");

goto select1;

}

}

 

//封号次级调用函数 

void remove()

{

int j;    //后面往前面覆盖 

for(j=h;j<n-1;j++)

user[j]=user[j+1];

n--;//是删除一次减一次总数 

}

 

//按3键封号 

void deleteone()

{

system("cls");

system("color 4b");

printf("\n\n");

int i,j,k,l=0;

char a,realname[20],gamename[20],id[20],qq[12];

select1:

printf("1-按姓名删除\n");

printf("2-按游戏昵称删除\n");

printf("3-按ID删除\n");

printf("4-按QQ号删除\n");

printf("5-退出本菜单\n");

printf("请输入你的选择:");

scanf("%d",&j);

switch(j)

{

case 1:

realname1:

printf("请输入姓名:");

scanf("%s",realname);

for(i=0;i<n;i++)

{

if(strcmp(realname,user[i].realname)==0)

{

h=i;l++;break;

}

else

   l=0;

}

if(l==0)

{

printf("该姓名不存在,请再次输入:\n");

goto realname1;

}

else

   remove();

break;

case 2:

gamename1:

printf("请输入昵称:");

scanf("%s",gamename);

for(i=0;i<n;i++)

{

if(strcmp(gamename,user[i].gamename)==0)

{

h=i;l++;break;

}

else

l++;

}

if(l==0)

{

printf("改昵称不存在,请再次输入:\n");

goto gamename1;

}

else

   remove();

break;

case 3:

   id1:

printf("请输入ID:");

scanf("%s",id);

for(i=0;i<n;i++)

{

if(strcmp(id,user[i].id)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该ID不存在,请再次输入:\n");

goto id1;

}

else

remove();

break;

case 4:

qq2:

printf("请输入QQ号:");

scanf("%s",qq);

for(i=0;i<n;i++)

{

if(strcmp(qq,user[i].qq)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该QQ号不存在,请再次输入:\n");

goto qq2; 

}

else

remove();

break;

case 5:

return;

default:

printf("选择有误请再次输入:\n");

goto select1;

}

printf("\n\t\t账号已封锁成功!");

select2:

printf("是否继续封锁个人信息?1-是;2-否\n");

printf("请输入你的选择:");

scanf("%d",&k);

if(k==1)

   goto select1;

else if(k==2)

{

printf("\n\t\t按任意键返回主菜单.");

scanf("%c",&a);

return;

}

else

{

printf("你的输入有误,请再次输入:\n");

goto select2;

}

}

 

//按4键保存 

void save()

{

system("cls");

system("color 5f");

    int i;

    FILE *fp;

    fp=fopen("game.txt","wb"); //写入

    for(i=0;i<n;i++)

{

        if(fwrite(&user[i],sizeof(struct game),1,fp)!=1)

        printf("\n\t\t写入文件错误!");

}

    fclose(fp);

    printf("\n\n\t\t\n保存成功!");

    system("pause");

    system("cls");

}

 

//修改次级函数 

void change()

{

system("cls");

system("color 6e");

int i,a;

printf("\n\t\t       该游戏玩家的信息如下         ");

printf("\n\t\t************************************");

printf("\n\t\t**     游戏昵称:%s",user[h].gamename);

printf("\n\t\t**     真实姓名:%s",user[h].realname);

printf("\n\t\t**     QQ号码:%s",user[h].qq);

printf("\n\t\t**     邮箱:%s",user[h].qqemail);

printf("\n\t\t**     性别:%s",user[h].sex);

printf("\n\t\t**     国籍:%s",user[h].nation);

printf("\n\t\t**     ID:%s",user[h].id);

printf("\n\t\t**     手机号:%s",user[h].phone);

printf("\n\t\t************************************");

printf("\n请输入新的信息:");

system("pause");

printf("\n\t\t1-修改昵称");

printf("\n\t\t2-修改姓名");

printf("\n\t\t3-修改性别");

printf("\n\t\t4-修改国籍");

printf("\n\t\t5-修改ID");

printf("\n\t\t6-修改电话");

printf("\n\t\t7-退出该菜单");

revice:

printf("\n\t\t请选择:");

scanf("%d",&a);

switch(a)

{

            case 1:

                printf("\n请输入新的昵称:");

                scanf("%s",user[h].gamename);

                break;

            case 2:

                printf("请输入新的姓名:");

                scanf("%d",&user[h].realname);

break;

            case 3:

                printf("请输入新的性别:");

                scanf("%s",user[h].sex);

break;

            case 4:

                printf("请输入新的国籍:");

                scanf("%s",user[h].nation);

                break;

            case 5:

                printf("请输入新的ID:");

                scanf("%s",user[h].id);

                break;

            case 6:

                printf("请输入新的电话号码:");

                scanf("%s",user[h].phone);

                break;

            case 7:return;

            default:

printf("请在1-7之间选择\n");

goto revice;

}

printf("个人信息修改成功!\n");

}

 

//按5键修改个人信息 

void revice()

{

system("cls");

system("color 8c");

printf("\n\n");

int i,j,k,l=0;

char a,realname[20],gamename[20],id[20],qq[12],phone[11];

select3:

printf("1-按姓名修改\n");

printf("2-按昵称修改\n");

printf("3-按ID修改\n");

printf("4-按QQ修改\n");

printf("5-按电话修改\n");

printf("6-退出本菜单\n");

printf("请输入你的选择:");

scanf("%d",&j);

switch(j)

{

case 1:

realname2:

printf("请输入姓名:");

scanf("%s",realname);

for(i=0;i<n;i++)

{

if(strcmp(realname,user[i].realname)==0)

{

l++;h=i;break;

}

else

l=0;   

}

if(l==0)

{

printf("该姓名不存在,请再次输入:\n");

goto realname2;

}

else

   change();

   break;

case 2:

gamename2:

printf("请输入游戏昵称:");

scanf("%s",gamename);

for(i=0;i<n;i++)

{

if(strcmp(gamename,user[i].gamename)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("改昵称不存在,请再次输入:\n");

goto gamename2;

}

else

   change();

break;

case 3:

   id2:

printf("请输入ID:");

scanf("%s",id);

for(i=0;i<n;i++)

{

if(strcmp(id,user[i].id)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该ID不存在,请再次输入:\n");

goto id2;

}

else

   change();

break;

case 4:

qq3:

printf("请输入QQ号:");

scanf("%s",qq);

for(i=0;i<n;i++)

{

if(strcmp(qq,user[i].qq)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该QQ号不存在,请再次输入:\n");

goto qq3; 

}

else

change();

break;

case 5:

phone1:

printf("请输入手机号:");

scanf("%s",phone);

for(i=0;i<n;i++)

{

if(strcmp(phone,user[i].phone)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该手机号不存在,请再次输入:\n");

goto phone1;

}

else

   change();

break;

case 6:

return;

default:

printf("选择有误请再次输入:\n");

goto select3;

}

select4:

printf("是否继续修改?1-是;2-否\n");

printf("请输入你的选择:");

scanf("%d",&k);

if(k==1)

   goto select3;

else if(k==2)

   {

   printf("\n\t\t按任意键返回主菜单.");

scanf("%c",&a);

return;

   }

else

{

printf("你的输入有误,请再次输入:\n");

goto select4;

}

}

 

//显示某一个 

void showone()

{

system("cls");

system("color 2b");

printf("\n\t\t       该游戏玩家的信息如下         ");

printf("\n\t\t************************************");

printf("\n\t\t**     游戏昵称:%s",user[h].gamename);

printf("\n\t\t**     真实姓名:%s",user[h].realname);

printf("\n\t\t**     QQ号码:%s",user[h].qq);

printf("\n\t\t**     邮箱:%s",user[h].qqemail);

printf("\n\t\t**     性别:%s",user[h].sex);

printf("\n\t\t**     国籍:%s",user[h].nation);

printf("\n\t\t**     ID:%s",user[h].id);

printf("\n\t\t**     手机号:%s",user[h].phone);

printf("\n\t\t************************************");

printf("\n\n");

system("pause");

}

 

//按6键找回密码

void findmm()

{

system("cls");

system("color 5b");

int i,l=0;

char phone[12];

findmm0:

printf("\n\t\t请输入你的手机号:");

scanf("%s",phone);

for(i=0;i<n;i++)

{

if(strcmp(phone,user[i].phone)==0)

{

h=i;l++;break;

}

}

printf("\n\t\t您的密码如下,请勿泄露密码给他人:\n");

printf("%s",user[h].mm);

findmm1:

int a;

printf("\n\t\t是否继续找回?1-是;2-否");

printf("\n\t\t请输入你的选择:");

scanf("%d",&a);

switch(a)

{

case 1:

goto findmm0;break;

case 2:

system("cls");return;

case 3:

printf("\n\t\t请在1和2之间选择:");

goto findmm1;

break;

}

 

//按7键找回信息 

void find()

{

system("cls");

system("color 9c");

printf("\n\n");

int i,j,l=0,k;

char a,realname[20],gamename[20],id[20],qq[12],phone[11];

select5:

printf("1-按姓名找回\n");

printf("2-按游戏昵称找回\n");

printf("3-按ID找回\n");

printf("4-按QQ号找回\n");

printf("5-按手机号找回\n");

printf("6-退出本菜单\n");

printf("请输入你的选择:");

scanf("%d",&j);

switch(j)

{

case 1:

realname3:

printf("请输入姓名:");

scanf("%s",realname);

for(i=0;i<n;i++)

{

if(strcmp(realname,user[i].realname)==0)

{

l++;h=i;break;

}

else

l=0;   

}

if(l==0)

{

printf("该姓名不存在,请再次输入:\n");

goto realname3;

}

else

   showone();

break;

case 2:

gamename4:

printf("请输入游戏昵称:");

scanf("%s",gamename);

for(i=0;i<n;i++)

{

if(strcmp(gamename,user[i].gamename)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("改昵称不存在,请再次输入:\n");

goto gamename4;

}

else

   showone();

break;

case 3:

   id3:

printf("请输入ID:");

scanf("%s",id);

for(i=0;i<n;i++)

{

if(strcmp(id,user[i].id)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该ID不存在,请再次输入:\n");

goto id3;

}

else

   showone();

break;

case 4:

qq4:

printf("请输入QQ号:");

scanf("%s",qq);

for(i=0;i<n;i++)

{

if(strcmp(qq,user[i].qq)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该QQ号不存在,请再次输入:\n");

goto qq4; 

}

else

showone();

break;

case 5:

phone1:

printf("请输入手机号:");

scanf("%s",phone);

for(i=0;i<n;i++)

{

if(strcmp(phone,user[i].phone)==0)

{

l++;h=i;break;

}

else

   l=0;

}

if(l==0)

{

printf("该手机号不存在,请再次输入:\n");

goto phone1;

}

else

   showone();

break;

case 6:

return;

default:

printf("选择有误请再次输入:\n");

goto select5;

}

select6:

printf("是否继续找回个人信息?1-是;2-否\n");

printf("请输入你的选择:");

scanf("%d",&k);

if(k==1)

   goto select5;

else if(k==2)

{

printf("\n\t\t按任意键返回主菜单.");

scanf("%c",&a);

return;

}

else

{

printf("你的输入有误,请再次输入:\n");

goto select6;

}

}

 

//读入 

void read()

{

system("cls");

system("color 3c");

char j,i;

if((fp=fopen("game.txt","rb"))==NULL)

{

printf("\n\t\t******************************");

printf("\n\t\t                              ");

printf("\n\t\t           文件不存在!       ");

printf("\n\t\t                              ");

printf("\n\t\t******************************");

exit(0);

}

fseek(fp,0,2);//文件位置移动到指针末尾 

if(ftell(fp)>0)//文件不能为空 

{

rewind(fp);//文件指针移动到文件的开始位置 

for(n=0;!feof(fp)&&fread(&user[n],sizeof(struct game),1,fp);n++);

printf("\n\t\t*************************");

printf("\n\t\t*                       *");

printf("\n\t\t*                       *");

printf("\n\t\t*     文件导入成功      *");

printf("\n\t\t*                       *");

printf("\n\t\t*                       *");

printf("\n\t\t*************************");

printf("\n\t\t     按任意键返回主菜单!");

printf("\n\t\t       请选择:     ");

scanf("%c",&j);

system("pause");

return;

}

else

{

printf("\n\t\t************************");

printf("\n\t\t*                      *");

printf("\n\t\t*                      *");

printf("\n\t\t*    文件导入成功!    *");

printf("\n\t\t*  通讯录中无任何数据!*");

printf("\n\t\t*                      *");

printf("\n\t\t*                      *");

printf("\n\t\t************************");

printf("\n\t\t 按任意键返回主菜单:");

scanf("%c",&i);

system("pause");

return;

}

}

 

//先进入主菜单 

void menu()

{

system("cls");

system("color 4b");

int a;

loop0:

printf("\n\t\t*****************************");

printf("\n\t\t0.帮助");

printf("\n\t\t1.注册");

printf("\n\t\t2.修改密码");

printf("\n\t\t3.封锁某个账号");

printf("\n\t\t4.保存");

printf("\n\t\t5.修改个人信息");

printf("\n\t\t6-找回密码");

printf("\n\t\t7.找回个人信息");

printf("\n\t\t8.读入文件");

printf("\n\t\t9.退出系统");

printf("\n\t\t*****************************");

printf("请选择:");

scanf("%d",&a);

switch(a)

{

case 0:

help();break;

case 1:

regist();break;

case 2:

revicemm();break;

case 3:

deleteone();break;

case 4:

save();break;

case 5:

revice();break;

case 6:

findmm();break;

case 7:

find();break;

case 8:

read();break;

case 9:

int j;

char a;

select7:

printf("是否退出?1-是;2-否\n");

printf("请输入你的选择:");

scanf("%d",&j);

if(j==1)

k=0;

else if(j==2)

{

goto loop0;

system("cls");

}

else

{

printf("输入有误请再次输入:\n");

goto select7;

}

break;

default:

printf("输入有误,请再次输入:\n");

goto loop0;

}

}

 

//主函数 

main()

{

begin:

int a;

printf("按一键进入主菜单:");

scanf("%d",&a);

if(a==1)

k=1;

else

{

printf("输入有误请再次输入:\n");

goto begin;

}

while(k)

menu();

}

//定义函数头文件 #include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>//定义全局变量 int n=0,h,k;//建立game文件 FILE *fp;//定义结构体数组 struct game{char gamename[20];//昵称 char realname[20];//真实姓名 char qq[12];//游戏账号就是qq账号 char qqemail[20];//qq邮箱 char sex[8];//性别 char mm[20];//密码(mm是密码的缩写) char amm[20];//确认密码(a是affirm的缩写) char nation[20];//国籍 char id[20];//ID char phone[12]; //手机 }user[1000000];//最多可以注册100万个玩家 
//按0进入帮助界面 void help(){system("cls");system("color g");system("cls");system("color 1c");char a;printf("\n\t\t欢迎使用辉志鹏游戏注册系统帮助;");    printf("\n\t\t按照菜单提示键输入数字代号;");    printf("\n\t\t增加学生信息后,切记保存按4;");    printf("\n\t\t修改时请先读入文件;");    printf("\n\t\t谢谢您的使用!");    printf("按任意键返回主菜单:");    system("pause");    scanf("%c",&a);    return;}
//按1注册 void regist()              //每次只能注册一次 {                          //当再次注册时qq账号一样就不能保存成功 system("cls");system("color 2b");int i=n,q=0,j,l=0,m,p; //l用与判断,m,j用于选择 char a,man[4]={‘m‘,‘a‘,‘n‘,‘\0‘},woman[7]={‘w‘,‘o‘,‘m‘,‘a‘,‘n‘,‘\0‘};loop1:                 //i,k,p用来记录玩家数目  printf("\n\n");if(q==0){sex0:printf("请输入性别(man或woman):");scanf("%s",user[i].sex);if(strcmp(user[i].sex,man)!=0&&strcmp(user[i].sex,woman)!=0){printf("输入有误请再次输入:\n");goto sex0;}gamename0:        printf("请输入玩家姓名:");           scanf("%s",user[i].gamename);           if(strlen(user[i].gamename)>20)            {            printf("输入有误请再次输入:\n");            goto gamename0;            }            for(p=0;p<=i-1;p++)            {            if(strcmp(user[i].gamename,user[p].gamename)==0)            {            printf("该昵称已经存在,请再次输入:\n");            goto gamename0;            }            }            realname0:        printf("请输入真实姓名:");       scanf("%s",user[i].realname);       if(strlen(user[i].realname)>20)       {       printf("输入有误请再次输入:\n");       goto realname0;       }       for(p=0;p<=i-1;p++)       {       if(strcmp(user[i].realname,user[p].realname)==0)       {       printf("该姓名已经存在,请再次输入:\n");       goto realname0;       }       }       qq0:           printf("请输入账号:");           scanf("%s",user[i].qq);           if(strlen(user[i].qq)>12||strlen(user[i].qq)<6)           {           printf("输入有误请再次输入:\n");           goto qq0;           }           for(j=0;j<strlen(user[i].qq);j++)           {           if(user[i].qq[j]-‘0‘<=9&&user[i].qq[j]-‘0‘>=0)               l=0;           else           {           l++;break;           }           }           if(l!=0)           {           l=0;           printf("输入有误请再次输入:\n");           goto qq0;           }           for(p=0;p<=i-1;p++)           {           if(strcmp(user[i].qq,user[p].qq)==0)           {           printf("该账号已被注册,请再次输入:\n");           goto qq0;           }           }           mm0:       printf("请输入密码:");        scanf("%s",user[i].mm);        if(strlen(user[i].mm)>20)        {        printf("输入有误请再次输入:\n");        goto mm0;        }    amm0:        printf("确认密码:");        scanf("%s",user[i].amm);        if(strlen(user[i].amm)>20)        {        printf("输入有误请再次输入:\n");        goto amm0;        }        if(strcmp(user[i].amm,user[i].mm)!=0)        {        printf("两次输入的密码不一致,请再次输入:\n");        goto amm0;        }        qqemail0:char mail[12];       printf("请输入qq邮箱:");        scanf("%s",user[i].qqemail);//757395100  2636706907  1007849784          int z=strlen(user[i].qqemail);if(z<=20||z>=13)        {        for(j=0;j<z-7;j++)        {        if((user[i].qqemail[j]-‘0‘)<=9&&(user[i].qqemail-‘0‘)>=0)            l=0;        else        {        l++;break;        }        mail[j]=user[i].qqemail[j];        }        j=z-7;        if(user[i].qqemail[j++]!=‘@‘)            l++;        if(user[i].qqemail[j++]!=‘q‘)            l++;        if(user[i].qqemail[j++]!=‘q‘)            l++;        if(user[i].qqemail[j++]!=‘.‘)            l++;        if(user[i].qqemail[j++]!=‘c‘)            l++;        if(user[i].qqemail[j++]!=‘o‘)            l++;        if(user[i].qqemail[j]!=‘m‘)            l++;        }        if(strcmp(mail,user[i].qq)!=0)        l++;        if(l!=0)        {        printf("输入有误请再次输入:\n");        goto qqemail0;        }        for(p=0;p<=i-1;p++)        {        if(strcmp(user[i].qqemail,user[p].qqemail)==0)        {        printf("该邮箱已被注册,请再次输入:\n");        goto qqemail0;        }        }        phone0:        printf("请输入您的手机号码:");        scanf("%s",user[i].phone);if(strlen(user[i].phone)!=11){printf("输入有误请再次输入:\n");goto phone0;}for(j=0;j<strlen(user[i].phone);j++){if(user[i].phone[j]-‘0‘>=0&&user[i].phone[j]-‘0‘<=9)l=0;else{l++;break;}}if(l!=0){l=0;printf("输入有误请再次输入:\n");goto phone0;}id0:        printf("请输入ID:");       scanf("%s",user[i].id);       if(strlen(user[i].id)!=18)       {       printf("输入有误请再次输入:\n");       goto id0;       }int v=strlen(user[i].id)-1;       for(j=0;j<v;j++)       {       if((user[i].id[j]-‘0‘)>=0&&(user[i].id[j]-‘0‘)<=9)       l=0;       else       {       l++;break;       }       }       if(l!=0)       {       l=0;       printf("输入有误请再次输入:\n");       goto id0;       }       for(p=0;p<=i-1;p++)       {       if(strcmp(user[i].id,user[p].id)==0)       {       printf("该ID已经存在,请再次输入:\n");       goto id0;       }       }       nation0:        printf("请输入国籍:");        scanf("%s",user[i].nation);        if(strlen(user[i].nation)>20)        {        printf("输入有误请再次输入:\n");        goto nation0;        }    i++;    //每注册一次就加一次 }    n=i;           //注册一次就记录总数一次     if(n+1>1000000)    {    q=1;printf("人数已达上限!以后不能再注册!");    }else{q=0;    printf("注册成功!\n");}select0:printf("是否继续注册?1-是;2-否\n");printf("请输入你的选择:"); scanf("%d",&m);if(m==1)    goto loop1;else if(m==2){printf("\n\t\t按任意键返回主菜单.");scanf("%c",&a);return;   //结束函数返回主菜单 }  else{printf("输入有误请再次输入:\n");goto select0;}}
//按2修改密码 void revicemm(){system("cls");system("color 3c");printf("\n\n");int i,k,l=0;char mm[20],qq[12],a;qq1:printf("请输入你的账号:");scanf("%s",qq);for(i=0;i<n;i++){if(strcmp(qq,user[i].qq)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该账号不存在,请再次输入:\n");goto qq1;}mm1:printf("请输入原密码:");scanf("%s",mm);if(strcmp(mm,user[h].mm)!=0){printf("密码不正确,请再次输入:\n");goto mm1;}mm2:printf("请输入新密码:");scanf("%s",user[h].mm);if(strcmp(user[h].mm,mm)==0){printf("新密码不能与旧密码相同!\n");goto mm2;}else {strcpy(user[h].amm,user[h].mm);printf("\n\t\t修改密码成功!");}select1:printf("是否继续修改密码?1-是;2否\n");printf("请输入你的选择:");scanf("%d",&k);if(k==1)goto qq1;else if(k==2){printf("\n\t\t按任意键返回主菜单.");scanf("%c",&a);system("pause");system("cls");return;}else{printf("输入有误请再次输入:\n");goto select1;}}
//封号次级调用函数 void remove(){int j;    //后面往前面覆盖 for(j=h;j<n-1;j++)user[j]=user[j+1];n--;//是删除一次减一次总数 }
//按3键封号 void deleteone(){system("cls");system("color 4b");printf("\n\n");int i,j,k,l=0;char a,realname[20],gamename[20],id[20],qq[12];select1:printf("1-按姓名删除\n");printf("2-按游戏昵称删除\n");printf("3-按ID删除\n");printf("4-按QQ号删除\n");printf("5-退出本菜单\n");printf("请输入你的选择:");scanf("%d",&j);switch(j){case 1:realname1:printf("请输入姓名:");scanf("%s",realname);for(i=0;i<n;i++){if(strcmp(realname,user[i].realname)==0){h=i;l++;break;}else    l=0;}if(l==0){printf("该姓名不存在,请再次输入:\n");goto realname1;}else    remove();break;case 2:gamename1:printf("请输入昵称:");scanf("%s",gamename);for(i=0;i<n;i++){if(strcmp(gamename,user[i].gamename)==0){h=i;l++;break;}elsel++;}if(l==0){printf("改昵称不存在,请再次输入:\n");goto gamename1;}else    remove();break;case 3:    id1:printf("请输入ID:");scanf("%s",id);for(i=0;i<n;i++){if(strcmp(id,user[i].id)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该ID不存在,请再次输入:\n");goto id1;}elseremove();break;case 4:qq2:printf("请输入QQ号:");scanf("%s",qq);for(i=0;i<n;i++){if(strcmp(qq,user[i].qq)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该QQ号不存在,请再次输入:\n");goto qq2; }elseremove();break;case 5:return;default:printf("选择有误请再次输入:\n");goto select1;}printf("\n\t\t账号已封锁成功!");select2:printf("是否继续封锁个人信息?1-是;2-否\n");printf("请输入你的选择:");scanf("%d",&k);if(k==1)    goto select1;else if(k==2){printf("\n\t\t按任意键返回主菜单.");scanf("%c",&a);return;}else{printf("你的输入有误,请再次输入:\n");goto select2;}}
//按4键保存 void save(){system("cls");system("color 5f");    int i;    FILE *fp;    fp=fopen("game.txt","wb"); //写入    for(i=0;i<n;i++){        if(fwrite(&user[i],sizeof(struct game),1,fp)!=1)        printf("\n\t\t写入文件错误!");}    fclose(fp);    printf("\n\n\t\t\n保存成功!");    system("pause");    system("cls");}
//修改次级函数 void change(){system("cls");system("color 6e");int i,a;printf("\n\t\t       该游戏玩家的信息如下         ");printf("\n\t\t************************************");printf("\n\t\t**     游戏昵称:%s",user[h].gamename);printf("\n\t\t**     真实姓名:%s",user[h].realname);printf("\n\t\t**     QQ号码:%s",user[h].qq);printf("\n\t\t**     邮箱:%s",user[h].qqemail);printf("\n\t\t**     性别:%s",user[h].sex);printf("\n\t\t**     国籍:%s",user[h].nation);printf("\n\t\t**     ID:%s",user[h].id);printf("\n\t\t**     手机号:%s",user[h].phone);printf("\n\t\t************************************");printf("\n请输入新的信息:");system("pause");printf("\n\t\t1-修改昵称");printf("\n\t\t2-修改姓名");printf("\n\t\t3-修改性别");printf("\n\t\t4-修改国籍");printf("\n\t\t5-修改ID");printf("\n\t\t6-修改电话");printf("\n\t\t7-退出该菜单");revice:printf("\n\t\t请选择:");scanf("%d",&a);switch(a){            case 1:                printf("\n请输入新的昵称:");                scanf("%s",user[h].gamename);                break;            case 2:                printf("请输入新的姓名:");                scanf("%d",&user[h].realname);break;            case 3:                printf("请输入新的性别:");                scanf("%s",user[h].sex);break;            case 4:                printf("请输入新的国籍:");                scanf("%s",user[h].nation);                break;            case 5:                printf("请输入新的ID:");                scanf("%s",user[h].id);                break;            case 6:                printf("请输入新的电话号码:");                scanf("%s",user[h].phone);                break;            case 7:return;            default:printf("请在1-7之间选择\n");goto revice;}printf("个人信息修改成功!\n");}
//按5键修改个人信息 void revice(){system("cls");system("color 8c");printf("\n\n");int i,j,k,l=0;char a,realname[20],gamename[20],id[20],qq[12],phone[11];select3:printf("1-按姓名修改\n");printf("2-按昵称修改\n");printf("3-按ID修改\n");printf("4-按QQ修改\n");printf("5-按电话修改\n");printf("6-退出本菜单\n");printf("请输入你的选择:");scanf("%d",&j);switch(j){case 1:realname2:printf("请输入姓名:");scanf("%s",realname);for(i=0;i<n;i++){if(strcmp(realname,user[i].realname)==0){l++;h=i;break;}elsel=0;   }if(l==0){printf("该姓名不存在,请再次输入:\n");goto realname2;}else    change();    break;case 2:gamename2:printf("请输入游戏昵称:");scanf("%s",gamename);for(i=0;i<n;i++){if(strcmp(gamename,user[i].gamename)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("改昵称不存在,请再次输入:\n");goto gamename2;}else    change();break;case 3:    id2:printf("请输入ID:");scanf("%s",id);for(i=0;i<n;i++){if(strcmp(id,user[i].id)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该ID不存在,请再次输入:\n");goto id2;}else    change();break;case 4:qq3:printf("请输入QQ号:");scanf("%s",qq);for(i=0;i<n;i++){if(strcmp(qq,user[i].qq)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该QQ号不存在,请再次输入:\n");goto qq3; }elsechange();break;case 5:phone1:printf("请输入手机号:");scanf("%s",phone);for(i=0;i<n;i++){if(strcmp(phone,user[i].phone)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该手机号不存在,请再次输入:\n");goto phone1;}else    change();break;case 6:return;default:printf("选择有误请再次输入:\n");goto select3;}select4:printf("是否继续修改?1-是;2-否\n");printf("请输入你的选择:");scanf("%d",&k);if(k==1)    goto select3;else if(k==2)    {    printf("\n\t\t按任意键返回主菜单.");scanf("%c",&a);return;    }else{printf("你的输入有误,请再次输入:\n");goto select4;}}
//显示某一个 void showone(){system("cls");system("color 2b");printf("\n\t\t       该游戏玩家的信息如下         ");printf("\n\t\t************************************");printf("\n\t\t**     游戏昵称:%s",user[h].gamename);printf("\n\t\t**     真实姓名:%s",user[h].realname);printf("\n\t\t**     QQ号码:%s",user[h].qq);printf("\n\t\t**     邮箱:%s",user[h].qqemail);printf("\n\t\t**     性别:%s",user[h].sex);printf("\n\t\t**     国籍:%s",user[h].nation);printf("\n\t\t**     ID:%s",user[h].id);printf("\n\t\t**     手机号:%s",user[h].phone);printf("\n\t\t************************************");printf("\n\n");system("pause");}
//按6键找回密码void findmm(){system("cls");system("color 5b");int i,l=0;char phone[12];findmm0:printf("\n\t\t请输入你的手机号:");scanf("%s",phone);for(i=0;i<n;i++){if(strcmp(phone,user[i].phone)==0){h=i;l++;break;}}printf("\n\t\t您的密码如下,请勿泄露密码给他人:\n");printf("%s",user[h].mm);findmm1:int a;printf("\n\t\t是否继续找回?1-是;2-否");printf("\n\t\t请输入你的选择:");scanf("%d",&a);switch(a){case 1:goto findmm0;break;case 2:system("cls");return;case 3:printf("\n\t\t请在1和2之间选择:");goto findmm1;break;} }
//按7键找回信息 void find(){system("cls");system("color 9c");printf("\n\n");int i,j,l=0,k;char a,realname[20],gamename[20],id[20],qq[12],phone[11];select5:printf("1-按姓名找回\n");printf("2-按游戏昵称找回\n");printf("3-按ID找回\n");printf("4-按QQ号找回\n");printf("5-按手机号找回\n");printf("6-退出本菜单\n");printf("请输入你的选择:");scanf("%d",&j);switch(j){case 1:realname3:printf("请输入姓名:");scanf("%s",realname);for(i=0;i<n;i++){if(strcmp(realname,user[i].realname)==0){l++;h=i;break;}elsel=0;   }if(l==0){printf("该姓名不存在,请再次输入:\n");goto realname3;}else    showone();break;case 2:gamename4:printf("请输入游戏昵称:");scanf("%s",gamename);for(i=0;i<n;i++){if(strcmp(gamename,user[i].gamename)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("改昵称不存在,请再次输入:\n");goto gamename4;}else    showone();break;case 3:    id3:printf("请输入ID:");scanf("%s",id);for(i=0;i<n;i++){if(strcmp(id,user[i].id)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该ID不存在,请再次输入:\n");goto id3;}else    showone();break;case 4:qq4:printf("请输入QQ号:");scanf("%s",qq);for(i=0;i<n;i++){if(strcmp(qq,user[i].qq)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该QQ号不存在,请再次输入:\n");goto qq4; }elseshowone();break;case 5:phone1:printf("请输入手机号:");scanf("%s",phone);for(i=0;i<n;i++){if(strcmp(phone,user[i].phone)==0){l++;h=i;break;}else    l=0;}if(l==0){printf("该手机号不存在,请再次输入:\n");goto phone1;}else    showone();break;case 6:return;default:printf("选择有误请再次输入:\n");goto select5;}select6:printf("是否继续找回个人信息?1-是;2-否\n");printf("请输入你的选择:");scanf("%d",&k);if(k==1)    goto select5;else if(k==2){printf("\n\t\t按任意键返回主菜单.");scanf("%c",&a);return;}else{printf("你的输入有误,请再次输入:\n");goto select6;}}
//读入 void read(){system("cls");system("color 3c");char j,i;if((fp=fopen("game.txt","rb"))==NULL){printf("\n\t\t******************************");printf("\n\t\t                              ");printf("\n\t\t           文件不存在!       ");printf("\n\t\t                              ");printf("\n\t\t******************************");exit(0);}fseek(fp,0,2);//文件位置移动到指针末尾 if(ftell(fp)>0)//文件不能为空 {rewind(fp);//文件指针移动到文件的开始位置 for(n=0;!feof(fp)&&fread(&user[n],sizeof(struct game),1,fp);n++);printf("\n\t\t*************************");printf("\n\t\t*                       *");printf("\n\t\t*                       *");printf("\n\t\t*     文件导入成功      *");printf("\n\t\t*                       *");printf("\n\t\t*                       *");printf("\n\t\t*************************");printf("\n\t\t     按任意键返回主菜单!");printf("\n\t\t       请选择:     ");scanf("%c",&j);system("pause");return;}else{printf("\n\t\t************************");printf("\n\t\t*                      *");printf("\n\t\t*                      *");printf("\n\t\t*    文件导入成功!    *");printf("\n\t\t*  通讯录中无任何数据!*");printf("\n\t\t*                      *");printf("\n\t\t*                      *");printf("\n\t\t************************");printf("\n\t\t 按任意键返回主菜单:");scanf("%c",&i);system("pause");return;}}
//先进入主菜单 void menu(){system("cls");system("color 4b");int a;loop0:printf("\n\t\t*****************************");printf("\n\t\t0.帮助");printf("\n\t\t1.注册");printf("\n\t\t2.修改密码");printf("\n\t\t3.封锁某个账号");printf("\n\t\t4.保存");printf("\n\t\t5.修改个人信息");printf("\n\t\t6-找回密码");printf("\n\t\t7.找回个人信息");printf("\n\t\t8.读入文件");printf("\n\t\t9.退出系统");printf("\n\t\t*****************************");printf("请选择:");scanf("%d",&a);switch(a){case 0: help();break;case 1: regist();break;case 2: revicemm();break;case 3: deleteone();break;case 4: save();break;case 5: revice();break;case 6: findmm();break;case 7: find();break;case 8: read();break;case 9: int j; char a; select7: printf("是否退出?1-是;2-否\n"); printf("请输入你的选择:"); scanf("%d",&j); if(j==1) k=0; else if(j==2) { goto loop0; system("cls"); } else { printf("输入有误请再次输入:\n"); goto select7; } break;default: printf("输入有误,请再次输入:\n"); goto loop0;}}
//主函数 main(){begin:int a;printf("按一键进入主菜单:");scanf("%d",&a);if(a==1)k=1;else{printf("输入有误请再次输入:\n");goto begin;}while(k) menu();}

游戏注册系统

标签:

原文地址:http://www.cnblogs.com/100114jerro/p/5020380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!