当前位置:首页 >> 工学 >> c语言程序设计学生管理系统

c语言程序设计学生管理系统


#define _CRT_SECURE_NO_WARNINGS #include"stdio.h" #include"string.h" #include"stdlib.h" #define student_data "d:/学生数据" #define student_score "d:/学生成绩" int count = 0; struct student { int num,ksmc,zhmc; char name[15],add[15]; char sex; float chinese,math,english,ave,huping,pinde,teacher,zhcp; }; void daoruwenjian(struct student *stu) { FILE * fp; int i; fp = fopen( "d:/学生数据.txt", "w+"); if(fp == NULL) { printf("打开文件失败\n"); } printf("打开文件成功\n"); for(i=0; i<count; i++) { if(stu[i].num == 0) { continue; } fprintf(fp,"%d %s %c %s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].add); } fclose(fp); } void duchuwenjian(struct student *stu) { FILE * fp; int i=0,tmp=0; //读出文件 //导入文件

fp = fopen( "d:/学生数据.txt", "r"); if(fp == NULL) { printf("打开文件失败\n"); } printf("打开文件成功\n"); //如果直接输出文件数据 while(!feof(fp)) { fscanf(fp,"%d %s %c %s\n",&stu[i].num,stu[i].name,&stu[i].sex,stu[i].add); i++; tmp++; } if(count == 0) { count = tmp; } fclose(fp); fp = fopen( "d:/学生数据.txt", "r"); for(i=0; i<count; i++) { fscanf(fp,"%d %s %c %s\n",&stu[i].num,stu[i].name,&stu[i].sex,stu[i].add); } fclose(fp); } void daoruwenjian_score(struct student *stu) //导入文件 { FILE * fp; int i; fp = fopen( "d:/学生数据.txt", "w+"); if(fp == NULL) { printf("打开文件失败\n"); } printf("打开文件成功\n"); for(i=0; i<count; i++) {

fprintf(fp,"%d %s %c %s %f %f %f %f %d %f %f %f %f %d\n",stu[i].num,stu[i].name,stu[i].sex, stu[i].add,stu[i].chinese,stu[i].math,stu[i].english,stu[i].ave,stu[i].ksmc,stu[i].huping,stu[i].pinde,s tu[i].teacher,stu[i].zhcp,stu[i].zhmc); } fclose(fp); } void duchuwenjian_score(struct student *stu) //读出得分文件 { FILE * fp; int i=0,tmp =0; fp = fopen( "d:/学生数据.txt", "r"); if(fp == NULL) { printf("打开文件失败\n"); } printf("打开文件成功\n"); while(!feof(fp)) { fscanf(fp,"%d %s %c %s %f %f %f %f %d %f %f %f %f %d\n",&stu[i].num,stu[i].name,&stu[i].s ex,stu[i].add,&stu[i].chinese,&stu[i].math,&stu[i].english,&stu[i].ave,&stu[i].ksmc,&stu[i].huping, &stu[i].pinde,&stu[i].teacher,&stu[i].zhcp,&stu[i].zhmc); i++; tmp++; } if(count == 0) { count = tmp; } fclose(fp);

fp = fopen( "d:/学生数据.txt", "r"); for(i=0; i<count; i++) { fscanf(fp,"%d %s %c %s %f %f %f %f %d %f %f %f %f %d\n",&stu[i].num,stu[i].name,&stu[i].s

ex,stu[i].add,&stu[i].chinese,&stu[i].math,&stu[i].english,&stu[i].ave,&stu[i].ksmc,&stu[i].huping, &stu[i].pinde,&stu[i].teacher,&stu[i].zhcp,&stu[i].zhmc); } fclose(fp); } void shuzupaixu(struct student *stu) { struct student p; int i,j; for(i=0;i<count-1;i++) for(j=i+1;j<count;j++) if(stu[i].num>stu[j].num) { p = stu[i]; stu[i] = stu[j]; stu[j] = p; } //数组排序

}

void shuzupaixu_score(struct student *stu) { struct student p; int i,j; for(i=0;i<count-1;i++) for(j=i+1;j<count;j++) if(stu[i].zhcp>stu[j].zhcp) { p = stu[i]; stu[i] = stu[j]; stu[j] = p; } for(i=0;i<count;i++) stu[i].zhmc=i+1;

//成绩排序

for(i=0;i<count-1;i++) for(j=i+1;j<count;j++)

if(stu[i].ave>stu[j].ave) { p = stu[i]; stu[i] = stu[j]; stu[j] = p; } for(i=0;i<count;i++) stu[i].ksmc=i+1;

}

