分享
 
 
 

学生档案管理系统(无文件操作)——源码

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

#include <stdio.h>

#include <malloc.h>

#include <conio.h>

#include <dos.h>

#include <graphics.h>

#include <string.h>

typedef struct undergraduate

{

char name[20]; //姓名

int number; //学号

char sex; //性别

int age; //年龄

int squad; //班级

char telephone[10]; //电话

char address[30]; //地址

struct undergraduate *next;

}student ,*link;

/*---------------------------------------------------------------------*/

/*主函数,成功返回0,失败返回其他值*/

int main( void )

{

int input(link, int);

void reload ( void );

char menu( void );

int show(link);

link find(link);

int modify(link);

int erase(link);

int add(link);

link pSCHead = NULL, pSCLink = NULL;

int iTStudent;

int i;

int rInput;

int rMenu;

FILE *pTFile, *pFile;

reload();

window(1, 1, 79, 25);

textcolor(WHITE);

textbackground(BLUE);

BEGIN:

rMenu = menu();

clrscr();

switch( rMenu )

{

case 'i':

case 'I':

{

if (pSCHead != NULL)

{

gotoxy(8, 3);

puts("You have input the information!");

gotoxy(8, 4);

puts("Press any key to return!");

getch();

goto BEGIN;

}

/*输入链表的基本信息*/

gotoxy(8, 3);

printf("How many student there are?");

scanf("%d", &iTStudent);

/*以学生总数为依托建立链表*/

if ((pSCHead = (link)malloc(sizeof (student))) == NULL)

{

puts("\n\t");

puts("There is no more EMS memory!\n");

puts("Press any key to reutrn!\n");

getch();

exit( 1 );

}

pSCHead->next = NULL;

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

{

pSCLink = (link)malloc(sizeof (student));

if (pSCLink == NULL)

{

puts("\n\t");

puts("There is no more EMS memory!\n\t");

puts("Press any key to return!\n\t");

getch();

exit( 1 );/*返回值能否重复呢?*/

}

pSCLink->next = pSCHead->next;

pSCHead->next = pSCLink;

}

rInput = input(pSCHead, iTStudent);

if (rInput == 1)

{

puts("\n\t");

puts("Ther is something wrong in input function!\n\t");

puts("Press any key to return!\n\t");

getch();

exit( 1 );

}

}

goto BEGIN;

case 's':

case 'S':

{

show(pSCHead);

gotoxy(8, 24);

puts("Press any key to return!");

getch();

}

goto BEGIN;

case 'm':

case 'M':

{

modify(pSCHead);

}

goto BEGIN;

case 'a':

case 'A':

{

pSCLink = (link)malloc(sizeof (student));

if (pSCLink == NULL)

{

gotoxy(4, 4);

puts("There is something wrong in add function!");

gotoxy(4, 5);

puts("Press any key to return!");

getch();

}

else

{

pSCLink->next = pSCHead->next;

pSCHead->next = pSCLink;

add(pSCLink);

gotoxy(4, 24);

printf("OK!We have added successfully! And press any key to return!");

getch();

}

}

goto BEGIN;

case 'd':

case 'D':

{

erase(pSCHead);

}

goto BEGIN;

case 'f':

case 'F':

{

find(pSCHead);

gotoxy(8, 24);

puts("Press any key to return!");

getch();

}

goto BEGIN;

case 'q':

case 'Q':

{

exit ( 0 );

}

default : goto BEGIN;

}

}

/*---------------------------------------------------------------------*/

void drawmat(char *mat, int matsize, int x, int y, int color)

/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/

{

int i, j, k, n;

n = (matsize - 1) / 8 + 1;//n中存放什么数字呢?

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

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

for(k = 0; k < 8; k++)

if(mat[j * n + i] & (0x80 >> k)) /*测试为1的位则显示*/

putpixel(x + i * 8 + k, y + j, color);

}

void reload ( void )

