17070047 / 17070047/CodeStructureCourse
1607094126李然
- 主要语言
- C++
- 星标
- 16
- 派生
- 2
- PR 合并指标
- 30 天内没有已合并 PR
描述
```c
#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(leftr[0]=tab->r[i];
do
{
while(strcmp(tab->r[j].cardnum,tab->r[0].cardnum)==1&&ir[i]=tab->r[j];
i++;
}
while(strcmp(tab->r[i].cardnum,tab->r[0].cardnum)==-1&&ir[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;ilength;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;ilength;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;ilength;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);
while(scanf("%d",&i)!=EOF)
{
getchar();
find(tab);
}
return 0;
}
```




贡献指南
这个仓库没有索引到贡献指南
调研方向
The issue contains a C program with a student record management system. The code includes struct definitions, a quicksort implementation, and functions for creating, finding, and displaying records. The images are broken links. To understand the bug, examine the sort function's use of strcmp return values and the array indexing starting at 1. Run the program to see if it crashes or produces incorrect output. Check for memory leaks and buffer overflows in the input handling.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- c
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 20/100