void shuruxuesheng() //输入学生信息 { int i; struct student info[100]; FILE *fp; for(i=0;;i++) { printf("\t 请输入学号(输入 0 退出) :"); scanf("%d",&info[i].num); if(info[i].num==0) break; printf("\t 请输入姓名:"); scanf("%s",info[i].name); printf("\t 请输入性别:"); fflush(stdin); scanf("%c",&info[i].sex); printf("\t 请输入家庭住址:"); scanf("%s",info[i].add); count++; } shuzupaixu(info); daoruwenjian(info); }

void xiugaixuesheng() //修改学生信息 { int i,j,check_num; struct student info[100]; duchuwenjian(info); /* printf("读出的信息\n"); for(i=0; i<count; i++) { printf("%d %s\n",info[i].num,info[i].name); }*/ printf("\n\t 请输入要修改的学生的学号:");//查找要修改的学生 scanf("%d",&check_num); printf("\n"); for(i=0; i<count; i++) { if(info[i].num==check_num) { break; } } if(info[i].num==check_num)//当学号存在时进行修改 { printf("修改的学生信息: 学号 \n"); printf(" %d",info[i].num); printf(" %s",info[i].name); printf(" %c",info[i].sex); printf(" %s",info[i].add); printf("\n\t 是否修改?1、是\t 2、否\t "); while(1) { scanf("%d",&j); switch(j) { case 1: { printf("\t 学号为:%d\n",info[i].num); printf("\t 请输入姓名:"); scanf("%s",info[i].name); printf("\t 请输入性别:"); fflush(stdin); scanf("%c",&info[i].sex); printf("\t 请输入家庭地址:"); scanf("%s",info[i].add); shuzupaixu(info); 姓名 性别 家庭地址

daoruwenjian(info); break; } case 2:break; default:printf("输入错误!请重新输入!");break; } break; } printf("\n\n\t\t"); system("pause"); } if(i == count )//学号不存在时进行插入操作 { printf("\n\t 学号不存在是否插入?1、是\t 2、否\t\n");

while(1) { scanf("%d",&j); switch(j) { case 1: { info[count].num = check_num; printf("\t 插入学号学号为:%d\n",info[count].num); printf("\t 请输入姓名:"); scanf("%s",info[count].name); fflush(stdin); printf("\t 请输入性别:"); scanf("%c",&info[count].sex); printf("\t 请输入家庭地址:"); scanf("%s",info[count].add); printf(" 要 插 入 的 息:%d %s %c %s\n",info[count].num,info[count].name,info[count].sex,info[count].add); count++; shuzupaixu(info); daoruwenjian(info); break;



} case 2:break; default:printf("输入错误!请重新输入!");break; } break; } printf("\n\n\t\t"); system("pause"); } } void shanchuxuesheng() //删除学生信息 { int i,j,check_num; struct student info[100]; duchuwenjian(info); printf("\n\t 请输入要删除的学生的学号:"); scanf("%d",&check_num); for(i=0; i<count; i++) { if(info[i].num == check_num) { break; } } if(info[i].num == check_num) { printf("\n"); printf("学号 姓名 性别 //显示需要删除的信息 printf(" %d",info[i].num); printf(" %s",info[i].name); printf(" %c",info[i].sex); printf(" %s",info[i].add); printf("\n\t 是否要删除?\t 1.是 \t 2.否\t "); while(1) { scanf("%d",&j); switch(j) { case 1:info[i].num = 0; printf("\n\t shuzupaixu(info);daoruwenjian(info);count--; break; 删 除 成 功 !\n\n");

家庭地址\n");

case 2: break; default:printf("输入错误!请重新输入!");break; } break; } printf("\n\n\t\t"); system("pause"); } else { printf("输入的信息不存在\n "); system("pause"); } } void liulanxuesheng() //浏览学生信息 { int i; struct student info[100]; duchuwenjian(info); for(i=0; i<count; i++) { printf("info%d:%d %s %c %s\n",i,info[i].num,info[i].name,info[i].sex,info[i].add); } system("pause"); }

