17070047 / 17070047/CodeStructureCourse
刘付越
- Dominant language
- C++
- Stars
- 16
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description

```c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define maxsize 1000
typedef struct node /*借书证信息的结构体*/
{
int keycard;
int depart,clas;
char name[100];
}lib;
typedef struct nod
{
lib s[maxsize];
int length;
}table;
table *create() /*录入学生信息*/
{
table *q;
int i;
q=(table*)malloc(sizeof(table));
printf("输入学生的人数");
scanf("%d",&q->length);
getchar();
q->s[0].clas=0;
q->s[0].depart=0;
q->s[0].keycard=0;
q->s[0].name[100]='\0';
for(i=1;i<=q->length;i++)
{
printf("输入学生信息:借阅卡号 系号 班级\n");
scanf("%d%d%d",&q->s[i].keycard,&q->s[i].depart,&q->s[i].clas);
printf("名字 ");
getchar();
scanf("%s",&q->s[i].name);
getchar();
}
return q;
}
void *quicksort(table *q,int left,int right) /*以借书卡号为关键字快速排序*/
{
int i,j,k;
if(lefts[0].keycard=q->s[i].keycard;
q->s[0].clas=q->s[i].clas;
q->s[0].depart=q->s[i].depart;
strcpy(q->s[0].name,q->s[i].name);
do
{
while(q->s[j].keycard>q->s[0].keycard) j--;
if(is[i].clas=q->s[j].clas;
q->s[i].depart=q->s[j].depart;
q->s[i].keycard=q->s[j].keycard;
strcpy(q->s[i].name,q->s[j].name);
i++;
}
while(q->s[i].keycards[0].keycard&&is[j].keycard=q->s[i].keycard;
q->s[j].depart=q->s[i].depart;
q->s[j].clas=q->s[i].clas;
strcpy(q->s[j].name,q->s[i].name);
j--;
}
}while(i!=j);
q->s[i].keycard=q->s[0].keycard;
q->s[i].clas=q->s[0].clas;
q->s[i].depart=q->s[0].depart;
strcpy(q->s[i].name,q->s[0].name);
quicksort(q,left,i-1);
quicksort(q,i+1,right);
}
}
void print(table *q)
{
int k;
for(k=1;k<=q->length;k++)
{
printf("学生姓名%s\n",q->s[k].name);
printf("借阅卡号%d\n所在系%d\n班级%d\n\n",q->s[k].keycard,q->s[k].depart,q->s[k].clas);
}
}
void seqsearch(table *q,int m)
{
int i;
for(i=1;i<=q->length;i++)
{
if(q->s[i].depart==m)
{
printf("姓名%s \n",q->s[i].name);
printf("借阅卡号%d\n班级%d\n",q->s[i].keycard,q->s[i].clas);
}
}
}
int main()
{
table *q;
int left,right,m,n,g;
do
{
printf("\n-------------菜单-------------\n1.录入学生借阅卡信息\n2.将录入的信息按照借阅卡号排序\n3.查找某系的学生的借阅卡信息\n请输入您要操作的项目序号:");
scanf("%d",&n);
if(n==1)
q=create();
else if(n==2)
{
left=1;
right=q->length;
quicksort(q,left,right);
printf("按借阅卡号排序结果\n\n");
print(q);
}
else if(n==3)
{
printf("输入要查找的系号");
scanf("%d",&m);
printf("%d系的学生借阅卡信息如下\n\n",m);
seqsearch(q,m);
}
printf("\n如果您要继续操作请输入1退出请输入-1\n");
scanf("%d",&g);
}while(g==1);
system("pause");
return 0;
}
```

2h si s gs](https://user-images.githubusercontent.com/45326956/49653296-6fdf0200-fa6f-11e8-9056-1fb859974513.png)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.