17070047 / 17070047/CodeStructureCourse

张美美

Abierto
#57 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
16
Forks
2
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

```c
# include "stdio.h"
# include "stdlib.h"
# include "string.h"
# define MAXSIZE 100
typedef struct{
int key;
char name[20];
int ID;
int xueyuan;
}student;
typedef struct{
student r[MAXSIZE+1];
int length;
}table;
void init(table *slt)
{
slt->length=0;
}
table creat(int n)
{
table slt;int k;
init(&slt);
for(k=1;k<=n;k++)
{
printf("\n请输入学号:");
scanf("%d",&slt.r[k].key);
printf("\n请输入姓名:");
scanf("%s",&slt.r[k].name);
printf("\n请输入身份证号:");
scanf("%d",&slt.r[k].ID);
printf("\n请输入系名:");
scanf("%d",&slt.r[k].xueyuan);
slt.length++;
}
return slt;
}
void quicksort(table *tab,int left,int right) /*按学号进行快速排序*/
{
int i,j;
if(leftr[0].key=tab->r[i].key;
tab->r[0].ID=tab->r[i].ID;
tab->r[0].xueyuan=tab->r[i].xueyuan;
strcpy(tab->r[0].name,tab->r[i].name);
do
{
while(tab->r[j].key>tab->r[0].key&&ir[i].key=tab->r[j].key;
tab->r[i].ID=tab->r[j].ID;
tab->r[i].xueyuan=tab->r[j].xueyuan;
strcpy(tab->r[i].name,tab->r[j].name);
i++;
}
while(tab->r[i].keyr[0].key&&ir[j].key=tab->r[i].key;
tab->r[j].ID=tab->r[i].ID;
tab->r[j].xueyuan=tab->r[i].xueyuan;
strcpy(tab->r[j].name,tab->r[i].name);
j--;
}
}while(i!=j);
tab->r[i].key=tab->r[0].key;
tab->r[i].ID=tab->r[0].ID;
tab->r[i].xueyuan=tab->r[0].xueyuan;
strcpy(tab->r[i].name,tab->r[0].name);
quicksort(tab,left,i-1);
quicksort(tab,i+1,right);
}
}
void print(table slt,int n) //输出函数
{
int i;
for(i=1;i<=n;i++)
{
printf("学号:%d ",slt.r[i].key);
printf("姓名:%s ",slt.r[i].name);
printf("身份证号:%d ",slt.r[i].ID);
printf("学院名:%d ",slt.r[i].xueyuan);
printf("\n");
}
}
void seqsearch(table l,int x) /*对某个学生按学号进行查找*/
{
int k=l.length-1;
while(k>=1&&l.r[k].key!=x)
k--;
printf("学号:%d ",l.r[k].key);
printf("姓名:%s ",l.r[k].name);
printf("身份证号:%d ",l.r[k].ID);
printf("学院名:%d ",l.r[k].xueyuan);
printf("\n");
}
void xyprint(table slt,int n) //系名索引查找
{
int i,j;
printf("\n请输入系名:");
scanf("%d",&i);
for(j=1;j<=n;j++)
{
if(slt.r[j].xueyuan==i)
{
printf("学号:%d ",slt.r[j].key);
printf("姓名:%s ",slt.r[j].name);
printf("身份证号:%d ",slt.r[j].ID);
printf("学院名:%d ",slt.r[j].xueyuan);
}
printf("\n");
}
}
int main()
{
int i,j,k;
int n,m;
table slt;
printf("请输入学生个数:\n");
scanf("%d",&n);
slt=creat(n);
while(1)
{
printf("/***************************************************/\n");
printf("排序并查找信息:选择1\n");
printf("退出:选择0\n");
printf("/***************************************************/\n");
scanf("%d",&j);
switch(j)
{
case 1:

quicksort(&slt,1,n);
print(slt,n);
printf("\n请输入要查找的学生学号:\n");
scanf("%d",&i);
seqsearch(slt,i);
xyprint(slt,n);
case 0:
break;
}
break;
}
return 0;
}
```
![s agb4y p8wstlv1z 82](https://user-images.githubusercontent.com/45326957/49647708-613c1f00-fa5e-11e8-913c-09db43d96a36.png)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

The issue contains a full C program for student record management with sorting and searching. The problem is not described; the user posted code and an image. To start, examine the code for bugs or improvements, run it to see its behavior, and check the image for context. The work likely involves fixing or refactoring the provided code, but the specific task is undefined.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c
Área
cli
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.