void shuruchengji() {

//学生成绩录入

int choice,i; struct student info[100]; // struct student info1[40]; duchuwenjian(info); printf("\n\t 输入数字选择(0.返回;其余数字继续)\n\n"); scanf("%d",&choice); if(choice==0) return; for(i=0;i<count;i++) { printf("\t 学号:%d\n",info[i].num); printf("\n");

printf("\t 姓名:%s\n",info[i].name); printf("\n"); printf("\t 姓别:%c\n",info[i].sex); printf("\n"); printf("\t 家庭地址:%s\n",info[i].add); printf("\n"); printf("\t 请输入语文成绩:"); scanf("%f",&info[i].chinese); printf("\t 请输入数学成绩:"); scanf("%f",&info[i].math); printf("\t 请输入外语成绩:"); scanf("%f",&info[i].english); printf("\t 请输入互评分成绩:"); scanf("%f",&info[i].huping); printf("\t 请输入品德成绩:"); scanf("%f",&info[i].pinde); printf("\t 请输入任课教师评分成绩:"); scanf("%f",&info[i].teacher);

info[i].ave=info[i].chinese + info[i].math+ info[i].english; info[i].zhcp=info[i].ave*0.6+info[i].huping*0.1+info[i].pinde*0.1+info[i].teacher*0.2; } shuzupaixu_score(info); daoruwenjian_score(info); /* printf("读出检查_score\n"); duchuwenjian_score(info1); for(i=0; i<count; i++) { printf("%d %s %f %f\n",info1[i].num,info1[i].name,info1[i].a,info1[i].b); } system("pause"); */

} //数据修改

void xiugaichengji() { int check_num,i,j; struct student info[100]; duchuwenjian_score(info); printf("\n\t 请输入要修改的学生的学号:");//查找要修改的学生 scanf("%d",&check_num); printf("\n"); for(i=0; i<count; i++) { if(info[i].num == check_num) { break; } } if(info[i].num == check_num)//当学号存在时进行修改 { printf("修改的学生信息: 学号 \n"); printf(" printf(" printf(" printf(" %d",info[i].num); %s",info[i].name); %c",info[i].sex); %s",info[i].add); 姓名 性别 家庭地址

printf("\n\t 是否修改?1、是\t 2、否\t "); while(1) { scanf("%d",&j); switch(j) { case 1: { printf("\t 学号为:%d\n",info[i].num); printf("\t 姓名为: %s\n",info[i].name); printf("\t 姓别为: %c\n",info[i].sex); printf("\t 家庭住址为: %s\n",info[i].name); printf("\t 请输入语文成绩:"); scanf("%f",&info[i].chinese); printf("\t 请输入数学成绩:"); scanf("%f",&info[i].math); printf("\t 请输入外语成绩:"); scanf("%f",&info[i].english);

printf("\t 请输入互评分成绩:"); scanf("%f",&info[i].huping); printf("\t 请输入品德成绩:"); scanf("%f",&info[i].pinde); printf("\t 请输入任课教师评分成绩:"); scanf("%f",&info[i].teacher); info[i].ave = info[i].chinese + info[i].math+ info[i].english; info[i].zhcp=info[i].ave*0.6+info[i].huping*0.1+info[i].pinde*0.1+info[i].teacher*0.2; shuzupaixu_score(info); daoruwenjian_score(info); break; } case 2:break; default:printf("输入错误!请重新输入!");break; } break; } printf("\n\n\t\t"); system("pause"); } if(i == count) { printf("没有该学生的信息\n"); system("pause"); return ; } }

void chaxunchengji() //数据查询 { int check_num,i,choice; char check_name[15]; struct student info[100]; duchuwenjian_score(info); printf("\t 请输入查询方式:\n\n"); printf("\t1.学号查询方式\n\n"); printf("\t2.姓名查询方式\n\n");