{

char welcome[] = {

/* 以下是 '欢' 的 16点阵宋体 字模,32 byte */

0x00,0x80,0x00,0x80,0xFC,0x80,0x05,0xFE,

0x85,0x04,0x4A,0x48,0x28,0x40,0x10,0x40,

0x18,0x40,0x18,0x60,0x24,0xA0,0x24,0x90,

0x41,0x18,0x86,0x0E,0x38,0x04,0x00,0x00,

/* 以下是 '迎' 的 16点阵宋体 字模,32 byte */

0x40,0x00,0x21,0x80,0x36,0x7C,0x24,0x44,

0x04,0x44,0x04,0x44,0xE4,0x44,0x24,0x44,

0x25,0x44,0x26,0x54,0x24,0x48,0x20,0x40,

0x20,0x40,0x50,0x00,0x8F,0xFE,0x00,0x00,

/* 以下是 '使' 的 16点阵宋体 字模,32 byte */

0x08,0x40,0x0C,0x40,0x1B,0xFE,0x10,0x40,

0x37,0xFC,0x64,0x44,0xA4,0x44,0x27,0xFC,

0x24,0x44,0x22,0x40,0x21,0x80,0x20,0x80,

0x21,0x70,0x22,0x1E,0x2C,0x04,0x00,0x00,

/* 以下是 '用' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x1F,0xFC,0x10,0x84,0x10,0x84,

0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,

0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,

0x20,0x84,0x20,0x84,0x40,0x94,0x80,0x88,

/* 以下是 '学' 的 16点阵宋体 字模,32 byte */

0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,

0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,

0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,

0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,

/* 以下是 '生' 的 16点阵宋体 字模,32 byte */

0x00,0x80,0x10,0xC0,0x10,0x80,0x10,0x88,

0x1F,0xFC,0x20,0x80,0x20,0x80,0x40,0x88,

0x9F,0xFC,0x00,0x80,0x00,0x80,0x00,0x80,

0x00,0x80,0x00,0x84,0x7F,0xFE,0x00,0x00,

/* 以下是 '档' 的 16点阵宋体 字模,32 byte */

0x10,0x00,0x10,0x20,0x12,0x24,0x11,0x24,

0xFE,0xA8,0x10,0xB0,0x3B,0xFE,0x34,0x02,

0x54,0x02,0x51,0xFE,0x90,0x02,0x10,0x02,

0x10,0x02,0x13,0xFE,0x10,0x02,0x10,0x00,

/* 以下是 '案' 的 16点阵宋体 字模,32 byte */

0x02,0x00,0x01,0x00,0x3F,0xFC,0x22,0x08,

0x04,0x40,0x7F,0xFC,0x0C,0x80,0x03,0x80,

0x1E,0x60,0x01,0x20,0x7F,0xFE,0x03,0x40,

0x0D,0x30,0x71,0x0E,0x01,0x04,0x01,0x00,

/* 以下是 '管' 的 16点阵宋体 字模,32 byte */

0x20,0x80,0x3E,0xFC,0x51,0x20,0x8A,0x10,

0x01,0x00,0x7F,0xFE,0x40,0x04,0x1F,0xE0,

0x10,0x20,0x1F,0xE0,0x10,0x00,0x1F,0xF0,

0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,

/* 以下是 '理' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x03,0xFC,0xFA,0x44,0x22,0x44,

0x23,0xFC,0x22,0x44,0xFA,0x44,0x23,0xFC,

0x22,0x44,0x20,0x40,0x23,0xFC,0x38,0x40,

0xC0,0x40,0x00,0x40,0x0F,0xFE,0x00,0x00,

/* 以下是 '系' 的 16点阵宋体 字模,32 byte */

0x00,0x7C,0x3F,0x80,0x02,0x20,0x04,0x20,

0x08,0x40,0x1F,0x80,0x03,0x20,0x0C,0x10,

0x3F,0xF8,0x10,0x8C,0x04,0xA0,0x08,0x90,

0x10,0x88,0x20,0x84,0x42,0x84,0x01,0x00,

/* 以下是 '统' 的 16点阵宋体 字模,32 byte */

0x10,0x40,0x10,0x20,0x23,0xFE,0x20,0x40,

0x44,0x40,0xF8,0x88,0x09,0x04,0x13,0xFE,

0x20,0x94,0x7C,0x90,0x00,0x90,0x00,0x90,

0x1D,0x12,0xE1,0x12,0x02,0x0E,0x04,0x00,

};

char myname[] = {

/* 以下是 '作' 的 16点阵宋体 字模,32 byte */

0x08,0x80,0x0C,0x80,0x09,0x00,0x13,0xFE,

0x12,0x80,0x34,0x88,0x50,0xFC,0x90,0x80,

0x10,0x80,0x10,0x84,0x10,0xFE,0x10,0x80,

0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,

/* 以下是 '者' 的 16点阵宋体 字模,32 byte */

0x01,0x00,0x01,0x08,0x3F,0xEC,0x01,0x10,

0x01,0x20,0x7F,0xFE,0x00,0x80,0x03,0x00,

0x07,0xF8,0x1C,0x08,0xE4,0x08,0x07,0xF8,

0x04,0x08,0x04,0x08,0x07,0xF8,0x04,0x08,

/* 以下是 ':' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,

0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,

/* 以下是 ' ' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/* 以下是 ' ' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/* 以下是 ' ' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/* 以下是 '周' 的 16点阵宋体 字模,32 byte */

0x00,0x00,0x1F,0xFC,0x10,0x84,0x13,0xE4,

0x10,0x84,0x10,0x84,0x17,0xF4,0x10,0x04,

0x13,0xE4,0x12,0x24,0x12,0x24,0x13,0xE4,

0x22,0x24,0x20,0x04,0x40,0x14,0x80,0x08,

/* 以下是 '金' 的 16点阵宋体 字模,32 byte */

0x01,0x00,0x01,0x00,0x02,0x80,0x04,0x40,

0x08,0x30,0x30,0x0E,0xCF,0xF4,0x01,0x00,

0x01,0x00,0x3F,0xF8,0x01,0x00,0x09,0x20,

0x05,0x20,0x05,0x40,0xFF,0xFE,0x00,0x00,

/* 以下是 '财' 的 16点阵宋体 字模,32 byte */

0x00,0x08,0x7E,0x08,0x42,0x08,0x4A,0x08,

0x4A,0xFE,0x4A,0x18,0x4A,0x18,0x4A,0x28,

0x4A,0x28,0x4A,0x48,0x08,0x48,0x14,0x88,

0x12,0x08,0x23,0x08,0x42,0x28,0x80,0x10,

};

int driver = DETECT ,mode;

int i;

initgraph( &driver , &mode , "");

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

{

drawmat(welcome + i * 32, 16, 230 + i * 15, 100, YELLOW);

}

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

{

drawmat(myname + i * 32, 16, 250 + i * 15, 120, YELLOW);

}

outtextxy (264 , 300 , "Loading...");

setcolor( 2 );

bar(184 , 320 , 449 , 328 );

sleep( 1 );

setfillstyle(SOLID_FILL,LIGHTGREEN);

bar(184 , 320 , 214 , 328 );

sleep( 1 );

bar(214 , 320 , 261 , 328 );

sleep( 1 );

bar(261 , 320 , 308 , 328 );

sleep( 1 );

bar(308 , 320 , 355 , 328 );

sleep( 1 );

bar(355 , 320 , 402 , 328 );

sleep( 1 );

bar( 402 , 320 , 449 , 328 );

sleep( 1 );

closegraph( );

return;

}

