C语言学生信息管理系统设计与实现
本文实例为大家分享了C语言学生信息管理系统的具体代码,供大家参考,具体内容如下
#include"stdio.h"//标准的输入输出函数文件头部说明 #include"math.h"//数学函数头部说明 #include"string.h" #include"stdlib.h"//通过该函数头部里的函数,改变控制台的背景和颜色 #include"windows.h"//头文件声明,下文用到了改变控制台的宽度和高度 #defineM100//宏定义说明 structstudent{//结构体定义并声明 charname[25];//姓名 charnum[25];//学号 charcredit[20];//身份证号 charnative[35];//籍贯 chartel[25];//手机号 intspecial;//专业 intbanji;//班级 intmath,yy,wl,cyy,pe;//数学、英语、物理、C语言、体育 doubleave;};//平均分 //****************************************函数的声明******************************************** voidinput(structstudentstu[M]);//输入函数 voidoutput(structstudentstu[M]);//各类用户自定义函数的声明 voidlookfor(structstudentstu[M]);//查询函数 voidmodify(structstudentstu[M]);//修改函数 voidorder(structstudentstu[M]);//排序函数 voiddelete_student(structstudentstu[M]);//删除函数 voidxuehao(structstudentstu[M]); voidxingming(structstudentstu[M]); voidfileread(structstudentstu[M]); voidfilewrite(structstudentstu[M]); voidyanshi(char*p);//延时函数说明 //********************************************************************************************** intcount=0; structstudentt; intmain() { intchoice,sum; structstudentstu[M]; system("modecon:cols=400lines=30000");//调节控制台的宽度和高度 system("color0b");//调节控制台的背景和字体颜色 point1: sum=0; yanshi("\t\t\t\t\t\t\t\t\3\3\3\3\3\3\3\3\3\3\3\3\3欢迎你使用学生信息管理系统\3\3\3\3\3\3\3\3\3\3\n"); do{ printf("\t\t\t\t\t\t\t\t-------------------------------------------------\n"); printf("\t\t\t\t\t\t\t\t+学生信息管理系统+\n"); printf("\t\t\t\t\t\t\t\t-------------------------------------------------\n"); printf("\t\t\t\t\t\t\t\t\t\t***************\n"); printf("\t\t\t\t\t\t\t\t\t\t1、添加学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t2、浏览学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t3、查询学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t4、修改学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t5、删除学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t6、排列学生信息\n"); printf("\t\t\t\t\t\t\t\t\t\t7、读取文件学生\n");//从文件读取 printf("\t\t\t\t\t\t\t\t\t\t8、保存到文件\n");//保存到文件 printf("\t\t\t\t\t\t\t\t\t\t9、退出系统\n"); printf("\t\t\t\t\t\t\t\t\t\t***************\n"); printf("请输入你的选择\n"); scanf("%d",&choice); fflush(stdin);//清除输入缓冲区 if(choice>9||choice<=0) { sum++; if(sum>=5) { printf("输入错误次数过多,程序将重新开始\n"); system("pause");//程序暂停 system("cls");//清屏语句 gotopoint1; } } switch(choice)//根据选择,调用不同的函数来完成不同的任务 { case1:input(stu);break; case2:output(stu);break; case3:lookfor(stu);break; case4:modify(stu);break; case5:delete_student(stu);break; case6:order(stu);break; case7:fileread(stu);break; case8:filewrite(stu);;break; case9:printf("感谢你使用学生信息管理系统,请关掉程序!!!\n");system("pause");break; default:printf("无效的选择!!!请重新输入!!!\n");break; } }while(choice!=9); printf("theprogramisover!!!\n"); return0; } voidinput(structstudentstu[M])//自定义输入函数 { intlen,size; system("cls"); printf("请添加要输入学生的信息\n"); do{ printf("请输入由11位数字组成的学生学号\n");//do-while循环应用,提示输入位数为一确定数 scanf("%s",&stu[count].num); len=strlen(stu[count].num); }while(len!=11); printf("请输入同学的姓名\n"); scanf("%s",stu[count].name); do{ printf("请输入由18位数字组成的学生身份证号\n");//同上 scanf("%s",&stu[count].credit); size=strlen(stu[count].credit); }while(size!=18); printf("请输入学生的籍贯\n"); scanf("%s",&stu[count].native); printf("请输入学生的手机号码\n"); scanf("%s",&stu[count].tel); printf("请输入所需要的专业代号:1、计算机科学2、通信工程3、网络工程\n");//采用如此方法解决了专业输入难问题 scanf("%d",&stu[count].special); printf("请输入对应的学生班级号码:1、13012、1302\n"); scanf("%d",&stu[count].banji); do{ printf("请依次输入不大于100的学生各科成绩\n"); scanf("%d%d%d%d%d",&stu[count].math,&stu[count].yy,&stu[count].wl,&stu[count].cyy,&stu[count].pe); }while(stu[count].math>100||stu[count].yy>100||stu[count].wl>100||stu[count].cyy>100||stu[count].pe>100);//同上同上 stu[count].ave=(stu[count].math+stu[count].yy+stu[count].wl+stu[count].cyy+stu[count].pe)/5.0;//求出平均值 count++; } voidoutput(structstudentstu[M])//自定义输出函数 { intj; system("cls"); if(count==0) { printf("当前已存学生信息为0个\n"); return; } for(j=0;jstu[index].math) {t=stu[k];stu[k]=stu[index];stu[index]=t;} };break; case2:for(j=0;j stu[index].yy) {stu[k]=stu[index];}//整个为排序部分,采用了所谓的选择排序的方法 };break; case3:for(j=0;j stu[index].wl) {t=stu[k];stu[k]=stu[index];stu[index]=t;} };break; case4:for(j=0;j stu[index].cyy) {t=stu[k];stu[k]=stu[index];stu[index]=t;} };break; case5:for(j=0;j stu[index].pe) {t=stu[k];stu[k]=stu[index];stu[index]=t;} };break; case6:for(j=0;j stu[index].ave) {t=stu[k];stu[k]=stu[index];stu[index]=t;}//强制类型转换符号只能用于有操作数,根据赋值运算中的类型转换问题可知 };break; default:printf("无效的选择!!!请重新输入!!!\n");break; } } voidxuehao(structstudentstu[M])//自定义通过学号方式删除学生信息函数 { intj,index=0,k=count; charxh[25]; system("cls"); printf("请输入你想要删除的同学学号\n"); scanf("%s",xh); fflush(stdin); for(j=0;j 更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。