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 摘要。