char menu( void )

{

char choice;

clrscr();

gotoxy( 17 , 5 );

printf(" ===================================== ");

gotoxy(17 , 6);

printf(" I----------->input the information ");

gotoxy(17 , 7);

printf(" S----------->show all information ");

gotoxy(17 , 8);

printf(" ================================= ");

gotoxy(17 , 9);

printf(" M----------->modify the information ");

gotoxy(17 , 10);

printf(" A----------->add the information ");

gotoxy(17 , 11);

printf(" D----------->delete the information ");

gotoxy(17 , 12);

printf(" F----------->find the information ");

gotoxy(17 , 13);

printf(" ================================= ");

gotoxy(17 , 14);

printf(" Q----------->quit the system ");

gotoxy(17 , 15);

printf(" ===================================== ");

gotoxy(17 , 16);

printf("Please input your choice:");

scanf("%c",&choice);

return choice ;

}

/*---------------------------------------------------------------------*/

/*输入函数*/

/*成功返回0,否则返回其他*/

int input(link pSCHeadfp, int iTStudentfp)

{

void inputInterface( void );

void readdata(link);

int i;

link pSCTemp = pSCHeadfp->next;

if (pSCHeadfp == NULL)

{

puts("There something wrong in input function!\n\n\t");

puts("Press any key to continue!\n\t");

getch();

return 1;

}

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

{

inputInterface();

gotoxy(8, 3);

printf("There are already %d students include this one!", iTStudentfp - i);

readdata(pSCTemp);

pSCTemp = pSCTemp->next;

}

return 0;

}

