17070047 / 17070047/CodeStructureCourse

赵家敏

Offen
#77 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C++
Sterne
16
Forks
2
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

```c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
# define MAXSIZE 1000

struct student
{
int number;//卡号
char name[8];//名字
char major[20];//专业
int classnumber;//班号
};

typedef struct
{
student r[MAXSIZE+1];
int length;
}table;

table creat(table tab)
{
int x,i;
printf("请输入成员个数:\n");
scanf("%d",&x);
tab.length=x;
printf("请输入成员信息:\n");
for(i=1;i<=x;i++)
{
printf("请输入卡号:\n");
scanf("%d",&tab.r[i].number);
printf("请输入姓名:\n");
scanf("%s",tab.r[i].name);
printf("请输入专业:\n");
scanf("%s",tab.r[i].major);
printf("请输入班号:\n");
scanf("%d",&tab.r[i].classnumber);
}
return tab;
}

void output(table *tab)
{
int i;
for(i=1;i<=tab->length;i++)
{

printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}
}

void output1(table *tab)
{
int i;
printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}

table *quicksort(table *tab,int left,int right)
{
int i,j;
if(leftr[0]=tab->r[i];
do
{
while(tab->r[j].number>tab->r[0].number&&ir[i]=tab->r[j];
i++;
}
while(tab->r[i].numberr[0].number&&ir[j]=tab->r[i];
j--;
}
}while(i!=j);
tab->r[j]=tab->r[0];
quicksort(tab,left,i-1);
quicksort(tab,i+1,right);
}
return tab;
}

void search(table *tab)
{
int i=1;
char major[20];
printf("请输入要查找的专业:");
scanf("%s",&major);
while(i<=tab->length)
{

if(!strcmp(major,tab->r[i].major))
{
printf("卡号:%d\n",tab->r[i].number);
printf("姓名:%s\n",tab->r[i].name);
printf("专业:%s\n",tab->r[i].major);
printf("班号:%d\n",tab->r[i].classnumber);
}
i++;
}
}

int main()
{
int x,select=1;
table tab,*tab1;
int left,right;
tab=creat(tab);
while(select)

{
printf("请输入选择: \n");
scanf("%d",&x);
switch(x)
{
case 1:output(&tab);break;
case 2:
{
tab1=quicksort(&tab,1,tab.length);
output(tab1);
break;}
case 3:search(&tab);break;
case 4:select=0;printf("退出成功");break;
default:printf("请重新输入!!!");
}
}
return 0;
}
```
![8 lgpst 10lo0s 8apyh3](https://user-images.githubusercontent.com/45332466/49653644-8afe4180-fa70-11e8-9b6d-2ec8cc9d5ae9.png)
![x6_b9 rxwunyz z 6 o zq2](https://user-images.githubusercontent.com/45332466/49653646-8df93200-fa70-11e8-852d-37cfefe9c0ce.png)
![zx42u 8_99 enk808 8 h](https://user-images.githubusercontent.com/45332466/49653650-90f42280-fa70-11e8-9e7c-025291c3a696.png)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

The issue contains a C program for student record management with sorting and search functions. The bug is not explicitly described; the user posted code and images. Start by examining the code for logical errors, such as the undefined variable 'i' in output1() or potential buffer overflows in scanf. Run the program, test each menu option, and compare the output with expected behavior. The images might show runtime errors or incorrect output.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c
Bereich
cli
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.