Skip to content

殷吉奎 #98

@zhaogejk

Description

@zhaogejk
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define m 20
#define max 100
typedef struct studentnode{
	char cardnum[m];
	char name[m];
	char classnum[m];
	char college[m];
}node;
typedef struct{
	node r[max+1];
	int length;
}table;
void sort(table *tab,int left,int right)
{
	int i,j;
	if(left<right)
	{
		i=left;
		j=right;
		tab->r[0]=tab->r[i];
		do
		{
			while(strcmp(tab->r[j].cardnum,tab->r[0].cardnum)==1&&i<j)j--;
			if(i<j)
			{
				tab->r[i]=tab->r[j];
				i++;
			}
			while(strcmp(tab->r[i].cardnum,tab->r[0].cardnum)==-1&&i<j)i++;
			if(i<j)
			{tab->r[j]=tab->r[i];j--;}
		}while(i!=j);
		tab->r[i]=tab->r[0];
		sort(tab,left,i-1);
		sort(tab,i+1,right);
	}
}
void creat(table *tab)
{
	int i,j,k;
	printf("请输入借书数:\n");
	scanf("%d",&tab->length);
	tab->length++;
	getchar();
	for(i=1;i<tab->length;i++)
	{
		printf("请输入卡号:\n");
		gets(tab->r[i].cardnum);
		printf("请输入名字:\n");
		gets(tab->r[i].name);
		printf("请输入班号:\n");
		gets(tab->r[i].classnum);
		printf("请输入系别:\n");
		gets(tab->r[i].college);
		printf("\n");
	}
	printf("创建完成\n");
}
void find(table *tab)
{
	int i,j;
	char object[m];
	printf("请输入你要查找的系别:\n");
	gets(object);
	for(i=1;i<tab->length;i++)
	{
		if(strcmp(object,tab->r[i].college)==0)
		{
			puts(tab->r[i].cardnum);
			puts(tab->r[i].name);
			puts(tab->r[i].classnum);
			puts(tab->r[i].college);
			printf("\n");
		}
	}
}
void display(table *tab)
{
	int i;
	for(i=1;i<tab->length;i++)
	{
		puts(tab->r[i].cardnum);
		puts(tab->r[i].name);
		puts(tab->r[i].classnum);
		puts(tab->r[i].college);
		printf("\n");
	}
}
int main()
{
	int i;
	table *tab;
	tab=(table *)malloc(sizeof(table));
	creat(tab);
	sort(tab,1,tab->length-1);
	display(tab);
	printf("请输入任意数字进行查询:\n");
	while(scanf("%d",&i)!=EOF)
	{
		getchar();
		find(tab);
	}
	return 0;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions