资源简介
c语言综合练习项目源码
代码片段和文件信息
#include
#define JUDEGNUM 3 /* 裁判数 */
#define NAMELEN 20 /* 姓名最大字符数 */
#define CODELEN 10 /* 号码最大字符数 */
#define FNAMELEN 80 /* 文件名最大字符数 */
#define BUFFSIZE 128 /* 缓冲区最大字符数 */
char judgement[JUDEGNUM][NAMELEN+1] = {“judgementA““judgementB““judgementC“};
struct AthleteScore
{
char name[NAMELEN+1]; /* 姓名 */
char code[CODELEN+1]; /* 学号 */
int score[JUDEGNUM]; /* 各裁判给的成绩 */
int total; /* 总成级 */
};
struct linkNode
{
char name[NAMELEN+1]; /* 姓名 */
char code[CODELEN+1]; /* 号码 */
int score[JUDEGNUM]; /* 各裁判给的成绩 */
int total; /* 总成级 */
struct linkNode *next;
}*head; /* 链表首指针 */
int total[JUDEGNUM]; /* 各裁判给的总成绩 */
FILE *filepoint; /* 文件指针 */
char filename[FNAMELEN];/* 文件名 */
/* 从指定文件读入一个记录 */
int GetRecord(FILE *fptstruct AthleteScore *sturecord)
{
char buf[BUFFSIZE];
int i;
if(fscanf(fpt“%s“buf)!=1)
return 0; /* 文件结束 */
strncpy(sturecord->namebufNAMELEN);
fscanf(fpt“%s“buf);
strncpy(sturecord->codebufCODELEN);
for(i=0;i fscanf(fpt“%d“&sturecord->score[i]);
for(sturecord->total=0i=0;i sturecord->total+=sturecord->score[i];
return 1;
}
/* 对指定文件写入一个记录 */
void PutRecord(FILE *fptstruct AthleteScore *sturecord)
{
int i;
fprintf(fpt“%s\n“sturecord->name);
fprintf(fpt“%s\n“sturecord->code);
for(i=0;i fprintf(fpt“%d\n“sturecord->score[i]);
return ;
}
/* 显示运动员记录 */
void ShowAthleteRecord(struct AthleteScore *rpt)
{
int i;
printf(“\nName : %s\n“rpt->name);
printf(“Code : %s\n“rpt->code);
printf(“score :\n“);
for(i=0;i printf(“ %-15s : %4d\n“judgement[i]rpt->score[i]);
printf(“Total : %4d\n“rpt->total);
}
/* 列表显示运动员成绩 */
void Listathleteinfo(char *fname)
{
FILE *fp;
struct AthleteScore s;
clrscr();
if((fp=fopen(fname“r“))==NULL)
{
printf(“Can‘t open file %s.\n“fname);
return ;
}
while(GetRecord(fp&s)!=0)
{
ShowAthleteRecord(&s);
}
fclose(fp);
return;
}
/* 构造链表 */
struct linkNode *Creatlinklist(char *fname)
{
FILE *fp;
struct AthleteScore s;
struct linkNode *p*u*v*h;
int i;
if((fp=fopen(fname“r“))==NULL)
{
printf(“Can‘t open file %s.\n“fname);
return NULL;
}
h=NULL;
p=(struct linkNode *)malloc(sizeof(struct linkNode));
while(GetRecord(fp(struct AthleteScore *)p)!=0)
{
v=h;
while(v&&p->total<=v->total)
{
u=v;
v=v->next;
}
if(v==h)
h=p;
else
u->next=p;
p->next=v;
p=(struct linkNode *)malloc(sizeof(struct linkNode));
}
free(p);
fclose(fp);
return h;
}
/* 顺序显示链表各表元 */
void Outputlinklist(struct linkNode *h)
{
clrscr();
while(h!=NULL)
{
ShowAthleteRecord((struct AthleteScore *)h);
printf(“\n“);
while(getchar()!=‘\n‘);
h=h->next;
}
return;
}
/* 按运动员姓名查找记录 */
int SearchbyName(char *fname char *key)
{
FILE *fp;
int c;
struct AthleteScore s;
clrscr();
if((fp=fopen(fnam
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6138 2006-12-19 09:05 score.c
- 上一篇:杀毒软件源码
- 下一篇:国密SM4加密_2020
相关资源
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- XUnZip Zip解压缩.rar
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- c++11语言基础
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
- 数据结构(C语言版)ppt课件,清华,
- c语言编程经典例题100例 word版
- C语言编译器的设计与实现.doc
- C语言基础教程.pdf56620
- C语言优先级
- funcode黄金矿工(C语言)
- C语言ege贪吃蛇游戏
- c语言dos窗口扫雷.c
评论
共有 条评论