实例介绍
【实例简介】
使用vc 6.0编写的学生信息管理系统,
保存信息的文件保存在本系统目录里,
如有疑问联系2497490924
【实例截图】
【核心代码】
#include <stdio.h> #define M 500 #include <windows.h>//系统头文件,实现清屏、任意键返回、声音等功能。 #include<conio.h>//直接调用储存在内存中的文件。 #include <string.h>//处理函数头文件 #include <stdlib.h>//包含了C语言的一些常用库函数 struct student { int num;/*学号,限定为9位数。*/ char name[20];/*姓名*/ char sex[3];/*性别*/ char nation[5];//籍贯 char addr[30];//家庭住址 char age[3];//年龄 char brithday[11];//出生年月 char phone[13];//手机号码 int TestsoresC;//C语言成绩 int TestsoresM;//数学成绩 int TestsoresE;//英语成绩 int TestsoresP;//思政成绩 } stu[M]; void welcome(); void tuichu();//退出程序 int enter (struct student stu []);//录入学籍信息 void menu2();//查询学生学籍信息目录 void menu();//主目录 void scan();//查询学生学籍信息函数 void print();//输出所有学生信息 void scanname();//通过学生姓名查询学生信息 void scanno();//通过学生学号查询学生信息 void change();//修改学生信息 void menu3();//修改学生信息 void paixu();//按学号从小到大排序 void delete_xh();//按学号删除学生信息 void save(struct student stu[]);//保存学生信息 void load(struct student stu[]);//读取学生信息 void help();//帮助目录 int j=0; int main () { char a; welcome(); menu(); system("color 1F");/*1-f分别代表的颜色如下:0=黑色;8=灰色;1=蓝色;9=淡蓝色;2=绿色;A=淡绿色;3=湖蓝色; B=淡浅绿色;4=红色;C=淡红色;5=紫色;D=淡紫色;6=黄色;E=淡黄色;7=白色;F = 亮白色。"color XY"X代表前景色,Y代表字体颜色。*/ a=getche();//当输入a时直接调用 switch(a) { case '1' :system("cls"); enter(stu) ;break;//录入学生信息 case '2' : system("cls");scan(stu) ;break;//查询学生信息 case '3' : system("cls");delete_xh(stu);break;//按学号删除学生信息 case '4' : system("cls");save(stu);break;//保存学生信息 case '5' : system("cls");paixu(stu);break;//按学号排序 case '6' : system("cls");change(stu);break;system ("exit");//修改学生信息 case '7' : system("cls"); load(stu);break;//导入学生信息 case '8' : system("cls"); help();break;//帮助信息 case '9' :system("cls"); tuichu();system("PAUSE");break;//退出程序 default: { system("PAUSE");//任意键返回 system("cls");//界面清屏 _beep(300,200);//根据用户选择发出不同声音 _beep(200,200); _beep(100,200); printf("输入错误请重新选择:\n");} if(a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9') break; else main(); } return 0; } void welcome() { system("COLOR 3f"); printf(" --------【学生信息管理系统】-------\n"); printf("\n"); printf("\n"); printf("\n"); printf("================================================================================\n"); printf("\n"); printf("\n"); printf(" =★=★=★=★=★=★=★ WELCOME ★=★=★=★=★=★=★=\n"); printf("\n"); printf(" \n"); printf(" ☆★●☆★●☆★●☆★●☆★●\n"); printf("\n"); printf(" \n"); printf("\t\t\t\t河北工业职业技术学院 \n"); printf("\t\t\t\t 计算机技术系 \n"); printf("\t\t\t\t 大类二班 \n"); printf("\t\t\t\t 414组 \n"); printf(" \n"); printf(" \n"); printf(" \n"); printf(" \n"); printf("================================================================================\n"); system("PAUSE"); system("cls"); } void tuichu() { system("COLOR 3f"); printf("\n"); printf("\n"); printf("\n"); printf("---------------------------------河北工业职业技术学院-------------------------------\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" 再见!\n"); printf("\n"); printf("\n"); printf(" 感谢使用\n"); printf("\n"); printf("\n"); printf(" -------☆-【学生信息管理系统】-☆------\n"); printf("\n"); } void menu ()//主目录 { system("COLOR 3f"); printf("\t\t\t学生信息管理系统\n"); printf("********************************************************************************\n"); printf(" ========================================\n"); printf(" |======================================|\n"); printf(" | 1.录入学生信息 2.查询学生信息 |\n"); printf(" |--------------------------------------|\n"); printf(" | 3.删除学生信息 4.保存学生信息 |\n"); printf(" |--------------------------------------|\n"); printf(" | 5.按学号排序 6.修改信息 |\n"); printf(" |--------------------------------------|\n"); printf(" | 7.导入信息 8.帮助 |\n"); printf(" |--------------------------------------|\n"); printf(" | 9.退出系统 |\n"); printf(" |======================================|\n"); printf(" ========================================\n"); printf("\n"); printf("\t\t请按数字(1-9)选择:\n"); printf("********************************************************************************\n"); } int enter(struct student stu[]) { int i,k,x; system("color b4"); for(i=j;i<=j;i ) { j ; printf("********************************录入学生学籍信息********************************\n"); printf("第%d个学生:\n",j); printf("学号(输入8位数学号):\n"); scanf("%d",&stu[i].num); printf("姓名:\n"); scanf("%s",stu[i].name); printf("年龄(16~30):\n"); scanf("%s",&stu[i].age); printf("性别(m/w)(男/女):\n"); scanf("%s",stu[i].sex); printf("出生日期 年.月.日:\n"); scanf("%s",stu[i].brithday); printf("籍贯:\n"); scanf("%s",stu[i].nation); printf("家庭地址:\n"); scanf("%s",stu[i].addr); printf("电话(输入11为号码):\n"); scanf("%s",stu[i].phone); printf("C语言成绩(0~100):\n"); scanf("%d",&stu[i].TestsoresC); printf("数学成绩(0~100):\n"); scanf("%d",&stu[i].TestsoresM); printf("英语成绩(0~100):\n"); scanf("%d",&stu[i].TestsoresE); printf("思政成绩(0~100):\n"); scanf("%d",&stu[i].TestsoresP); printf("\n"); printf("*********************输入R退回主菜单,按ENTER继续录入****************************\n"); _beep(600,200); getchar(); if((k=getchar())=='R') { system ("cls"); main(); break; } } return 0; } void menu2() { system("COLOR e2"); printf("*****************************查询学生学籍信息***********************************\n"); printf("请按1~3选择:\n"); printf("\n =================================\n"); printf(" | 1.显示所有学生信息 |\n"); printf(" | 2.按学号查询 |\n"); printf(" | 3.按姓名查询 |\n"); printf(" | 4.退出本菜单 |\n"); printf(" =================================\n"); printf("\n"); printf("*****************************查询学生学籍信息***********************************\n"); } void scan() { char b; menu2(); b=getche(); switch(b) { case '1':system("cls"); print(stu) ;break; case '2':system("cls"); scanno(stu);break; case '3': system("cls");scanname(stu);break; case '4': system("cls");main();break; default: system ("cls"); _beep(300,200); _beep(200,200); _beep(100,200); printf("请重新选择:\n"); scan(); } } void print(struct student stu[]) { int n,ALL; if(j>0) { for (n=0;n<j;n ) { { printf("学号:%d\n",stu[n].num); printf("姓名:%s\n",stu[n].name); printf("年龄:%s\n",stu[n].age); printf("性别(m/w):%s\n",stu[n].sex); printf("出生日期 年.月.日:%s\n",stu[n].brithday); printf("籍贯:%s\n",stu[n].nation); printf("家庭地址:%s\n",stu[n].addr); printf("电话:%s\n",stu[n].phone); printf("C语言成绩:%d\n",stu[n].TestsoresC); printf("数学成绩:%d\n",stu[n].TestsoresM); printf("英语成绩:%d\n",stu[n].TestsoresE); printf("思政成绩:%d\n",stu[n].TestsoresP); printf("总成绩:%d\n",ALL=stu[n].TestsoresC stu[n].TestsoresM stu[n].TestsoresE stu[n].TestsoresP); printf("*****************************查询学生信息***********************************\n"); system("PAUSE"); system("cls"); } if(n==(j-1)) { printf("\n以上是全部学生信息!\n"); system("PAUSE"); system("cls"); scan(); } } } else { system("cls"); printf("\n无学生信息,请输入学生信息!!!!\n"); _beep(400,500); system("PAUSE"); system("cls"); scan(); } } void scanno(struct student stu[]) { int i,a,z=-1,ALL; printf("\n请输入要查询的学号:\n"); scanf("%d",&a); for(i=0;i<j;i ) { if(a==stu[i].num)z=i; } if(z!=-1) { printf("学号:%d\n",stu[z].num); printf("姓名:%s\n",stu[z].name); printf("年龄:%s\n",stu[z].age); printf("性别(m/w):%s\n",stu[z].sex); printf("出生日期 年.月.日:%s\n",stu[z].brithday); printf("籍贯:%s\n",stu[z].nation); printf("家庭地址:%s\n",stu[z].addr); printf("电话:%s\n",stu[z].phone); printf("C语言成绩:%d\n",stu[z].TestsoresC); printf("数学成绩:%d\n",stu[z].TestsoresM); printf("英语成绩:%d\n",stu[z].TestsoresE); printf("思政成绩:%d\n",stu[z].TestsoresP); printf("总成绩:%d\n",ALL=stu[z].TestsoresC stu[z].TestsoresM stu[z].TestsoresE stu[z].TestsoresP); printf("*****************************查询学生信息***********************************\n"); system("PAUSE"); system("cls"); scan(); } else { printf("无此学生信息!按任意键返回\n"); system("PAUSE"); system("cls"); scan(); } } void scanname(struct student stu[]) { char a[5]; int i,n,ALL; printf("\n请输入要查询的姓名:\n"); scanf("%s",a); for(i=0;i<j;i ) { if(!strcmp(a,stu[i].name)) break; } n=(!strcmp(a,stu[i].name)); if(n==1) { printf("学号:%d\n",stu[i].num); printf("姓名:%s\n",stu[i].name); printf("年龄:%s\n",stu[i].age); printf("性别(m/w):%s\n",stu[i].sex); printf("出生日期 年.月.日:%s\n",stu[i].brithday); printf("籍贯:%s\n",stu[i].nation); printf("家庭地址:%s\n",stu[i].addr); printf("电话:%s\n",stu[i].phone); printf("C语言成绩:%d\n",stu[i].TestsoresC); printf("数学成绩:%d\n",stu[i].TestsoresM); printf("英语成绩:%d\n",stu[i].TestsoresE); printf("思政成绩:%d\n",stu[i].TestsoresP); printf("总成绩:%d\n",ALL=stu[i].TestsoresC stu[i].TestsoresM stu[i].TestsoresE stu[i].TestsoresP); printf("*****************************查询学生信息***********************************\n"); system("PAUSE"); system("cls"); scan(); } else { printf("无此学生信息!按任意键返回\n"); system("PAUSE"); system("cls"); scan(); } } void menu3() { printf("*******************************修改学生信息*************************************\n"); printf("请按1~2选择:\n"); system("COLOR 5f"); printf("\n =================================\n"); printf(" | 1.按学号修改 |\n"); printf(" | 2.按姓名修改 |\n"); printf(" | 3.退出本菜单 |\n"); printf(" =================================\n"); printf("*******************************修改学生信息*************************************\n"); } void change(struct student stu[]) { char b; menu3(); b=getche(); switch(b) { case '1':system("cls"); { int k,i,a,z=-1,ALL; printf("\n请输入要修改的学号:\n"); scanf("%d",&a); for(i=0;i<j;i ) { if(a==stu[i].num) z=i; } if(z!=-1) { printf("此学生信息为:\n"); printf("学号:%d\n",stu[z].num); printf("姓名:%s\n",stu[z].name); printf("年龄:%s\n",stu[z].age); printf("性别(m/w):%s\n",stu[z].sex); printf("出生日期 年.月.日:%s\n",stu[z].brithday); printf("籍贯:%s\n",stu[z].nation); printf("家庭地址:%s\n",stu[z].addr); printf("电话:%s\n",stu[z].phone); printf("C语言成绩:%d\n",stu[z].TestsoresC); printf("数学成绩:%d\n",stu[z].TestsoresM); printf("英语成绩:%d\n",stu[z].TestsoresE); printf("思政成绩:%d\n",stu[z].TestsoresP); printf("总成绩:%d\n",ALL=stu[z].TestsoresC stu[z].TestsoresM stu[z].TestsoresE stu[z].TestsoresP); printf("*******************************修改学生信息*************************************\n"); printf("请输入此学生新信息:\n"); printf("学号:\n"); scanf("%d",&stu[z].num); printf("姓名:\n"); scanf("%s",stu[z].name); printf("年龄:\n"); scanf("%s",stu[z].age); printf("性别(m/w):\n"); scanf("%s",stu[z].sex); printf("出生日期 年.月.日:\n"); scanf("%s",stu[z].brithday); printf("籍贯:\n"); scanf("%s",stu[z].nation); printf("家庭地址:\n"); scanf("%s",stu[z].addr); printf("电话:\n"); scanf("%s",stu[z].phone); printf("C语言成绩:\n"); scanf("%d",&stu[i].TestsoresC); printf("数学成绩:\n"); scanf("%d",&stu[i].TestsoresM); printf("英语成绩:\n"); scanf("%d",&stu[i].TestsoresE); printf("思政成绩:\n"); scanf("%d",&stu[i].TestsoresP); printf("\n"); printf("*****************修改完成!输入R退回主菜单,按ENTER返回修改菜单*****************\n"); getchar(); if((k=getchar())=='R') { system ("cls"); main(); break; } } if(z==-1); { system("cls"); printf("\n无学生信息,请输入学生信息!!!!\n"); system("PAUSE"); system("cls"); change(stu); } system("cls"); change(stu); }break; case '2': system("cls"); { char a[5]; int i,n,k,ALL; printf("\n请输入要修改的姓名:\n"); scanf("%s",a); for(i=0;i<j;i ) { if(!strcmp(a,stu[i].name)) break; } n=(!strcmp(a,stu[i].name)); if(n==1) { printf("学号:%d\n",stu[i].num); printf("姓名:%s\n",stu[i].name); printf("年龄:%s\n",stu[i].age); printf("性别(m/w):%s\n",stu[i].sex); printf("出生日期 年.月.日:%s\n",stu[i].brithday); printf("籍贯:%s\n",stu[i].nation); printf("家庭地址:%s\n",stu[i].addr); printf("电话:%s\n",stu[i].phone); printf("C语言成绩:%d\n",stu[i].TestsoresC); printf("数学成绩:%d\n",stu[i].TestsoresM); printf("英语成绩:%d\n",stu[i].TestsoresE); printf("思政成绩:%d\n",stu[i].TestsoresP); printf("总成绩:%d\n",ALL=stu[i].TestsoresC stu[i].TestsoresM stu[i].TestsoresE stu[i].TestsoresP); printf("*******************************修改学生信息*************************************\n"); printf("请输入此学生新信息:\n"); printf("学号:\n"); scanf("%d",&stu[i].num); printf("姓名:\n"); scanf("%s",stu[i].name); printf("年龄:\n"); scanf("%s",stu[i].age); printf("性别(m/w):\n"); scanf("%s",stu[i].sex); printf("出生日期 年.月.日:\n"); scanf("%s",stu[i].brithday); printf("籍贯:\n"); scanf("%s",stu[i].nation); printf("家庭地址:\n"); scanf("%s",stu[i].addr); printf("电话:\n"); scanf("%s",stu[i].phone); printf("C语言成绩:\n"); scanf("%d",&stu[i].TestsoresC); printf("数学成绩:\n"); scanf("%d",&stu[i].TestsoresM); printf("英语成绩:\n"); scanf("%d",&stu[i].TestsoresE); printf("思政成绩:\n"); scanf("%d",&stu[i].TestsoresP); printf("\n"); printf("*****************修改完成!输入R退回主菜单,按ENTER返回修改菜单*****************\n"); getchar(); if((k=getchar())=='R') { system ("cls"); main(); break; } system("PAUSE"); system("cls"); change(stu); } else { printf("无此学生信息!按任意键返回\n"); system("PAUSE"); system("cls"); change(stu); } }break; case '3': system("cls");main();break; default: system ("cls"); printf("输入错误,请重新选择:\n"); change(stu); } } void paixu(struct student stu[]) { int i,k,n; char t[30]; for(i=0;i<j;i ) for(k=0;k<j-i-1;k ) { if(stu[k].num>stu[k 1].num) { n=stu[k].num;//学号调换 stu[k].num=stu[k 1].num; stu[k 1].num=n; strcpy (t,stu[k].name);//名字调换 strcpy (stu[k].name,stu[k 1].name); strcpy(stu[k 1].name,t); strcpy (t,stu[k].age);//年龄调换 strcpy (stu[k].age,stu[k 1].age); strcpy(stu[k 1].age,t); strcpy(t,stu[k].sex);//性别调换 strcpy (stu[k].sex,stu[k 1].sex); strcpy(stu[k 1].sex,t); strcpy(t,stu[k].brithday);//生日调换 strcpy (stu[k].brithday,stu[k 1].brithday); strcpy(stu[k 1].brithday,t); strcpy(t,stu[k].nation);//籍贯调换 strcpy(stu[k].nation,stu[k 1].nation); strcpy(stu[k 1].nation,t); strcpy(t,stu[k].addr); //地址调换 strcpy(stu[k].addr,stu[k 1].addr); strcpy(stu[k 1].addr,t); strcpy(t,stu[k].phone);//电话调换 strcpy(stu[k].phone,stu[k 1].phone); strcpy(stu[k 1].phone,t); n=stu[k].TestsoresC;//C语言成绩调换 stu[k].TestsoresC=stu[k 1].TestsoresC; stu[k 1].TestsoresC=n; n=stu[k].TestsoresM;//数学成绩调换 stu[k].TestsoresM=stu[k 1].TestsoresM; stu[k 1].TestsoresM=n; n=stu[k].TestsoresE;//英语成绩调换 stu[k].TestsoresE=stu[k 1].TestsoresE; stu[k 1].TestsoresE=n; n=stu[k].TestsoresP;//思政成绩调换 stu[k].TestsoresP=stu[k 1].TestsoresP; stu[k 1].TestsoresP=n; } } printf("\n排序完成!\n"); system("PAUSE"); system("cls"); main(); } void delete_xh ( ) { int i,z=-1,a,t,ALL; char k; printf("请输入学生学号:\n"); scanf("%d",&a); for(i=0;i<j;i ) { if(a==stu[i].num) z=i; } if(z!=-1) { { printf("*****************************!删除学生信息!***********************************\n"); printf("此学生信息为:\n"); printf("学号:%d\n",stu[z].num); printf("姓名:%s\n",stu[z].name); printf("年龄:%s\n",stu[z].age); printf("性别(m/w):%s\n",stu[z].sex); printf("出生日期 年.月.日:%s\n",stu[z].brithday); printf("籍贯:%s\n",stu[z].nation); printf("家庭地址:%s\n",stu[z].addr); printf("电话:%s\n",stu[z].phone); printf("C语言成绩:%d\n",stu[z].TestsoresC); printf("数学成绩:%d\n",stu[z].TestsoresM); printf("英语成绩:%d\n",stu[z].TestsoresE); printf("思政成绩:%d\n",stu[z].TestsoresP); printf("总成绩:%d\n",ALL=stu[z].TestsoresC stu[z].TestsoresM stu[z].TestsoresE stu[z].TestsoresP); for(;z<j;z ) { stu[z].num=stu[z 1].num; strcpy (stu[z].name,stu[z 1].name); strcpy (stu[z].age,stu[z 1].age); strcpy (stu[z].sex,stu[z 1].sex); strcpy (stu[z].brithday,stu[z 1].brithday); strcpy (stu[z].nation,stu[z 1].nation); strcpy (stu[z].addr,stu[z 1].addr); strcpy (stu[z].phone,stu[z 1].phone); stu[z].TestsoresC=stu[z 1].TestsoresC; stu[z].TestsoresM=stu[z 1].TestsoresM; stu[z].TestsoresE=stu[z 1].TestsoresE; stu[z].TestsoresP=stu[z 1].TestsoresP; } j--; printf("\n*****************删除完成!按ENTER返回删除菜单*********************************\n"); } } else printf("\n无此学生信息!!!!\n"); system("PAUSE"); system("cls"); main ( ); if(z==-1) { system("cls"); printf("\n无此学生信息!!!!\n"); system("PAUSE"); system("cls"); main(); } } void save(struct student stu[]) { FILE *fp; int i; if((fp=fopen("学生信息.txt","wb"))==NULL) { printf("不能打开\n"); return; } else { fwrite(stu,sizeof(struct student),j,fp); fclose(fp); printf("OK,保存完毕!任意键返回。"); getch(); system("cls"); main(); } } void load(struct student stu[]) { FILE *fp; int i=0; if((fp=fopen("学生信息.txt","rb"))==NULL) { printf("打不开文件!\n"); main(); } else { if(fp!=NULL) while(!feof(fp)) { fread(stu i,sizeof(struct student),1,fp); i ; } fclose (fp); i--; printf("读取成功!读取了%d个记录,任意键返回!",i); j = i; getch(); system("cls"); main(); } return --i; } void help() { printf("1.首次使用本系统时录入学生信息后请及时保存!\n"); printf("2.保存文件默认路径和本软件是同一路径,文件名为“学生信息.txt”.\n"); printf("3.用本系统录入过信息且保存成功,再次查看学生信息时,请先导入数据后再查看\n"); printf("\n\t\t\t\t\t\t指导教师:宋铁桥。\n\t\t\t\t\t\t2017.01.01\n"); system("PAUSE"); system("cls"); main(); }
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论