Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
c语言编写学生信息管理系统
发布于2022-01-13 19:11:49
可以添加,删除,插入信息,可以对成绩进行升序降序排列,信息有姓名,学号,专业,年级,出声年月,成绩。还有查询,可以根据姓名和学号查询
2
个回答
网友回答
2022-01-13
#include"stdio.h"
#define
SIZE 100000 #include"string.h" #include"stdlib.h" #include"conio.h" struct student {int n; int num; char name[10]; int C; int Maths; int En; float ave; }stu[SIZE]; /*录入数据*/ void finput() { FILE *fp; int i,p; fp=fopen("fstu","wb"); for(i=0;i<SIZE;i+1) { printf("i=%d输入序号i(当输入i=-1时,返回),i=",i++); scanf("%d",&i); if(i==-1) { fclose(fp); return; } else { printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:"); scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En); stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0; stu[i].n=i+1; fwrite(&stu[i],sizeof(structstudent),1,fp); } } fclose(fp); } /*输出数据*/ void flist() { FILE *fp; int i; fp=fopen("fstu","rb"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); fclose(fp); } /*查找数据*/ void fsearch() { FILE *fp; int i,num; fp=fopen("fstu","rb"); rewind(fp); printf("请输入要查找的学号:"); scanf("%d",&num); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 查询结果\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;i<=SIZE;i++) if(stu[i].num==num) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n"); fclose(fp); } /*增加数据*/ void fadden() { int i,s; FILE *fp; fp=fopen("fstu","ab+"); rewind(fp); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); s=i; for(i=s;i<SIZE;i++) { printf("i=%d 输入序号i(当输入i=-1时,返回),i=",i+1); scanf("%d",&i); if(i==-1) { fclose(fp); return; } else { printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:"); stu[i].n=i+1; scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En); stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0; fwrite(&stu[i],sizeof(structstudent),1,fp); } } fclose(fp); } /*修改数据*/ void fchange() { FILE *fp; int i,num,n; int flag=0; printf("请输入要修改学生的学号:"); scanf("%d",&num); for(i=0;i<=SIZE;i++) if(stu[i].num==num) { printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); n=i; flag=1; break; } if(flag==0) { printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 输入错误!\n"); printf(" 请返回!\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); return; } printf("\n\n\n"); fp=fopen("fstu","rb+"); fseek(fp,n*sizeof(struct student),0); printf("请输入新的学号,姓名,C成绩,数学成绩,英语成绩:"); scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En); stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0; fwrite(&stu[i],sizeof(structstudent),1,fp); fclose(fp); fp=fopen("fstu","rb"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); fclose(fp); } /*成绩排序*/ void ftaxis() { int i,j,n; FILE *fp; struct student t; fp=fopen("fstu","rb"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(structstudent),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); fclose(fp); n=i; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(stu[i].ave<stu[j].ave) { t=stu[i]; stu[i]=stu[j]; stu[j]=t; } fp=fopen("fstus","wb"); printf("\n\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号 学号 姓名 C成绩 数学 英语 平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;i<n;i++) { fwrite(&stu[i],sizeof(structstudent),1,fp); printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Maths,stu[i].En,stu[i].ave); } printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); fclose(fp); } /*主函数*/ main() { int n; for(;;) { printf("\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("※ ※\n"); printf("※ 欢迎来到学生信息管理系统 ※\n"); printf("※ ※\n"); printf("※ 系部:通信工程 专业:通信工程 ※\n"); printf("※ 姓名: 学号: ※\n"); printf("※ 班内序号: 指导老师: ※\n"); printf("※ ※\n"); printf("※ 主菜单 ※\n"); printf("※ ※\n"); printf("※ ▲1.录入数据▲ ※\n"); printf("※ ▲2.输出数据▲ ※\n"); printf("※ ▲3.查找数据▲ ※\n"); printf("※ ▲4.增加数据▲ ※\n"); printf("※ ▲5.修改数据▲ ※\n"); printf("※ ▲6.成绩排序▲ ※\n"); printf("※ ▲7.退出系统▲ ※\n"); printf("※ ※\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n"); printf("请输入选择项(1-7):"); scanf("%d",&n); printf("\n\n\n\n"); if(n>0&&n<8) { switch(n) { case 1:finput();break; case 2:flist();break; case 3:fsearch();break; case 4:fadden();break; case 5:fchange();break; case 6:ftaxis();break; case 7:printf("※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("※ ※\n"); printf("※ 谢谢使用! ※\n"); printf("※ 再见! ※\n"); printf("※ ※\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※\n"); exit(0); } } else { printf("※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf("※ ※\n"); printf("※ 输入错误! ※\n"); printf("※ 请退出! ※\n"); printf("※ ※\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※\n"); break; } } }
网友回答
2022-01-13
我以前写的,能大致满足你的要求!希望你成功!
生活问答最新文章
1
对口高考和普通高考是同一时间高考嘛?
2
请问天津理工大学共青团组织名称是什么?
3
大连航空管理职业学校怎样?
4
高考完语文该不该对答案?
5
哪种美术高考班值得选择?
6
艺非凡优选馆的东西好吗?
7
广东新高考难不难?我女儿明年高三,现在该做哪些准备?
8
计算机专业研究生哪个学校比较好?
9
南京哪个学校在职研究生比较好?
10
高考英语听力几点开始,几点进考场
相关阅读
1
1下面四个选项中,均是C语言关键字的是:
2
各位前辈,是学C语言好,还是学C++语言好,哪个更高效实用
3
Java和c++编写的程序那个的效率要高一些
4
评标报告有什么机构编写?评标报告一般应包括哪些内容?
5
评标报告有什么机构编写?评标报告一般应包括哪些内容?
6
C语言能做人工智能吗?
7
要想能学会开发软件,做一名软件工程师要学会那些知识呢?从什么着手呢?精通数据库和C语言能足够吗
8
要想能学会开发软件,做一名软件工程师要学会那些知识呢?从什么着手呢?精通数据库和C语言能足够吗
9
如何编写质量管理体系文件.pdf
10
环评编写工作
11
vc++ 学生基本信息管理系统
12
java 编写的 学生信息管理系统
回到
顶部