用C语言编写学生信息管理系统.docx
- 文档编号:9880404
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:17
- 大小:87.25KB
用C语言编写学生信息管理系统.docx
《用C语言编写学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《用C语言编写学生信息管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
用C语言编写学生信息管理系统
一、设计目的
通过对高级语言程序设计课程设计的学习,来验证自身的学习效果,同时希望利
用所学的基本知识和技能,进行简单的C语言程序设计。
希望通过项目实践,熟悉巩固所学知识,以使自己熟练掌握高级语言程序设计,为日后学习计算机科学技术的专
业知识能有进一步深入了解,奠定基础。
二、设计内容
1、问题描述:
设计一个学生信息管理系统设计。
学生信息包括:
学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
功能要求:
1、系统以菜单方式工作
2、学生信息录入功能(学生信息用文件保存)――输入
3、学生信息浏览功能一-输出
4、学生信息查询功能一一算法
按学号查询
按姓名查询
5、学生信息的删除与修改(可选项)
三、详细设计
1、菜单:
voidmenu()
{
}
2、建立信息:
voidreadfile()
{
}
查找:
voidseek()
{
}
修改信息:
voidmodify()
{
}
插入函数:
voidinsert()
{
}
删除信息:
voiddel()
{
}
浏览信息:
2、
3、
4、
5、
6、
7、
voiddisplay()
{
}
8、保存:
voidsave()
{
}
四、调试与测试
1系统功能菜单
学生信息管理系统
艾情提醒;查询前请先刷新菓统!
二生-系耀聲谡盟…二二-上邂卿于吿莒邑……二
1遙工j避蛙三
*4•増加学生信息**5•按学号删除信息*
*「显示当前信息**八保存当前学生信息'*
*退出系统
请选择菜单编号:
.
2选择菜单“0”,进入系统帮助及说明功能
3、选择菜单“4”,添加学生信息
(1)输入增加人数
学生信息,管理系统
WWWKWZWHWHWWWHWWHWHWW系塔功詐菜单友情提醒喳询前请先刷II统!
*0.系统帮助及说明**丄-刷新学生信息**2.查询学生信息**乳條改学生信息*
MWMWWMWMWWMWMWWMITMUWMMMWUMWMWWMWMWWMWMMW昇MWM葆
*4.増加学注信息«”乩按学号删除信息«
KWMHWMWMWEMHMWWMMMWHMHMWMMMMWWMMMWWKMMWHMMHWH[6:
孚壬S剪信息,**7•保存当前学生信息严
*8■退出系统
数:
(2)依次输入学生学号,姓名,年龄,性别,出生年月,地址,电话,
请输入第1
Bi
请输入第i日kj
请输入第1
18
至输入第it输入第1
L992.5
1输入第1吉琳
请输入第1
£254258
请输入第i
djkalsfl?
SA完毕I
个学生的学号;
个学生的姓名:
个学生的年龄:
个学生的性别:
个学生的出生年月格式:
年-月>
个学生的地址:
个学生的电话;
个学生的E-mail:
(3)录入完毕,弹出菜单
4、选择菜单“3”,修改学生信息:
输入被修改者学号
系功育单‘灰情提醒:
查询前请先刷新粢统!
MKKWMKWMMMMKMKMMKMUKMaKM
修改性别
*0-系统帮助及说明八♦刷新学生信息*
*2•查询学生信息八修改学生信息*
«4•増加学生信息八E.按学号删除信息*
*氛显示当前信息**7-保存当前学生信息*
MMMMMMKMMMMMKMKMMKKMMM
*8・退岀系统*
轍蠶呱的学号:
31
请选洋子圣单勰号=1
$1入新甫姓名=
请子杲单编号=2
请输入新馬年龄=
20
I.........
iiww
1992.06
-TT-_t±:
亠rn_
(6)选择子菜单“6”,
修改电话
6n:
帀口耳市-编话-_子新:
2_-择入迫i选输2;-.隹冃注冃佣亠
(7)选择子菜单“7”,
修改E-mail
IlWSSik:
dtiryt
5、选择菜单“2”,查询学生信息
友情提醒喳询前请先刷薜黔菜单
-臥系统帮助及说明*-1•刷新学生信息
*2■查询学生信息**3•修改学生信息*
*4-增加学注信息「按学号删除信息*
」Lbi
*6•显示当前信息**7■保存当前学生信息*
*8-退岀系统
晴选择菜单编号
3恵出本菜单
(1)选择子菜单“1”,按学号查询
疇籍垂翻?
4的学号:
dtwvt
20男19?
2-0&毒副反应1759216623
(2)选择子菜单“2”,按姓名查询
dtu^t
(3)选择子菜单“3”,退出子菜单,弹出主菜单
情选择子菜单编号:
d
学生信息管理系统
XKWMMWKWMMWKWMMWKWMMW系功侖g菜甲'友情提醒二查询前请先刷新M统I
*孔系统帮助及说明**1•刷新学生信息*
*2-查询学生信息**修改学生信息
*4•増加学生信息**5•按学号删除信息*
*「显示当前信息**R保存当前学生信息*
*驭退出系统*
6、选择菜单“6”,显示当前信息
dtwyt
01挨尔20男1艸2・06毒副反应1759216623
请选择菜卒编号汚
请输入要删除学生的学号:
01
删除成功>显示结果请选择菜单
(2)再次输入“6”,确认是否删除该学生信息
五、源程序清单
源程序代码如下
#includevstdio.h>
#include
#includevstring.h>#defineBUFLEN100#defineLEN15#defineN100structrecord{
charcode[LEN+1];charname[LEN+1];intage;
charsex[3];chartime[LEN+1];charadd[30];
chartel[LEN+1];charmail[30];}stu[N];
intk=1,n,m;voidreadfile();voidseek();voidmodify();voidinsert();voiddel();voiddisplayO;voidsave();voidmenu();intmain()while(k)menu();system("pause");return0;
}
voidhelp()
printf("\n0.欢迎使用系统帮助!
\n");
printf("\n1.进入系统后,先刷新学生信息,再查询;\n");
printf("\n2.按照菜单提示键入数字代号;\n");
printf("\n3.增加学生信息后,切记保存按;\n");
printf("\n4.谢谢您的使用!
\n");
}
voidreadfile()char*p="student.txt";
FILE*fp;
inti=0;
if((fp=fopen("student.txt",T'))==NULL)
{
printfC'Openfile%serror!
Strikeanykeytoexit!
",p);system("pause");
exit(0);
while(fscanf(fp,"%s%s%d%s%s%s%s%s",stu[i].code,stu[i].name,&stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)
fclose(fp);
n=i;
printf("录入完毕!
\n");}voidseek()inti,item,flag;
chars1[21];
printf("\n");
printf("-----1.按学号查询-----\n");
printf("-----2.按姓名查询-----\n");
printf("-----3.退出本菜单-----\n");
printf("\n");
while
(1)
{
printf("请选择子菜单编号:
");
scanf("%d",&item);
flag=0;
switch(item)
{
case1:
printf("请输入要查询的学生的学号:
\n");
scanf("%s",s1);
for(i=0;i if(strcmp(stu[i].code,s1)==0)flag=1; E-mail\n"); printf("学生学号学生姓名年龄性别出生年月地址电话 printf("\n"); printf("%6s%7s%6d%5s%9s%8s%10s%14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); } if(flag==0) printf("该学号不存在! \n");break; case2: printf("请输入要查询的学生的姓名: \n"); scanf("%s",s1); for(i=0;i if(strcmp(stu[i].name,s1)==0) { flag=1; printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n");printf("\n"); printf("%6s%7s%6d%5s%9s%8s%10s%14s\n",stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail); if(flag==O) printf("该姓名不存在! \n");break; case3: return; default: printf("请在-3之间选择\n"); } voidmodifyOinti,item,num; charsex1[3],s1[LEN+1],s2[LEN+1]; printf("请输入要要修改的学生的学号: \n");scanf("%s",s1); for(i=0;i if(strcmp(stu[i].code,s1)==O)num=i; printf("\n"); printf("1.修改姓名\n"); printf("2.修改年龄\n"); printf("3.修改性别\n"); printf("4.修改出生年月\n"); printf("5.修改地址\n"); printf("6.修改电话号码\n"); printf("7.修改E-mail地址\n"); printf("8.退出本菜单\n"); printf("\n"); while (1) { printf("请选择子菜单编号: "); scanf("%d",&item); switch(item)case1: printf("请输入新的姓名: \n"); scanf("%s",s2); strcpy(stu[num].name,s2);break;case2: printf("请输入新的年龄: \n"); scanf("%d",&stu[num].age);break;case3: printf("请输入新的性别: \n"); scanf("%s",sex1); strcpy(stu[num].sex,sex1);break;case4: printf("请输入新的出生年月: \n");scanf("%s",s2); strcpy(stu[num].time,s2);break;case5: printf("请输入新的地址: \n"); scanf("%s",s2); strcpy(stu[num].add,s2);break; case6: printf("请输入新的电话号码: \n");scanf("%s",s2); strcpy(stu[num].tel,s2);break; case7: printf("请输入新的E-mail地址: \n");scanf("%s",s2); strcpy(stu[num].mail,s2);break;case8: return; default: printf("请在-8之间选择\n");} voidsort() { inti,j,*p,*q,s; chartemp[10]; for(i=0;i strcpy(temp,stu[j-1].code); strcpy(stu[j-1].code,stu[j].code); strcpy(stu[j].code,temp); strcpy(temp,stu[j-1].name); strcpy(stu[j-1].name,stu[j].name);strcpy(stu[j].name,temp); strcpy(temp,stu[j-1].sex); strcpy(stu[j-1].sex,stu[j].sex); strcpy(stu[j].sex,temp); strcpy(temp,stu[j-1].time); strcpy(stu[j-1].time,stu[j].time); strcpy(stu[j].time,temp); strcpy(temp,stu[j-1].add); strcpy(stu[j-1].add,stu[j].add); strcpy(stu[j].add,temp); strcpy(temp,stu[j-1].tel);strcpy(stu[j-1].tel,stu[j].tel);strcpy(stu[j].tel,temp); strcpy(temp,stu[j-1].mail); strcpy(stu[j-1].mail,stu[j].mail); strcpy(stu[j].mail,temp); p=&stu[j-1].age; q=&stu[j].age; s=*q; *q=*p; *p=s; } voidinsert() { inti=n,j,flag; printf("请输入待增加的学生数: \n"); scanf("%d",&m); do { flag=1; while(flag) { flag=0; printf("请输入第%d个学生的学号: \n",i+1); scanf("%s",stu[i].code);for(j=0;j if(strcmp(stu[i].code,stu[j].code)==O) { printf("已有该学号,请检查后重新录入! \n"); flag=1; break; } } printf("请输入第%d个学生的姓名: \n",i+1); scanf("%s",stu[i].name); printf("请输入第%d个学生的年龄: \n",i+1); scanf("%d",&stu[i].age); printf("请输入第%d个学生的性别: \n",i+1); scanf("%s",stu[i].sex); printf("请输入第%d个学生的出生年月: (格式: 年月)\n",i+1); scanf("%s",stu[i].time); printf("请输入第%d个学生的地址: \n",i+1); scanf("%s",stu[i].add); printf("请输入第%d个学生的电话: \n",i+1); scanf("%s",stu[i].tel); printf("请输入第%d个学生的E-mail: \n",i+1); scanf("%s",stu[i].mail); if(flag==0) {i++; }while(ivn+m);n+=m; printf("录入完毕! \n\n");sort(); } voiddel() { inti,j,flag=O; chars1[LEN+1]; printf("请输入要删除学生的学号: \n"); scanf("%s",s1); for(i=0;i if(strcmp(stu[i].code,s1)==0) { flag=1; for(j=i;j stu[j]=stu[j+1]; } if(flag==0) printf("该学号不存在! \n"); if(flag==1)printf("删除成功,显示结果请选择菜单\n");n--; voiddisplayO { inti; printf("所有学生的信息为: \n"); printf("学生学号学生姓名年龄性别出生年月地址电话E-mail\n"); printf("\n"); for(i=0;i } } voidsave()inti; FILE*fp; fp=fopen("student.txt","w");for(i=0;i fclose(fp); 学生信息管理系统\n\n"); voidmenu(){intnum;printf("\n\n 系^统功能I菜************************ printf("********************* \n"); printf("友情提示: 查询前请先刷新系统! \n"); printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf("printf(" \n"); printf("请选择菜单编号: "); seanf("%d",&num); switch(num) { case0: help();break;case1: readfile();break; case2: seek();break;case3: modify();break; case4: insertO;break;case5: del();break; case6: display();break;case7: save();break; case8: k=0;break; default: printf("请在-8之间选择\n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编写 学生 信息管理 系统