17070047 / 17070047/CodeStructureCourse

刘承坤

オープン
#100 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
16
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

説明

```c
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define m 20
#define max 100
typedef struct studentnode{
char cardnum[m];
char name[m];
char classnum[m];
char college[m];
}node;
typedef struct{
node r[max+1];
int length;
}table;
void sort(table *tab,int left,int right)
{
int i,j;
if(leftr[0]=tab->r[i];
do
{
while(strcmp(tab->r[j].cardnum,tab->r[0].cardnum)==1&&ir[i]=tab->r[j];
i++;
}
while(strcmp(tab->r[i].cardnum,tab->r[0].cardnum)==-1&&ir[j]=tab->r[i];j--;}
}while(i!=j);
tab->r[i]=tab->r[0];
sort(tab,left,i-1);
sort(tab,i+1,right);
}
}
void creat(table *tab)
{
int i,j,k;
printf("请输入结点个数:\n");
scanf("%d",&tab->length);
tab->length++;
getchar();
for(i=1;ilength;i++)
{/*
printf("请输入卡号:\n");
gets(tab->r[i].cardnum);
printf("请输入名字:\n");
gets(tab->r[i].name);
printf("请输入班号:\n");
gets(tab->r[i].classnum);
printf("请输入系别:\n");
gets(tab->r[i].college);
printf("\n");*/
printf("请输入卡号:\t\t请输入名字:\t\t请输入班号:\t\t请输入系别:\n");
scanf("%s%s%s%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
}
printf("创建完成\n");
}
void find(table *tab)
{
int i,j;
char object[m];
printf("请输入你要查找的系别:\n");
gets(object);
for(i=1;ilength;i++)
{
if(strcmp(object,tab->r[i].college)==0)
{
printf("卡号:\t\t名字:\t\t班号:\t\t系别:\n");
printf("%s\t%s\t\t%s\t%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
}
}
}
void display(table *tab)
{
int i;
for(i=1;ilength;i++)
{
printf("卡号:\t\t名字:\t\t班号:\t\t系别:\n");
printf("%s\t%s\t\t%s\t%s",tab->r[i].cardnum,tab->r[i].name,tab->r[i].classnum,tab->r[i].college);
}
}
int main()
{
int i;
table *tab;
tab=(table *)malloc(sizeof(table));
creat(tab);
sort(tab,1,tab->length-1);
display(tab);
while(scanf("%d",&i)!=EOF)
{
getchar();
find(tab);
}
return 0;
}
```
![c 2 l_w2 lfcc wqx0m](https://user-images.githubusercontent.com/40973677/49795969-5c38e180-fd76-11e8-9a74-9fef090c6ad9.png)

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

The issue contains a C program for managing student records with sorting and search functions. The bug is not explicitly stated, but the code may have issues with input handling, memory allocation, or sorting logic. Start by compiling and running the program to see if it crashes or produces incorrect output. Examine the sort function's use of strcmp return values (1, -1) which may not be portable, and check for buffer overflows in scanf calls. The main entry point is the main() function; test with sample data to verify the sorting and search by college work correctly.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
c
領域
cli
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。