基本信息
源码名称:C语言学生信息管理系统
源码大小:0.98M
文件格式:.rar
开发语言:C/C++
更新时间:2017-09-25
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 3 元×
微信扫码支付:3 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
使用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();
}