实例介绍
【实例简介】
使用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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论