/*输入界面过程*/

void inputInterface( void )

{

clrscr();

gotoxy(8, 5);

puts("Name :");

gotoxy(8, 7);

puts("Number :");

gotoxy(8, 9);

puts("Sex(F&M) :");

gotoxy(8, 11);

puts("Age :");

gotoxy(8, 13);

puts("Class :");

gotoxy(8, 15);

puts("Telephone :");

gotoxy(8, 17);

puts("Address :");

}

/*读入数据*/

void readdata(link pSCTempfp)

{

gotoxy(20, 5);

scanf("%s", pSCTempfp->name);

gotoxy(20, 7);

scanf("%d", &pSCTempfp->number);

gotoxy(20, 9);

getchar(); //取消回车符的录入

pSCTempfp->sex = getchar();

gotoxy(20, 11);

scanf("%d", &pSCTempfp->age);

gotoxy(20, 13);

scanf("%d", &pSCTempfp->squad);

gotoxy(20, 15);

scanf("%s", pSCTempfp->telephone);

gotoxy(20, 17);

scanf("%s", pSCTempfp->address);

}

/*---------------------------------------------------------------------*/

/*输出数据信息*/

/*成功则返回1,否则返回其他*/

int show(link pSCHeadfp)

{

void printHead(void);

int printData(link);

link pSCTemp = pSCHeadfp;

clrscr();

if (pSCHeadfp == NULL)

{

gotoxy(8, 3);

puts("There somthing wrong in show function!");

gotoxy(8, 4);

puts("Press any key to continue!");

getch();

return 0;

}

printHead();

while (pSCTemp->next != NULL)

{

pSCTemp = pSCTemp->next;

printData(pSCTemp);

}

return 1;

}

/*打印表头*/

void printHead( void )

{

gotoxy(1, 5);

puts("Name");

gotoxy(15, 5);

puts("Number");

gotoxy(25, 5);

puts("Sex");

gotoxy(30, 5);

puts("Age");

gotoxy(40, 5);

puts("Class");

gotoxy(50, 5);

puts("Telephone");

gotoxy(60, 5);

puts("Address");

}

/*输出数据*/

/*成功则返回1,否则返回其他*/

int printData(link pSCTempfp)

{

static int line = 6;

if (pSCTempfp == NULL)

{

gotoxy(8, 3);

puts("There is something wrong in show function!");

gotoxy(8, 4);

puts("Press any key to continue!");

getch();

return 0;

}

gotoxy(1, line);

puts(pSCTempfp->name);

gotoxy(15, line);

printf("%d", pSCTempfp->number);

gotoxy(25, line);

putchar(pSCTempfp->sex);

gotoxy(30, line);

printf("%d", pSCTempfp->age);

gotoxy(40, line);

printf("%d", pSCTempfp->squad);

gotoxy(50, line);

puts(pSCTempfp->telephone);

gotoxy(60, line);

puts(pSCTempfp->address);

++line;

return 1;

}

/*---------------------------------------------------------------------*/

/*查找函数*/

/*找到则返回1,没找到返回0,返回其他则失败*/

link find(link pSCHeadfp)

