17070047 / 17070047/CodeStructureCourse
刘付越
- 主要言語
- C++
- スター
- 16
- フォーク
- 2
- PR マージ指標
- 30日以内にマージされた PR はありません
説明

```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)
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
The issue contains a C program for a library card system with sorting and search functions. The problem is not described; the user posted code and images. To understand the issue, examine the code for bugs or missing features, run the program to see its behavior, and check if the images show errors. Start by compiling and testing the main() function in the provided code.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100