17070047 / 17070047/CodeStructureCourse

王云晓

未关闭
#81 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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;
}
```
![u9st gxd5 8 j _0 quq26g](https://user-images.githubusercontent.com/45347526/49654661-6c4d7a00-fa73-11e8-8656-68bf975222ff.png)
![h 4xrd7a u9qoh17vk1 vh](https://user-images.githubusercontent.com/45347526/49654667-6fe10100-fa73-11e8-86a1-f14aa7b861d4.png)

贡献指南

这个仓库没有索引到贡献指南

调研方向

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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。