学生信息管理系统C语言版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//交流学习
//QQ:1194758555
#include
#include
#include
#include
#include
int k,n;
struct student
{
double yuwen;
double shuxue;
double yingyu;
double zong;
double pingjun;
char name[20];
char num[20];
} stu[1000];
void jiazai(struct student stu[],int *num1);
void baocun(struct student stu[],int n);
void find(struct student stu[],int n);
int findnum(struct student stu[],int n,char *num);//查找学号;
void shanchu(struct student stu[],int *num1);
void shanchuyi(struct student stu[],int *num1);//删除一条记录;
void shanchuquanbu(struct student stu[],int *num1);
void tianjiayi(struct student stu[],int i);//添加一记录;
void tianjia(struct student stu[],int *num1);//添加记录;
void xiugai(struct student stu[],int n);//修改一条记录;
void output(struct student stu[],int n,int x);//打印信息;
void paixu(struct student stu[],int n);//排序;
int jianchaxuehao(struct student stu[],char *num);//检查学号的合法性;int jianchachengji(double num);//检查成绩的合法性;
void outputone(struct student *stu,int i,int x);//输出一条信息
void caidan();
int main()
{
int q;
jiazai(stu,&n);
caidan();
scanf("%d",&q);
while(q>6)
{
printf("输入错误请重新输入\n请输入0-6的数字\n");
scanf("%d",&q);
}
Sleep(300);
system("cls");
switch(q)
{
case 1 :
tianjia(stu,&n);
break;
case 2:
xiugai(stu,n);
break;
case 3:
paixu(stu,n);
break;
case 4:
find(stu,n);
break;
case 5:
shanchu(stu,&n);
break;
case 6:
output(stu,n,0);
break;
case 0:
exit(0);
}
return 0;
}
void caidan()
{
printf("┌────────────────────────┐\n"); printf("├───────欢迎进入学生信息管理系统─────┤\n"); printf("├────────────────────────┤\n"); printf("│ 1添加学生成绩│\n");
printf("├────────────────────────┤\n"); printf("│ 2修改学生成绩│\n");
printf("├────────────────────────┤\n"); printf("│ 3排序│\n");
printf("│ 4查找│\n");
printf("├────────────────────────┤\n"); printf("│ 5删除│\n");
printf("├────────────────────────┤\n"); printf("│ 6输出│\n");
printf("├────────────────────────┤\n"); printf("│ 0退出│\n");
printf("├────────────────────────┤\n"); printf("└────────────────────────┘\n"); printf("请输入选择:\n");
}
void jiazai(struct student stu[],int *num1)
{
FILE *fp;
int i;
if((fp=fopen("d:\\student.dat","r"))==NULL)
{
*num1=0;
return;
}
for(i=0; fread(&stu[i],sizeof(struct student),1,fp)!=0; i++)
*num1=i;
fclose(fp);
}
void paixu(struct student stu[],int n)
{
int xuehao(const void *a,const void *b);
int yuwen(const void *a,const void *b);
int shuxue(const void *a,const void *b);
int yingyu(const void *a,const void *b);
int zongchengji(const void *a,const void *b);
int (*cmp[])(const void *a,const void *b)= {xuehao,yuwen,shuxue,yingyu,zongchengji};
int a;
printf("┌───────────────────────┐\n"); printf("│欢迎进入学生信息排序页面│\n"); printf("└───────────────────────┘\n");