您的位置:首页 > 编程语言 > C语言/C++

[C语言学习]作业十四

2006-01-21 23:35 288 查看
[C语言]作业号:LE (提交的作业可多次修改更新覆盖,截止至2004-05-22(星期六) 23时)
题目: 
1) 选取567班名单中,自己本宿舍4位同学的(昵称,姓名,学号,登录时间,在线)五项数据,作为结构体数组变量,在定义时赋值,再用双重循环,按“昵称”排序,显示输出。
2) 再仿照书205页的main函数,定义结构体指针变量,键盘输入学号后,调用found函数,如有该学号,输出相应的五项数据。
 全部C程序合并为一个cpp文件,调试正确后粘贴在下框内,提交作业。

--------------------------------------------------------------------------------
#include <stdio.h>
#define RENSHU 9
#define Null 0

/* 数据文本下载:http://stu.jxyd.net/30706/class7.txt */

struct list
{
char nickname[15];
char name[10];
int num;
char online[25];
int hits;
};
struct list class7[RENSHU],*sp;

struct data *found(int n)
{
int i;
for (i=0;(class7[i].num)!=Null;i++)
if (class7[i].num==n)
break;
return(&class7[i]);
}

void main()
{
int i=0,n,number;
FILE *fp;
fp = fopen("class7.txt","rb");
while( fread(&class7[i],sizeof(class7),1,fp)!=0);{i++;};
fclose(fp);
printf("请输入学号:");
scanf("%d",&number);
sp = found(number);
if (sp->num!=Null)
{
printf(">>昵称: %s/n",sp->nickname);
printf(">>姓名: %s/n",sp->name);
printf(">>学号: %d/n",sp->num);
printf(">>登陆时间: %s/n",sp->online);
printf(">>登陆次数: %d/n/n",sp->hits);
}
else
printf("没找到相应资料!/n");
printf("名单列表(y/n)? ");
if (getche()!='y') goto end;
sp=class7;
for(i=0;i<RENSHU;i++)
{ printf("/n>>昵称: %s/n",sp->nickname);
printf(">>姓名: %s/n",sp->name);
printf(">>学号: %d/n",sp->num);
printf(">>登陆时间: %s/n",sp->online);
printf(">>登陆次数: %d/n",sp->hits);
sp++;
}
end:{}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: