nan420648227 2013-07-14 03:52 采纳率: 0%
浏览 3334

VC程序编写,可以调试但不能直接运行……

// LOL信息系统2 V1.6 最终版
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "dos.h"
#define Length sizeof(struct Lol)
//****************************结构体**********************************
struct Lol
{
char Number[15];
char Area[50];
char Name[50];
char Grading[50];
int Level;
int Battle;
};
//**************************打开文件,返回当前长度*************************************

int Readfile(struct Lol p)
{
FILE *fp;
int n=0,i;
struct Lol *t; //临时储存
t=malloc(Length);
if ((fp=fopen("data.dat","rb"))==NULL)
{
printf("打开文件失败,或者不存在此文件,请新建后再运行。");

exit(0);

}
while (!feof(fp))
{
fread((t+n),Length,1,fp);
n++;
}
n=n-1;
for (i=0;i<n;i++)

{
*(p+i)=
(t+i);
}
return n;
fclose(fp);
}
//***************************保存数据***********************************
void Savefile(struct Lol p,int *n)
{
FILE *fp;
int i;
if ((fp=fopen("data.dat","wb"))==NULL)
{
printf(" 保存文件失败。");

exit(0);

}
for (i=0;i<*n;i++)
fwrite(p+i,Length,1,fp);
fclose(fp);
}
//
**************************输入函数***********************************
void Number(struct Lol t)
{
printf("\n ———————————————————————\n");
printf(" 你的学号是:");

gets(t->Number);
}
void Name(struct Lol *t)
{
printf("\n ———————————————————————\n");
printf(" 你的游戏名是:");

gets(t->Name);
}
void Area(struct Lol *t)
{
printf("\n ———————————————————————\n");
printf(" 你的游戏大区是:");
gets(t->Area);
}
void Level(struct Lol *t)
{
printf("\n ———————————————————————\n");
printf(" 你的等级是:");

scanf("%d",&t->Level);
getchar();
}
void Battle(struct Lol *t)
{
printf("\n ———————————————————————\n");
printf(" 你的战斗力是:");

scanf("%d",&t->Battle);
getchar();
}
void Grading(struct Lol *t)
{
printf(" ———————————————————————\n");
printf(" 你的段位是:");

gets(t->Grading);
}
//
**************************输出函数***********************************
void Output(struct Lol p)
{
printf(" 你的学号是:%s\n",p->Number);
printf(" 你的游戏名是:%s\n",p->Name);
printf(" 你的游戏大区是:%s\n",p->Area);
printf(" 你的等级是:%d\n",p->Level);
printf(" 你的战斗力是:%d\n",p->Battle);
printf(" 你的段位是:%s\n",p->Grading);
}
//
***************************驻留****************************************
void Stay()
{
printf(" ———————————————————————\n");
printf(" 查看完毕请按回车键继续。");
getchar();
system("cls");
}
//****************************注册****************************************
void Register(struct Lol *p,int *n)
{
int Choose;
struct Lol *t; //临时储存
t=malloc(Length);
R:
system("cls");
printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf(" 注册信息填写\n");

Number(t);
Name(t);
Area(t);
Level(t);
Battle(t);
Grading(t);
printf("\n               ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf("                            ==>1.确认信息\n                            ==>2.重新输入\n                            ==>3.放弃返回\n                            ");
printf("你的选择是:");
scanf("%d",&Choose);
getchar();
switch (Choose)
{
    case 1:*(p+*n)=*t;(*n)++;printf("                            注册成功!按回车键返回。");getchar();system("cls");break;
    case 2:goto R;
    case 3:system("cls");break;
}

}
//****************************浏览****************************************
void View(struct Lol p,int *n)
{
int i;
system("cls");
for (i=0;i<*n;i++)
{
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
Output(p+i);
}
Stay();
}
//
***************************↓匹配函数****************************************
void CheckNumber(char String[30],struct Lol p,int n)
{
int i,label=0;
for (i=0;i {
if (strcmp(String,(p+i)->Number)==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
void CheckName(char String[30],struct Lol *p,int n)
{
int i,label=0;
for (i=0;i {
if (strcmp(String,(p+i)->Name)==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
void CheckArea(char String[30],struct Lol *p,int n)
{
int i,label=0;
for (i=0;i {
if (strcmp(String,(p+i)->Area)==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
void CheckLevel(int x,struct Lol *p,int n)
{
int i,label=0;
for (i=0;i {
if (x-((p+i)->Level)==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
void CheckBattle(int x,struct Lol *p,int n)
{
int i,label=0;
for (i=0;i {
if (x-(p+i)->Battle==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
void CheckGrading(char String[30],struct Lol *p,int n)
{
int i,label=0;
for (i=0;i {
if (strcmp(String,(p+i)->Grading)==0)
{
if (label==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
}
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
printf(" ———————————————————————\n");
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n");
else
printf(" 查询完毕,共找到%d个对象。\n",label);
}
//
***************************查询****************************************
void Find(struct Lol *p,int *n)
{
int Choose,x;
char String[30];
y:
system("cls");
printf(" ———————————————————————\n");
printf(" 你想什么方式查找信息:\n");
printf(" ———————————————————————\n");
printf(" 1.以学号查找个人\n 2.以游戏名查找个人\n 3.以大区信息查找\n 4.以等级查找\n 5.以战斗力查找\n 6.以段位查找\n 7.退出查找\n");
printf(" ———————————————————————\n ");
printf("你的选择是:");
scanf("%d",&Choose);
getchar();
switch (Choose)
{
case 1: printf(" 请输入学号:");gets(String);CheckNumber(String,p,*n);printf("\n");Stay();goto y;
case 2: printf(" 请输入游戏名:");gets(String);CheckName(String,p,*n);printf("\n");Stay();goto y;
case 3: printf(" 请输入大区:");gets(String);CheckArea(String,p,*n);printf("\n");Stay();goto y;
case 4: printf(" 请输入等级:");scanf("%d",&x);;CheckLevel(x,p,*n);printf("\n");Stay();goto y;
case 5: printf(" 请输入战斗力:");scanf("%d",&x);CheckBattle(x,p,*n);printf("\n");Stay();goto y;
case 6: printf(" 请输入段位:");gets(String);CheckGrading(String,p,*n);printf("\n");Stay();goto y;
case 7: system("cls");break;

}

}
//****************************删改函数****************************************
void Delete(struct Lol p,int i,int *n)
{
int j;
struct Lol *t;
t=p;
{
for (j=i;j<
(n-1);i++)
{
(p+j)=(t+j+1);
}
n=*n-1;
}
}
void ChangeData(struct Lol *p,int i,int *n)
{
int Choose1,Choose2;
struct Lol *t; //临时储存
t=p+i;
printf("\n ———————————————————————\n");
printf(" 更新信息填写,你要更新的信息是:\n");
printf("\n ———————————————————————\n");
printf(" 1.更改学号 2.更改姓名 3.更改大区\n 4.更新等级 5.更新战斗力 6.更新段位\n 7.删除本信息 0.放弃并返回\n ");
printf("你的选择是:");
scanf("%d",&Choose1);
getchar();
R: system("cls");
switch (Choose1)
{
case 1:Number(t);break;
case 2:Name(t);break;
case 3:Area(t);break;
case 4:Level(t);break;
case 5:Battle(t);break;
case 6:Grading(t);break;
case 7:break;
case 0:break;
}
if (Choose1!=7 && Choose1!=0)
{
printf(" ———————————————————————\n");
printf(" 1.确认更新信息\n 2.重新输入\n 3.放弃更新\n ");
printf("你的选择是:");
scanf(" %d",&Choose2);
getchar();
switch (Choose2)
{
case 1:system("cls");
(p+i)=*t;printf("\n ———————————————————————\n");printf(" 更新后的信息:\n");Output(p+i);Stay();break;
case 2:goto R;
case 3:system("cls");break;
}
}
else if (Choose1==7)
{
printf("\n ———————————————————————\n");
printf(" 1.确认删除此信息\n 2.放弃删除\n ");
printf("你的选择是:");
scanf("%d",&Choose2);
getchar();
switch (Choose2)
{
case 1:Delete(p,i,n);break;
case 2:break;
}
}

}

void ChangeNumber(char String[30],struct Lol *p,int *n)
{
int i,label=0;
for (i=0;i<*n;i++)
{
if (strcmp(String,(p+i)->Number)==0)
{
system("cls");
printf(" ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf(" ———————————————————————\n");
printf(" 学号:%s\n",(p+i)->Number);
printf(" 游戏名:%s\n",(p+i)->Name);
printf(" 游戏大区:%s\n",(p+i)->Area);
printf(" 等级:%d\n",(p+i)->Level);
printf(" 战斗力:%d\n",(p+i)->Battle);
printf(" 段位:%s\n",(p+i)->Grading);
label++;
ChangeData(p,i,n);
}
}
if (label==0)
printf(" 查询完毕,未找到匹配对象。\n ");
}

void ChangeName(char String[30],struct Lol *p,int *n)
{
int i,label=0;
for (i=0;i<*n;i++)
{
if (strcmp(String,(p+i)->Name)==0)
{
system("cls");
printf("\n ———————————————————————\n");
printf(" 找到匹配对象:\n");
printf("\n ———————————————————————\n");
printf(" 学号:%s\n",(p+i)->Number);
printf("\n ———————————————————————\n");
printf(" 游戏名:%s\n",(p+i)->Name);
printf("\n ———————————————————————\n");
printf(" 游戏大区:%s\n",(p+i)->Area);
printf("\n ———————————————————————\n");
printf(" 等级:%d\n",(p+i)->Level);
printf("\n ———————————————————————\n");
printf(" 战斗力:%d\n",(p+i)->Battle);
printf("\n ———————————————————————\n");
printf(" 段位:%s\n",(p+i)->Grading);
label++;
ChangeData(p,i,n);
}
}

if (label==0)
    printf("                            查询完毕,未找到匹配对象。\n                            ");    

}
//****************************删改****************************************
void Change(struct Lol *p,int *n)
{
int Choose,i,j,x;
char String[30];
y:
system("cls");
printf("\n ———————————————————————\n");
printf(" 你想修改或删除的信息:\n");
printf("\n ———————————————————————\n");
printf(" 1.以学号查找\n 2.以游戏名查找\n 3.退出修改\n ");
printf("你的选择是:");
scanf("%d",&Choose);
getchar();
switch (Choose)
{
case 1: printf(" ———————————————————————\n");printf(" 请输入学号:");gets(String);ChangeNumber(String,p,n);printf("\n ");goto y;
case 2: printf(" ———————————————————————\n");printf(" 请输入游戏名:");gets(String);ChangeName(String,p,n);printf("\n ");goto y;
case 3: system("cls");break;

}

}
//****************************排行****************************************
void Rank(struct Lol p,int *n)
{
int *t,temp,i,j;
t=malloc(10);
for (i=0;i<*n;i++)
*(t+i)=i;
system("cls");
for (i=0;i<*n-1;i++)
{
for (j=i+1;j<*n;j++)
{
/
if ((p+*(t+i))->Battle<(p+*(t+j))->Battle)
{
temp=*(t+i);
(t+i)=(t+j);
(t+j)=temp;
}
*/
if (strcmp((p+
(t+i))->Number,(p+*(t+j))->Number) {
temp=*(t+i);
*(t+i)=*(t+j);
*(t+j)=temp;
}
}
}
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf(" 所有注册者的战斗力排名信息:\n");
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n\n");
for (i=0;i {
printf(" ——————————NO.%d———————————\n",i+1);
printf(" 学号:%s\n",(p+*(t+i))->Number);
printf(" 游戏名:%s\n",(p+*(t+i))->Name);
printf(" 游戏大区:%s\n",(p+*(t+i))->Area);
printf(" 等级:%d\n",(p+*(t+i))->Level);
printf(" 战斗力:%d\n",(p+*(t+i))->Battle);
printf(" 段位:%s\n",(p+*(t+i))->Grading);

printf("\n");
}

Stay();
}

//****************************主函数****************************************
void main()
{
int *n,i,Choose;
struct Lol *p;
p=malloc(Length);
n=malloc(10);
*n=Readfile(p);
x:
printf(" 欢迎使用张楠的英雄联盟信息登记系统。\n");
printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf(" ≡≡ ≡≡ ≡≡\n");
printf(" ≡≡ 1.注册信息 ≡≡ 2.删改信息 ≡≡\n");
printf(" ≡≡ ≡≡ ≡≡\n");
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf(" ≡≡ 3.查询信息 ≡≡ 4.战力排行 ≡≡\n");
printf(" ≡≡ ≡≡ ≡≡\n");
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf(" ≡≡ 5.浏览全部 ≡≡ 6.退出系统 ≡≡\n");
printf(" ≡≡ ≡≡ ≡≡\n");
printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
printf("\n\n 请输入您的选择:");
scanf("%d",&Choose);
getchar();
switch (Choose)
{
case 1:Register(p,n);goto x;
case 2:Change(p,n);goto x;
case 3:Find(p,n);goto x;
case 4:Rank(p,n);goto x;
case 5:View(p,n);goto x;
case 6:printf(" 感谢您使用本系统!\n ");Savefile(p,n);exit(0);
}
Savefile(p,n);
}

求大神看看谢谢……

  • 写回答

2条回答 默认 最新

  • nan420648227 2013-07-16 06:03
    关注

    //张楠的作业 LOL信息系统2 V1.6 最终版
    #include "stdio.h"
    #include "string.h"
    #include "stdlib.h"
    #include "dos.h"
    #define Length sizeof(struct Lol)
    //****************************结构体**********************************
    struct Lol
    {
    char Number[15];
    char Area[50];
    char Name[50];
    char Grading[50];
    int Level;
    int Battle;
    };
    //**************************打开文件,返回当前长度*************************************

    int Readfile(struct Lol p)
    {
    FILE *fp;
    int n=0,i;
    struct Lol *t; //临时储存
    t=malloc(Length);
    if ((fp=fopen("data.dat","rb"))==NULL)
    {
    printf("打开文件失败,或者不存在此文件,请新建后再运行。");

    exit(0);

    }
    while (!feof(fp))
    {
    fread((t+n),Length,1,fp);
    n++;
    }
    n=n-1;
    for (i=0;i<n;i++)

    {
    *(p+i)=
    (t+i);
    }
    return n;
    fclose(fp);
    }
    //***************************保存数据***********************************
    void Savefile(struct Lol p,int *n)
    {
    FILE *fp;
    int i;
    if ((fp=fopen("data.dat","wb"))==NULL)
    {
    printf(" 保存文件失败。");

    exit(0);

    }
    for (i=0;i<*n;i++)
    fwrite(p+i,Length,1,fp);
    fclose(fp);
    }
    //
    **************************输入函数***********************************
    void Number(struct Lol t)
    {
    printf("\n ———————————————————————\n");
    printf(" 你的学号是:");

    gets(t->Number);
    }
    void Name(struct Lol *t)
    {
    printf("\n ———————————————————————\n");
    printf(" 你的游戏名是:");

    gets(t->Name);
    }
    void Area(struct Lol *t)
    {
    printf("\n ———————————————————————\n");
    printf(" 你的游戏大区是:");
    gets(t->Area);
    }
    void Level(struct Lol *t)
    {
    printf("\n ———————————————————————\n");
    printf(" 你的等级是:");

    scanf("%d",&t->Level);
    getchar();
    }
    void Battle(struct Lol *t)
    {
    printf("\n ———————————————————————\n");
    printf(" 你的战斗力是:");

    scanf("%d",&t->Battle);
    getchar();
    }
    void Grading(struct Lol *t)
    {
    printf(" ———————————————————————\n");
    printf(" 你的段位是:");

    gets(t->Grading);
    }
    //
    **************************输出函数***********************************
    void Output(struct Lol p)
    {
    printf(" 你的学号是:%s\n",p->Number);
    printf(" 你的游戏名是:%s\n",p->Name);
    printf(" 你的游戏大区是:%s\n",p->Area);
    printf(" 你的等级是:%d\n",p->Level);
    printf(" 你的战斗力是:%d\n",p->Battle);
    printf(" 你的段位是:%s\n",p->Grading);
    }
    //
    ***************************驻留****************************************
    void Stay()
    {
    printf(" ———————————————————————\n");
    printf(" 查看完毕请按回车键继续。");
    getchar();
    system("cls");
    }
    //****************************注册****************************************
    void Register(struct Lol *p,int *n)
    {
    int Choose;
    struct Lol *t; //临时储存
    t=malloc(Length);
    R:
    system("cls");
    printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf(" 注册信息填写\n");

    Number(t);
    Name(t);
    Area(t);
    Level(t);
    Battle(t);
    Grading(t);
    printf("\n               ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf("                            ==>1.确认信息\n                            ==>2.重新输入\n                            ==>3.放弃返回\n                            ");
    printf("你的选择是:");
    scanf("%d",&Choose);
    getchar();
    switch (Choose)
    {
        case 1:*(p+*n)=*t;(*n)++;printf("                            注册成功!按回车键返回。");getchar();system("cls");break;
        case 2:goto R;
        case 3:system("cls");break;
    }
    

    }
    //****************************浏览****************************************
    void View(struct Lol p,int *n)
    {
    int i;
    system("cls");
    for (i=0;i<*n;i++)
    {
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    Output(p+i);
    }
    Stay();
    }
    //
    ***************************↓匹配函数****************************************
    void CheckNumber(char String[30],struct Lol p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (strcmp(String,(p+i)->Number)==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    void CheckName(char String[30],struct Lol *p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (strcmp(String,(p+i)->Name)==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    void CheckArea(char String[30],struct Lol *p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (strcmp(String,(p+i)->Area)==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    void CheckLevel(int x,struct Lol *p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (x-((p+i)->Level)==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    void CheckBattle(int x,struct Lol *p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (x-(p+i)->Battle==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    void CheckGrading(char String[30],struct Lol *p,int n)
    {
    int i,label=0;
    for (i=0;i {
    if (strcmp(String,(p+i)->Grading)==0)
    {
    if (label==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    }
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    printf(" ———————————————————————\n");
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n");
    else
    printf(" 查询完毕,共找到%d个对象。\n",label);
    }
    //
    ***************************查询****************************************
    void Find(struct Lol *p,int *n)
    {
    int Choose,x;
    char String[30];
    y:
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 你想什么方式查找信息:\n");
    printf(" ———————————————————————\n");
    printf(" 1.以学号查找个人\n 2.以游戏名查找个人\n 3.以大区信息查找\n 4.以等级查找\n 5.以战斗力查找\n 6.以段位查找\n 7.退出查找\n");
    printf(" ———————————————————————\n ");
    printf("你的选择是:");
    scanf("%d",&Choose);
    getchar();
    switch (Choose)
    {
    case 1: printf(" 请输入学号:");gets(String);CheckNumber(String,p,*n);printf("\n");Stay();goto y;
    case 2: printf(" 请输入游戏名:");gets(String);CheckName(String,p,*n);printf("\n");Stay();goto y;
    case 3: printf(" 请输入大区:");gets(String);CheckArea(String,p,*n);printf("\n");Stay();goto y;
    case 4: printf(" 请输入等级:");scanf("%d",&x);;CheckLevel(x,p,*n);printf("\n");Stay();goto y;
    case 5: printf(" 请输入战斗力:");scanf("%d",&x);CheckBattle(x,p,*n);printf("\n");Stay();goto y;
    case 6: printf(" 请输入段位:");gets(String);CheckGrading(String,p,*n);printf("\n");Stay();goto y;
    case 7: system("cls");break;

    }
    

    }
    //****************************删改函数****************************************
    void Delete(struct Lol p,int i,int *n)
    {
    int j;
    struct Lol *t;
    t=p;
    {
    for (j=i;j<
    (n-1);i++)
    {
    (p+j)=(t+j+1);
    }
    n=*n-1;
    }
    }
    void ChangeData(struct Lol *p,int i,int *n)
    {
    int Choose1,Choose2;
    struct Lol *t; //临时储存
    t=p+i;
    printf("\n ———————————————————————\n");
    printf(" 更新信息填写,你要更新的信息是:\n");
    printf("\n ———————————————————————\n");
    printf(" 1.更改学号 2.更改姓名 3.更改大区\n 4.更新等级 5.更新战斗力 6.更新段位\n 7.删除本信息 0.放弃并返回\n ");
    printf("你的选择是:");
    scanf("%d",&Choose1);
    getchar();
    R: system("cls");
    switch (Choose1)
    {
    case 1:Number(t);break;
    case 2:Name(t);break;
    case 3:Area(t);break;
    case 4:Level(t);break;
    case 5:Battle(t);break;
    case 6:Grading(t);break;
    case 7:break;
    case 0:break;
    }
    if (Choose1!=7 && Choose1!=0)
    {
    printf(" ———————————————————————\n");
    printf(" 1.确认更新信息\n 2.重新输入\n 3.放弃更新\n ");
    printf("你的选择是:");
    scanf(" %d",&Choose2);
    getchar();
    switch (Choose2)
    {
    case 1:system("cls");
    (p+i)=*t;printf("\n ———————————————————————\n");printf(" 更新后的信息:\n");Output(p+i);Stay();break;
    case 2:goto R;
    case 3:system("cls");break;
    }
    }
    else if (Choose1==7)
    {
    printf("\n ———————————————————————\n");
    printf(" 1.确认删除此信息\n 2.放弃删除\n ");
    printf("你的选择是:");
    scanf("%d",&Choose2);
    getchar();
    switch (Choose2)
    {
    case 1:Delete(p,i,n);break;
    case 2:break;
    }
    }

    }

    void ChangeNumber(char String[30],struct Lol *p,int *n)
    {
    int i,label=0;
    for (i=0;i<*n;i++)
    {
    if (strcmp(String,(p+i)->Number)==0)
    {
    system("cls");
    printf(" ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf(" ———————————————————————\n");
    printf(" 学号:%s\n",(p+i)->Number);
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf(" 等级:%d\n",(p+i)->Level);
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    ChangeData(p,i,n);
    }
    }
    if (label==0)
    printf(" 查询完毕,未找到匹配对象。\n ");
    }

    void ChangeName(char String[30],struct Lol *p,int *n)
    {
    int i,label=0;
    for (i=0;i<*n;i++)
    {
    if (strcmp(String,(p+i)->Name)==0)
    {
    system("cls");
    printf("\n ———————————————————————\n");
    printf(" 找到匹配对象:\n");
    printf("\n ———————————————————————\n");
    printf(" 学号:%s\n",(p+i)->Number);
    printf("\n ———————————————————————\n");
    printf(" 游戏名:%s\n",(p+i)->Name);
    printf("\n ———————————————————————\n");
    printf(" 游戏大区:%s\n",(p+i)->Area);
    printf("\n ———————————————————————\n");
    printf(" 等级:%d\n",(p+i)->Level);
    printf("\n ———————————————————————\n");
    printf(" 战斗力:%d\n",(p+i)->Battle);
    printf("\n ———————————————————————\n");
    printf(" 段位:%s\n",(p+i)->Grading);
    label++;
    ChangeData(p,i,n);
    }
    }

    if (label==0)
        printf("                            查询完毕,未找到匹配对象。\n                            ");    
    

    }
    //****************************删改****************************************
    void Change(struct Lol *p,int *n)
    {
    int Choose,i,j,x;
    char String[30];
    y:
    system("cls");
    printf("\n ———————————————————————\n");
    printf(" 你想修改或删除的信息:\n");
    printf("\n ———————————————————————\n");
    printf(" 1.以学号查找\n 2.以游戏名查找\n 3.退出修改\n ");
    printf("你的选择是:");
    scanf("%d",&Choose);
    getchar();
    switch (Choose)
    {
    case 1: printf(" ———————————————————————\n");printf(" 请输入学号:");gets(String);ChangeNumber(String,p,n);printf("\n ");goto y;
    case 2: printf(" ———————————————————————\n");printf(" 请输入游戏名:");gets(String);ChangeName(String,p,n);printf("\n ");goto y;
    case 3: system("cls");break;

    }

    }
    //****************************排行****************************************
    void Rank(struct Lol p,int *n)
    {
    int *t,temp,i,j;
    t=malloc(10);
    for (i=0;i<*n;i++)
    *(t+i)=i;
    system("cls");
    for (i=0;i<*n-1;i++)
    {
    for (j=i+1;j<*n;j++)
    {
    if ((p+
    (t+i))->Battle<(p+*(t+j))->Battle)
    {
    temp=*(t+i);
    (t+i)=(t+j);
    (t+j)=temp;
    }
    }
    }
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf(" 所有注册者的战斗力排名信息:\n");
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n\n");
    for (i=0;i<*n;i++)
    {
    printf(" ——————————NO.%d———————————\n",i+1);
    printf(" 学号:%s\n",(p+
    (t+i))->Number);
    printf(" 游戏名:%s\n",(p+*(t+i))->Name);
    printf(" 游戏大区:%s\n",(p+*(t+i))->Area);
    printf(" 等级:%d\n",(p+*(t+i))->Level);
    printf(" 战斗力:%d\n",(p+*(t+i))->Battle);
    printf(" 段位:%s\n",(p+*(t+i))->Grading);

    printf("\n");
    }

    Stay();
    }

    //****************************主函数****************************************
    void main()
    {
    int *n,i,Choose;
    struct Lol *p;
    p=malloc(Length);
    n=malloc(10);
    *n=Readfile(p);
    x:
    printf(" 欢迎使用张楠的英雄联盟信息登记系统。\n");
    printf("\n ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf(" ≡≡ ≡≡ ≡≡\n");
    printf(" ≡≡ 1.注册信息 ≡≡ 2.删改信息 ≡≡\n");
    printf(" ≡≡ ≡≡ ≡≡\n");
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf(" ≡≡ 3.查询信息 ≡≡ 4.战力排行 ≡≡\n");
    printf(" ≡≡ ≡≡ ≡≡\n");
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf(" ≡≡ 5.浏览全部 ≡≡ 6.退出系统 ≡≡\n");
    printf(" ≡≡ ≡≡ ≡≡\n");
    printf(" ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡\n");
    printf("\n\n 请输入您的选择:");
    scanf("%d",&Choose);
    getchar();
    switch (Choose)
    {
    case 1:Register(p,n);goto x;
    case 2:Change(p,n);goto x;
    case 3:Find(p,n);goto x;
    case 4:Rank(p,n);goto x;
    case 5:View(p,n);goto x;
    case 6:printf(" 感谢您使用本系统!\n ");Savefile(p,n);exit(0);
    }
    Savefile(p,n);
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler