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("输入学生的人数\n");
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",&q->s[i].keycard);
printf("系号:\n");
scanf("%d",&q->s[i].depart);
printf("学号:\n");
scanf("%d",&q->s[i].clas);
printf("名字 \n ");
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);
}
return q;
}
void print(table *q)
{
int k;
for(k=1;k<=q->length;k++)
{
printf("学生姓名%s\n",q->s[k].name);
printf("卡号%d\n",q->s[k].keycard);
printf("系别%d\n",q->s[k].depart);
printf("班级%d\n",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",q->s[i].keycard);
printf("系别%d\n",q->s[i].depart);
printf("班级%d\n",q->s[i].clas);
}
}
}
int main()
{
table *q;
int left,right,m,n,i;
scanf("%d",&i);
while(i!=-1)
{
printf("\n**********************************菜单**********************************\n");
printf("1.录入信息\n");
printf("2.将录入的信息按照借阅卡号排序\n");
printf("3.查找某系的学生的借阅卡信息\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("*********************继续执行请按1,退出请按-1*******************");
}
system("pause");
return 0;
}
```


コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
The issue contains a C program for a student library card system with a menu for input, sorting, and search. The problem is not described; only code and images (unavailable) are provided. To start, examine the code for logical errors, memory issues, or incorrect sorting. Run the program to see its behavior, then identify what the user expects to be fixed. The main entry point is the main() function; check the quicksort implementation and the create() function for potential bugs.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100