好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

#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(\ getchar(); }

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

int i,j;

printf(\===\\n\

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

printf(\===\\n\

for(i=0;i

printf(\ %s %s %s %d\;

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

printf(\ %.1f\ printf(\ }

stop(); }

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

if(access(\ /*判断文件是否存在*/

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

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

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

FILE *fp;

if((fp=fopen(\创建二进制文件*/ {

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

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

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

printf(\请输入学生人数:\显示\请输入学生人数:\ scanf(\ for(i=0;i

printf(\请输入第 %d个学生的学号:\显示\请输入第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(\

printf(\语言成绩:\显示\语言成绩\ scanf(\

printf(\高数成绩:\显示\高数成绩\ scanf(\

printf(\大物成绩:\显示\大物成绩\ scanf(\

printf(\电路成绩:\显示\电路成绩\ scanf(\

printf(\模电成绩:\显示\模电成绩\ scanf(\

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

fclose(fp);

printf(\

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

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

FILE *fp;

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

fp=fopen(\

if(fp==NULL) /*数据文件不存在*/ {

printf(\文件打开失败!重新运行程序\\n\显示\文件打开失败!重新运行程序\ exit(0); }

while(!feof(fp)) /*文件结束检测\ {

fread(&stu[num],1,sizeof(struct student),fp); num++; }

num--; fclose(fp);

printf(\

printf(\现有 %d 个学生的成绩:\\n\显示\现有 NUM个学生的成绩:\ printf(\ output(); }

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

char c1; while(1) {

printf(\ printf(\ 维护 *\\n\

printf(\ 1. 新增 *\\n\新增*/

printf(\ 2. 删除 *\\n\删除(按学号)*/ printf(\ 3. 修改 *\\n\修改*/ printf(\ 9. 返回 *\\n\返回*/ printf(\ printf(\请选择:\\n\请选择:*/ c1=getchar(); getchar(); if(c1=='9') break; switch(c1) {

case '1': new1(); break; case '2': delete1();

case '3': xiugai(); break; default:

printf(\选择有误,请重选!\\n\选择有误,请重选!\ } } }

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

printf(\请输入学号:\显示\请输入学号:\

gets(stu[num].no);

printf(\显示\ gets(stu[num].name);

printf(\班级:\显示\班级:\ gets(stu[num].grade);

printf(\专业:\显示\专业:\ gets(stu[num].pro);

printf(\入学年:\显示\入学年\ scanf(\

printf(\语言成绩:\显示\语言成绩\ scanf(\

printf(\高数成绩:\显示\高数成绩\ scanf(\

printf(\大物成绩:\显示\大物成绩\ scanf(\

printf(\电路成绩:\显示\电路成绩\ scanf(\

printf(\模电成绩:\显示\模电成绩\ scanf(\ num++;

printf(\

printf(\现有 %d个学生的成绩:\\n\显示\现有 NUM个学生的成绩:\ printf(\ output(); }

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

char xg[11]; int i;

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

#include#include#include#include/*strcmp函数原型包含*/#defineN100/*定义最大学生人数为100*/structstudent/*学生结构体定义*/{charno[11];/
推荐度:
点击下载文档文档为doc格式
9g9xr33etv5136q5t3t485bn78arf200cmb
领取福利

微信扫码领取福利

微信扫码分享