江苏网友来相约

江苏的网友,不如来这里相约吧,我是江苏省海门市人,这里也许能找到你知心朋友。

103 成员713 主题4,022 回复0 张照片

program(thstud_1.c)

*
*龙翱九天*
2001-03-19 20:40
/* 应用指针和结构数组处理学生信息。 hstud_1.c */
/* */
/* 学号:20015101 姓名:李为民 日期:2001.2 */

#include <stdio.h>
#include <string.h>
#define N 35

struct date /* 日期结构 */
{
int year;
char month;
char day;
};

struct student /* 学生信息结构 */
{
char no[9];
char name[9];
char sex[3];
struct date birthday;
int score[4];
};

#include "stfun_1.c" /* 处理学生信息的函数 */

main ()
{
struct student stud[N]; /* 学生信息结构数组 */
struct student *pname[N]; /* 姓名指针数组 */
struct student *ptscore[N]; /* 总分指针数组 */
int code,i; /* 菜单代码 */
int n=0; /* 实际学生数 */
int flag_score=0; /* 已按学号排序 flag_score=1 */
int flag_name=0; /* 已按姓名排序 flag_name=1 */

clrscr(); /* 库函数, 清屏 */
readsi(stud,&n); /* 从正文文件 studf.txt读入数据, */
/* 建立学生信息结构数组 */

printf("\n 未排序学生信息:\n\n");
printsi(stud,n); /* 显示学生信息 */

sort_no(stud,n); /* 按学号排序 */

printf("\n\n 已排序学生信息:\n\n");
printsi(stud,n);

printf("\n 按 <Enter>,进入菜单:");
scanf("%*c");

while (1)
{
clrscr();
code=menu_1();
switch (code)
{
case 0:
exit(0);
case 1:
printsi(stud,n);
scanf("%*2c");break;
case 2:
for (i=0;i<n;i++)
pname[i]=&stud[i];
sort_name(pname,n);
printsi(stud,n);printf("\n\n");
printsi_name(pname,n);
flag_name=1;
scanf("%*2c");break;
case 3:
for (i=0;i<n;i++)
ptscore[i]=&stud[i];
sort_tscore(ptscore,n);
printsi(stud,n);printf("\n\n");
printsi_tscore(ptscore,n);
flag_score=1;
scanf("%*2c");break;
case 4:
srch_no(stud,n);
scanf("%*2c");break;
case 5:
if (flag_name==0)
{
for (i=0;i<n;i++)
pname[i]=&stud[i];
sort_name(pname,n);
flag_name=1;
}
srch_name(pname,n);
scanf("%*2c");break;
case 6:
if (flag_score==0)
{
for (i=0;i<n;i++)
ptscore[i]=&stud[i];
sort_tscore(ptscore,n);
flag_score=1;
}
srch_tscore(ptscore,n);
scanf("%*2c");break;
case 7:
find_ave(stud,n);
scanf("%*2c");break;
case 8:
find_age(stud,n);
scanf("%*2c");break;
case 9:
find_pnum(stud,n);
scanf("%*2c");break;
case 10:
printtable(stud,n);
scanf("%*2c");break;
}
}
}

1 / 1

登录后回复。