printf("\t 请选择: "); scanf("%d",&choice); if(choice==1) { printf("\n\t 请输入要查询学生的学号:"); fflush(stdin); scanf("%d",&check_num); for(i=0;i<count;i++) { if(info[i].num==check_num) { break; } } printf("\n"); printf("\n\t 学号:%d\n 姓名:%s\n 性别:%c\n 家庭住址:%s\n 语文成绩:%f\n 数学成 绩:%f\n 外语成绩:%f\n 平均成绩:%f\n 考试名次:%d\n 互评成绩:%f\n 品德成绩:%f\n 教师评分 成 绩 :%f\n 综 合 成 绩 :%f\n 综 合 名 次 :%d\n\n\t ",info[i].num,info[i].name,info[i].sex,info[i].add,info[i].chinese,info[i].math,info[i].english,info[i].a ve,info[i].ksmc,info[i].huping,info[i].pinde,info[i].teacher,info[i].zhcp,info[i].zhmc); printf("\n\n\t\t"); system("pause"); return ; } if(choice==2) { printf("\n\t 请输入要查询学生的姓名:"); // fflush(stdin); scanf("%s",check_name); printf("\n"); for(i=0; i<count ;i++) { if(strcmp(info[i].name,check_name)==0) { printf("\n\t 学号:%d\n 姓名:%s\n 性别:%c\n 家庭住址:%s\n\t 语文成绩:%f\n 数 学成绩:%f\n 外语成绩:%f\n 平均成绩:%f\n 考试名次:%d\n 互评成绩:%f\n 品德成绩:%f\n 教师 评 分 成 绩 :%f\n 综 合 成 绩 :%f\n 综 合 名 次 :%d\n\n\t",info[i].num,info[i].name,info[i].sex,info[i].add,info[i].chinese,info[i].math,info[i].eng lish,info[i].ave,info[i].ksmc,info[i].huping,info[i].pinde,info[i].teacher,info[i].zhcp,info[i].zhmc); printf("\n\n\t\t"); system("pause"); return; } if(i == count)

{ printf("\n\t 没有找到该学生!\n"); system("pause"); return; } } } system("pause"); } void xueshengmenu() { int choice; while(1) { // 学生信息菜单

system("cls"); //清屏 printf("\n\n\n\n\t\t☆☆☆☆☆学生信息处理系统☆☆☆☆☆\n\n"); printf("\t\t\t● 1.输入学生信息\n"); printf("\t\t\t● 2.修改学生信息\n"); printf("\t\t\t● 3.删除学生信息\n"); printf("\t\t\t● 4.浏览学生信息\n"); printf("\t\t\t● 0.返回主菜单\n\n"); printf("\t\t 请输入序号选择操作:"); scanf("%d",&choice); if(choice==0) break; switch(choice) { case 1: system("cls");shuruxuesheng(); break; case 2: system("cls");xiugaixuesheng(); break; case 3: system("cls");shanchuxuesheng(); break; case 4: system("cls");liulanxuesheng(); break; default:system("cls"); printf("\n\t 输入有误!请重新输入!\n\n"); break; } }

} void chengjimenu() { int choice; printf("\n\t 输入数字选择(0:返回;其它数字继续。)\n"); scanf("%d",&choice); if(choice==0) return; // 学生成绩菜单

while(1){ system("cls"); //清屏 printf("\n\n\n\n\t\t☆☆☆☆☆学生数据处理系统☆☆☆☆☆\n\n"); printf("\t\t\t● 1.录入成绩数据\n"); printf("\t\t\t● 2.修改学生数据\n"); printf("\t\t\t● 3.学生数据查询\n"); printf("\t\t\t● 0.返回主菜单\n\n"); printf("\t\t 请输入序号选择操作:"); scanf("%d",&choice); if(choice==0) break; switch(choice){ case 1: system("cls"); shuruchengji(); break; case 2: system("cls"); xiugaichengji(); break; case 3: system("cls");chaxunchengji(); break; default: system("cls");printf("\n\t 输入有误!请重新输入!\n\n"); break; } } } void shuchu() { int i; struct student info[100]; duchuwenjian_score(info); printf("\n"); for(i=0;i<count;i++) { printf("\t 学号:%d\n",info[i].num); printf("\n"); printf("\t 姓名:%s\n",info[i].name); printf("\n"); printf("\t 姓别:%c\n",info[i].sex); printf("\n"); printf("\t 家庭地址:%s\n",info[i].add); printf("\n"); printf("\t 语文成绩:%f\n",info[i].chinese); printf("\n"); printf("\t 数学成绩:%f\n",info[i].math); printf("\n"); printf("\t 外语成绩:%f\n",info[i].english); printf("\n"); printf("\t 平均分:%f\n",info[i].ave); printf("\n"); printf("\t 考试名次:%d\n",info[i].ksmc); //学生综合信息输出

printf("\n"); printf("\t 互评分:%f\n",info[i].huping); printf("\n"); printf("\t 品德成绩:%f\n",info[i].pinde); printf("\n"); printf("\t 教师评分:%f\n",info[i].teacher); printf("\n"); printf("\t 综合测评成绩:%f\n",info[i].zhcp); printf("\n"); printf("\t 综合名次:%d\n",info[i].zhmc); printf("\n\n\n"); } printf("\n\n\t\t"); system("pause"); printf("\n"); } void help() { system("cls"); printf("\n"); // 帮助信息 //清屏

printf("\t\t\t 学生综合测评系统!\n\n"); printf(" 本系统可以存储学生的基本信息和各科成绩, 并能计算考试成绩, 综合测评成 绩。\n\n"); printf(" 基本信息包括:学号、姓名、性别、家庭住址、联系电话;\n\n 各科成绩包 括:语文、数学、英语成绩;\n\n"); printf(" 其它包括:考试名次、同学互评分、品德成绩、任课教师评分等。\n\n"); printf(" 说明:考试成绩排名是按照考试成绩计算的(考试成绩=(语+数+外)/3);\n\n"); printf(" 综合测评总分=((考试成绩)*0.6+(同学互评分)*0.1+(品德成绩)*0.1\n +(任课 教师评分)*0.2)\n\n"); printf(" 其它请按照提示操作即可。\n\n"); printf("\n\n\t\t"); system("pause"); } void menu() { int choice; while(1) { system("cls");//清屏 printf("\n\n\n\t\t◆◆◆◆◆◆欢迎使用学生综合管理系统◆◆◆◆◆◆"); printf("\n\n\n\n\t\t\t---☆☆☆☆☆主菜单☆☆☆☆☆-----\n\n"); printf("\t\t\t● 1.学生信息处理系统\n"); printf("\t\t\t● 2.学生成绩处理系统\n"); printf("\t\t\t● 3.学生综合信息输出\n");

printf("\t\t\t● 4.帮助信息\n"); printf("\t\t\t● 0.返回主菜单\n\n"); printf("\t\t 请输入序号选择操作:"); scanf("%d",&choice); if(choice==0) return; switch(choice) { case 1: system("cls"); xueshengmenu(); break; case 2: system("cls"); chengjimenu(); break; case 3: system("cls"); shuchu(); break; case 4: system("cls"); help(); break; default:system("cls"); printf("\n\t 输入有误!请重新输入!\n\n"); break; } } } int main() { system("color 1c"); printf("\n\n\t\t"); menu(); //主菜单入口函数 return 0 ; }


赞助商链接
更多相关文档:

(最新版)学生成绩管理系统C语言程序设计实践报告

(最新版)学生成绩管理系统C语言程序设计实践报告 - 创业计划,研究报告,项目建议书,项目建设,项目可行性研究报告,可行性研究报告,项目研究报告,项目设计

c语言程序设计之学生信息管理系统

c语言程序设计学生信息管理系统 - 《C 语言程序设计》课程设计报告 题目: 学生信息管理系统 专业: 班级: 学号: 姓名: 电气工程及其自动化 电气 002 班 ...

c语言程序设计学生管理系统

c语言程序设计学生管理系统 - /*学生成绩管理系统 数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩 1、成绩 2、成绩 3、平均 成绩、总成绩。 要求...

C语言程序设计与报告:学生信息管理系统设计

C语言程序设计与报告:学生信息管理系统设计 - 设计题目:学生信息管理系统设计 学号: 院校班级: 姓名: 指导老师: 目 录 一、 设计题目---...

c语言课程设计学生成绩管理系统

c语言课程设计学生成绩管理系统 - 计算机系课 JAVA 大作业报告纸 目录 ——学生成绩管理程序 题目要求 设计目的 总体设计 详细设计 调试与测试 源程序 总结 ··...

C语言程序设计课程设计-学生成绩管理系统

C语言程序设计课程设计-学生成绩管理系统_IT/计算机_专业资料。c语言程序设计期末课程设计-学生成绩管理系统 C 语言程序设计课程设计——班级成绩管理系统 班级成绩...

学生信息管理系统c语言程序设计报告(完美)

学生信息管理系统c语言程序设计报告(完美)_实习总结_总结/汇报_实用文档。学生信息管理系统c语言程序设计报告(完美) 学生信息管理系统 HUNAN UNIVERSITY 程序设计训练 ...

c语言程序设计__学生成绩管理系统

c语言程序设计__学生成绩管理系统 - 实验题目:学生成绩管理系统 一、 课程设计目的 1、 进一步掌握和利用 C 语言进行程设计的能力; 2、 进一步理解和运用结构化...

学生信息管理系统c语言程序设计报告(完美)

学生信息管理系统c语言程序设计报告(完美) - 学生信息管理系统 HUNAN UNIVERSITY 程序设计训练 报告 学生姓名 学生学号 专业班级 指导老师 院长 (系主任 )...

C语言程序设计学生通讯录管理系统

C语言程序设计学生通讯录管理系统 - #include stdio.h #include stdlib.h #include string.h #include conio.h #include...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com