C语言课程设计_学生成绩管理系统_完整版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

/* strcmp函数原型包含*/

#define N 100

/*定义最大学生人数为100*/

struct student /*学生结构体定义*/

{

char no[11]; /*学号,10位*/

char name[10];/*,3个汉字*/

char grade[10];/*班级*/

char pro[20];/*专业*/

float score[5];/*储存5门功课的成绩*/

float ave;/*储存平均分*/

int year;/*入学年*/

}stu[N];

int num;

void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/

void init(); /*系统初始化函数*/

void newfile(); /*建立新的数据文件*/

void read1(); /*从数据文件中读取数据*/

void weihu(); /*维护界面函数*/

void new1(); /*新增一个学生成绩函数*/

void xiugai(); /*修改学生成绩*/

void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/

void tongji(); /*统计界面函数*/

void tongji1(); /*计算每个学生平均分*/

void tongji2(); /*计算每门课程的平均分*/

void paixu1(); /*排序函数*/

void paino(); /*按学号排序*/

void paiave(); /*按平均分排序*/

void paidkcj(); /*按单科成绩排序*/

void change(int,int); /*交换结构体数组中的两个记录*/

void outputx(int); /*选择输出单科成绩*/

void find1(); /*查找界面函数*/

int find(char sno[]); /*按学号查找*/

int findname(charame[]);/*按查找*/

void findyear(int cyear); /*按入学年查找*/

void save(); /*保存文件*/

void stop(); /*停顿函数*/

void stop() /*停顿函数(公共函数)*/

{

printf("Press Any Key To Continue...\n");

getchar();

}

void output() /*输出学生成绩函数(公共函数)*/

{

int i,j;

printf("================================================================ ===\n");

printf("学号班级专业入学年C语言高数大物电路模电\n");

printf("================================================================ ===\n");

for(i=0;i

{

printf("%s %s %s %s %d",stu[i].no,stu[i].name,stu[i].grade,stu[i].pro,stu[i].year) ;

for(j=0;j<5;j++)

printf(" %.1f",stu[i].score[j]);

printf("\n");

}

stop();

}

void init() /*系统初始化函数*/

{

if(access("stu.dat",0)) /*判断文件是否存在*/

newfile(); /*若不存在,新建数据文件*/

else

read1(); /*若存在,读取数据*/

}

void newfile() /*建立新的数据文件*/

{

int i;

FILE *fp;

if((fp=fopen("stu.dat","wb"))==NULL) /*创建二进制文件*/

{

printf("创建文件失败,请重新运行程序.\n"); /*显示"创建文件失败,请重新运行程序"*/

exit(0); /*终止程序*/

}

printf("初次运行,进行数据初始化...\n");/*显示"初次运行,进行数据初始化..."*/

stop();

printf("请输入学生人数:");/*显示"请输入学生人数:"*/

scanf("%d",&num);

for(i=0;i

{

printf("请输入第%d个学生的学号:",i+1); /*显示"请输入第i+1个学生的学号:"*/ getchar(); /*吃回车*/

gets(stu[i].no);

printf(":"); /*显示":"*/

gets(stu[i].name);

printf("班级:"); /*显示"班级:"*/

gets(stu[i].grade);

printf("专业:"); /*显示"专业:"*/

gets(stu[i].pro);

printf("入学年n:");/*显示"入学年"*/

scanf("%d",&stu[i].year);

printf("C语言成绩:");/*显示"C语言成绩"*/

scanf("%f",&stu[i].score[0]);

printf("高数成绩:");/*显示"高数成绩"*/

scanf("%f",&stu[i].score[1]);

printf("大物成绩:");/*显示"大物成绩"*/

scanf("%f",&stu[i].score[2]);

printf("电路成绩:");/*显示"电路成绩"*/

scanf("%f",&stu[i].score[3]);

printf("模电成绩:");/*显示"模电成绩"*/

scanf("%f",&stu[i].score[4]);

fwrite(&stu[i],1,sizeof(struct student),fp); /*把第i+1名学生成绩写入文件*/

}

fclose(fp);

printf("========================\n");

printf(" 刚才输入的%d 个数据为:\n",num); /*显示"刚才输入的num 个数据为:"*/ printf("========================\n\n");

output();

}

void read1() /*从数据文件中读取数据*/

{

FILE *fp;

num=0; /*num为数据文件中实际存储的学生人数*/

相关文档
最新文档