{

void printHead(void);

int printData(link);

link pSCTemp = pSCHeadfp;

int iFNumber;

int isExist = 0;/*判断是否存在元素,存在则置1,否则置0*/

clrscr();

if (pSCHeadfp == NULL)

{

gotoxy(4, 2);

puts("There is something wrong in find function!");

gotoxy(4, 3);

puts("Press any key to continue!");

getch();

return NULL;

}

gotoxy(4, 4);

puts("Please input the number that you want to find: ");

scanf("%d", &iFNumber);

while (pSCTemp->next != NULL)

{

pSCTemp = pSCTemp->next;

if (pSCTemp->number == iFNumber)

{

isExist = 1;

break;

}

else

{

isExist = 0;

}

}

if (isExist == 1) /*找到*/

{

printHead();

printData(pSCTemp);

return pSCTemp;

}

else

{

gotoxy(4, 6);

puts("Sorry! You havn't input the student!");

return NULL;

}

}

/*---------------------------------------------------------------------*/

/*修改函数*/

/*成功则返回1,否则返回其他*/

int modify(link pSCHeadfp)

{

link find(link);

link pSCTemp = pSCHeadfp;

char *pstemp, stemp[10];

char *str[7] = {

"name", "number", "sex","age",

"squad", "telephone", "address"

};

int i;

pSCTemp = find(pSCHeadfp);

clrscr();

if (pSCTemp != NULL)/*存在此记录*/

{

gotoxy(4, 4);

printf("Which field do you want to modify? ");

scanf("%s", stemp);

pstemp = stemp;

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

{

if (strcmp(pstemp, str[i]) == 0)

{

break;

}

}

gotoxy(4, 5);

switch (i)

{

case 0:

{

printf("The old data of the field is :%s\n\t", pSCTemp->name);

printf("The new data is : ");

scanf("%s", pSCTemp->name);

}

break;

case 1:

{

printf("The old data of the field is :%d\n\t", pSCTemp->number);

printf("The new data is : ");

scanf("%d", &pSCTemp->number);

}

break;

case 2:

{

printf("The old data of the field is :%c\n\t", pSCTemp->sex);

printf("The new data is :");

getchar();

scanf("%c", &pSCTemp->sex);

}

break;

case 3:

{

printf("The old data of the field is :%d\n\t", pSCTemp->age);

printf("The new data is :");

getchar();

scanf("%c", &pSCTemp->age);

}

break;

case 4:

{

printf("The old data of the field is :%d\n\t", pSCTemp->squad);

printf("The new data is :");

scanf("%d", &pSCTemp->squad);

}

break;

case 5:

{

printf("The old data of the field is :%s\n\t", pSCTemp->telephone);

printf("The new data is :");

scanf("%s", pSCTemp->telephone);

}

break;

case 6:

{

printf("The old data of the field is :%s\n\t", pSCTemp->address);

printf("The new data is :");

scanf("%s", pSCTemp->address);

}

break;

case 7:

{

printf("There is no that field!\n\t");

printf("Press any key to return!");

getch();

return -1;

}

}

gotoxy(4, 25);

printf("OK! We have modified the record! And press any key to return!");

getch();

}

else

{

gotoxy(4, 4);

puts("There is no that student!");

gotoxy(4, 5);

puts("Press any key to ruturn!");

getch();

return 0;

}

return 1;

}

/*---------------------------------------------------------------------*/

/*添加数据函数*/

/*成功则返回1,否则返回其他*/

int add(link pSCLinkfp)

{

void inputInterface( void );

void readdata(link);

gotoxy(8, 4);

printf("Please input the information you want to add :");

inputInterface();

readdata(pSCLinkfp);

return 1;

}

/*---------------------------------------------------------------------*/

/*删除数据函数*/

/*成功则返回1,否则返回其他*/

int erase(link pSCHeadfp)

{

link find(link);

link pSCTemp, pSCTPrior = pSCHeadfp;

pSCTemp = find(pSCHeadfp);

clrscr();

if (pSCTemp != NULL)/*存在*/

{

while (pSCHeadfp->next != pSCTemp)

{

pSCTPrior = pSCTPrior->next;

}

pSCTPrior->next = pSCTemp->next;

free(pSCTemp);

gotoxy(4, 4);

puts("The record have delete successful!");

gotoxy(4, 6);

puts("Press any key to return!");

getch();

}

else

{

gotoxy(4, 4);

puts("There is no that student!");

gotoxy(4, 5);

puts("Press any key to ruturn!");

getch();

return 0;

}

return 1;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有