17070047 / 17070047/CodeStructureCourse

赵家敏

Đang mở
#77 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
16
Fork
2
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

```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)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
c
Lĩnh vực
cli
Loại issue
Lỗi
Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.