您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页学生学籍管理C源代码

学生学籍管理C源代码

来源:意榕旅游网
/*应包含的头文件:*/

//1.cpp:Defines the entry point for the console application. //

#include\"StdAfx.h\" #include #include #include #include #include

/*数据结构:(结构体设计)*/ typedef struct { int year; int month; int day; }DATE;

/*学生成绩情况*/ pintstudent(float m) { if(m>=85) return(1); if(m>=60) return(2); else return(3); }

typedef struct { char flag; int number; char name[11]; char sex; DATE birthday; char speciality[21]; char ClassName[14]; float AverageGrade; char Address[20]; char phone[11]; }STUDENT;

/*学生信息显示函数*/

void display(STUDENT *pst) { int n; int dt; printf(\"==================================================\\n\");

printf(\"学号:%d\\n\ printf(\"姓名:%s\\n\ if(pst->sex=='M') printf(\"性别:男\\n\"); else printf(\"性别:女\\n\"); dt=pst->birthday.year*10000; dt+=pst->birthday.month*100; dt+=pst->birthday.day; printf(\"出生日期:%d\\n\ printf(\"所学专业:%s\\n\ printf(\"所在班级:%s\\n\ printf(\"平均成绩:%.2f\\n\ printf(\"家庭地址:%s\\n\ printf(\"电话号码:%s\\n\ n=pintstudent(pst->AverageGrade); if(n==1) printf(\"成绩情况:优秀\\n\"); else if(n==2) printf(\"成绩情况:良好\\n\"); else printf(\"成绩情况:不及格\\n\"); printf(\"==================================================\\n\"); } /*主函数*/

int main(int argc,char *argv[]) { char ch; void AddStudent(),QueryStudent(); void UpdateStudent(),DeleteStudent(); void RestoreStudent(),Studentname(); void displaystudent(),Leijiaqi(); do { system(\"cls\"); printf(\"***************学生学籍管理系统***************\\n\"); printf(\"1.添加学生信息\\n\"); printf(\"2.按学号查询学生信息\\n\"); printf(\"3.按姓名查询学生信息\\n\"); printf(\"4.修改学生信息\\n\"); printf(\"5.删除学生信息\\n\"); printf(\"6.恢复删除信息\\n\"); printf(\"7.显示学生信息\\n\");

printf(\"8.统计优秀、及格、不及格人数\\n\"); printf(\"0.推出\\n\"); printf(\"==================================================\\n\"); printf(\"请选择:\"); ch=getch(); printf(\"%c\ switch(ch) { case '1':AddStudent(); break; case '2':QueryStudent(); break; case '3':Studentname(); break; case '4':UpdateStudent(); break; case '5':DeleteStudent() break; case '6':RestoreStudent(); break; case '7':displaystudent(); case '8':Leijiaqi(); break; case '0':exit(0); } }while(1); return 0; }

/*添加学生信息处理函数:*/ void AddStudent() { STUDENT st; long dt; FILE *fp; short fg=1; char str[2]; if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(fg) { system(\"cls\"); printf(\"添加学生信息\\n\"); printf(\"==================================================\\n\"); st.flag=''; printf(\"学号:\"); scanf(\"%d\ printf(\"姓名:\"); scanf(\"%s\

printf(\"性别:\"); scanf(\"%s\ if(strcmp(str,\"男\")==0) st.sex='M'; else st.sex='F'; printf(\"出生日期(yyyymmdd):\"); scanf(\"%d\ st.birthday.year=dt/10000; st.birthday.month=dt%10000/100; st.birthday.day=dt%100; printf(\"所学专业:\"); scanf(\"%s\ printf(\"所在班级:\"); scanf(\"%s\ printf(\"平均成绩:\"); scanf(\"%f\ printf(\"家庭住址:\"); scanf(\"%s\ printf(\"电话号码:\"); scanf(\"%s\ fwrite(&st,sizeof(STUDENT),1,fp); printf(\"==================================================\\n\"); printf(\"继续添加吗?(y/n):\"); if(getch()!='y') { fclose(fp); fg=0; } } }

/*按学号查询学生信息处理函数:*/ void QueryStudent() { STUDENT st; long num; FILE *fp; short fg=1,fg1; if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(fg) { system(\"cls\"); printf(\"查询学生信息\\n\"); printf(\"请输入查询学号:\"); scanf(\"%d\ rewind(fp); fg1=0;

while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp); if(st.flag==''&&st.number==num) { display(&st); fg1=1; break; } } if(fg1==0) printf(\"该学号的学生不存在。\\n\"); printf(\"继续查询吗?(y/n):\"); if(getch()!='y') { fclose(fp); fg=0; } } }

/*按姓名查询学生信息处理函数:*/ void Studentname() { STUDENT st; char name[11]; FILE *fp; short fg=1,fg1; if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(fg) { system(\"cls\"); printf(\"查询学生信息\\n\"); printf(\"请输入查询姓名:\"); scanf(\"%s\ rewind(fp); fg1=0; while(!feof(fp)) {

fread(&st,sizeof(STUDENT),1,fp); if(st.flag==''&&strcmp(st.name,name)==0) { display(&st); fg1=1; break; } } if(fg1==0) printf(\"该学号的学生不存在。\\n\"); printf(\"继续查询吗?(y/n):\\n\"); if(getch()!='y') { fclose(fp); fg=0; } } }

/*修改学生信息处理函数:*/ void UpdateStudent() { STUDENT st; long dt,num; FILE *fp; short fg=1,fg1; char ch,str[21]; if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(fg) { system(\"cls\"); printf(\"修改学生信息\\n\"); printf(\"请输入修改学生学号:\"); scanf(\"%d\ rewind(fp);fg1=0; while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp);

if(st.flag==''&&st.number==num) { do { system(\"cls\"); printf(\"修改学生信息\\n\"); printf(\"请输入修改学生学号:%d\\n\

printf(\"==================================================\\n\"); printf(\"1.学号:%d\\n\ printf(\"2.姓名:%s\\n\ if(st.sex=='M') printf(\"3.性别:男\\n\"); else printf(\"3.性别:女\\n\"); dt=st.birthday.year*10000; dt+=st.birthday.month*100; dt+=st.birthday.day; printf(\"4.出生日期:%d\\n\ printf(\"5.所学专业:%s\\n\ printf(\"6.所在班级:%s\\n\ printf(\"7.平均成绩:%.2f\\n\ printf(\"8.家庭住址:%s\\n\ printf(\"9.电话号码:%s\\n\ printf(\"0.修改完成!\\n\");

printf(\"==================================================\\n\"); printf(\"请选择修改序号:\"); ch=getch(); printf(\"%c\\n\

switch(ch) { case'1':printf(\"学号\"); break; case'2':printf(\"姓名\"); break; case'3':printf(\"性别\"); break; case'4':printf(\"出生日期\"); break; case'5':printf(\"所在专业\"); break; case'6':printf(\"所在班级\"); break; case'7':printf(\"平均成绩\"); break; case'8':printf(\"家庭住址\"); break; case'9':printf(\"电话号码\"); break; case'0': fseek(fp,-(long)(sizeof(STUDENT)),SEEK_CUR); fwrite(&st,sizeof(STUDENT),1,fp); }

if(ch>='1'&&ch<='9') { printf(\"修改为:\"); scanf(\"%s\ switch(ch) { case'1':st.number=atoi(str); break; case'2':strcpy(st.name,str); break; case'3':if(strcmp(str,\"男\")==0) st.sex='M'; else st.sex='F'; break; case'4': st.birthday.day=atoi(str+6); str[6]='\\0'; st.birthday.month=atoi(str+4); str[4]='\\0'; st.birthday.year=atoi(str); break; case'5':strcpy(st.ClassName,str); break; case'6':strcpy((st.ClassName,str); break; case'7':st.AverageGrade=(float)atof(str); break; case'8':strcpy(st.Address,str); break; case'9':strcpy(st.phone,str); break; } } }while(ch!='0'); fg1=1; break; } } if(fg1==0) printf(\"该学号的学生部存在!\\n\"); printf(\"继续查询码?(y/n):\"); if(getch()!='y') { fclose(fp); fg=0; } } }

/*删除学生信息处理函数:*/ void DeleteStudent() { STUDENT st; long num; FILE *fp; short fg=1,fg1;

if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(fg) { system(\"cls\"); printf(\"删除学生信息\\n\"); printf(\"请输入删除学生学号:\"); scanf(\"%d\ rewind(fp); fg1=0; while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp); if(st.flag==''&&st.number==num) { display(&st); fg1=1; printf(\"是删除该学生吗?(y/n):\"); if(getch()=='y') { fseek(fp,-(long)(sizeof(STUDENT)),SEEK_CUR); fputc('*',fp); } break; } } if(fg1==0) printf(\"该学号的学生不存在。\\n\"); printf(\"\\n继续删除吗?(y/n):\"); if(getch()!='y') { fclose(fp); fg=0; } } }

/*恢复删除信息处理函数:*/ void RestoreStudent() { STUDENT st;

}

long num; FILE *fp;

short fg=1,fg1;

if(fp=fopen(\"Student.dat\{ printf(\"文件打不开!\\n\"); getch(); return; }

while(fg) { system(\"cls\"); printf(\"恢复删除信息\\n\"); printf(\"请输出已删除学生学号:\"); scanf(\"%d\ rewind(fp); fg1=0; while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp); if(st.flag=='*'&&st.number==num) { display(&st); fg1=1; printf(\"是恢复该学生吗?(y/n):\"); if(getch()=='y') { fseek(fp,-(long)(sizeof(STUDENT)),SEEK_CUR); fputc('',fp); } break; } }

}

if(fg1==0) printf(\"该学号的学生不存在。\\n\"); printf(\"\\n继续恢复吗?(y/n):\"); if(getch()!='y') { fclose(fp); fg=0; }

/*显示学生信息函数*/ void displaystudent() { STUDENT st; FILF *fp; int i=1; if((fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } system(\"cls\"); printf(\"显示所有学生信息:\\n\"); while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp); if(st.flag=='') { printf(\"第%d名学生:\\n\ display(&st); } }fclose(fp); }

/*统计学生成绩及格、不及格、优秀人数*/ void Leijiaqi() { int x,y,z,k,i; STUDENT st; FILF *fp; x=y=z=0; if(fp=fopen(\"Student.dat\ { printf(\"文件打不开!\\n\"); getch(); return; } while(!feof(fp)) { fread(&st,sizeof(STUDENT),1,fp); if(st.flag=='') {

}

k=pintstudent(st.AverageGrade); if(k==1) x++; else if(k=2) y++; else z++; } }

printf(\"\\n*********************************************\\n\\n\"); printf(\"优秀人数:%d\\n\\n良好人数:%d\\n\\n不及格人数:%d\\n\printf(\"\\n*********************************************\\n\"); printf(\"\\n返回主菜单,请输(y/n):\"); if(getch()!='y'); { fclose(fp); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务