17070047 / 17070047/CodeStructureCourse
王云晓
- Lingua principale
- C++
- Stelle
- 16
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
```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;
}
```


Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c
- Ambito
- cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100