outf.close();
cout<<"生成成功!
getchar();
getchar();
}int main()
{while(1)
{("cls");
cout<<"学生管理系统
cout<<" 1.新增成绩
cout<<" 2.删除成绩
cout<<" 3.
cout<<" 4.查看成绩
cout<<" 5.生成表格
int a;
cin>>a;
if(a==1)
jz();
else if(a==2)
cz();
else if(a==3)
xg();
else if(a==4)
ck();
else if(a==5)
sc();
else
{cout<<"输入错误!
getchar();
getchar();
}}
return 0;
}------------------------
时间紧凑,如有BUG,请回复
效果图:
急!!!学生信息管理程序
针对你的问题急!!!FILE fp;学生信息管理程序,
提供一份的适用于初学者的代码对你来说是有必要的,
带着你的问case 6:ftaxis();break;题和Email来找我,
有时间可以帮你,救急,
使用百度_Hi给我留言,
此回复import ja.io.;针对所有来访者和需求者有效,
ES:7E65BF3CE78163839C8CE512DC941CE1
小弟现在急需要一个 (学生信息管理系统论文)
void Delete(struct student next)基于ASP的学生信息管理系统的设计与实现
gets(st[i].name);摘 要
由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。
本系统采用B/S结构,ASP为开发语言,SQL 2000为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人管理模块,基本信息管理模块,特殊信息管理模块,毕业生信息管理模块,成绩管理模块,更多信息管理模块,退出系统模块。详细介绍了系统各个模块与功能的实现原理,总结开发阶段与测试阶段所遇到的问题与解决方法。
:ASP;SQL 2000;B/S结构
1 引言
管理信息系统就是我们常说的MIS(Mament Information System ),在强调管理,强调信息的现代中它变得越来越普及。MIS是一门新的科学,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。
近年来Internet的飞速发展,Intranet技术得到了应用,为企业MIS提供了良好的支持环境。管理信息系统在企业的应用中存在三个要素,这就是人、计算机和数据。人是指企业、管理人员、技术人员,以及MIS建设的机构和实施机构,他们必须有企业管理人员,尤其是企业的积极参与。计算机技术使MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理控制是MIS的基础。是想要计算一台机床的成本,需要按时输入、每个零件以及每个螺钉螺母的费用,涉及企业的生产车间、采购、库房、 工艺设计和财务等多个部门,必须有一套管理制度作保证。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类的各个领域并发挥着越来越重要的作用。目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。尤其在管理成绩时,任务更加繁重,就成绩管理本身来说,它是一项任务繁重、时效性较强的系统工作,它不但涉及学生个人成绩查询,更涉及到各教师的工作效率和质量。近年来随着计算机的迅速发展,计算机已经在各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。
现在我国的一些院校中的信息管理效率还不是很高,这样已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。所以,学生信息系统的设计与开发也是一个时代必经的阶段。本次设计主要采用B/S结构,主要实用于各高校的各专业,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要有六大模块,基本信息管理、特殊信息管理、毕业生信息管理、更多信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用WindonwsXP为作平台,ASP作为脚本语言,采用SQL Sr 2000作为数据库,用户可以实现对数据的录入,修改,删除等作。
2 系统开发背景
随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段。本次设计主要采用B/S结构,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要分为六大模块,基本信息管理、特殊信息管理、毕业生信息管理、更多信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用户可以对各种信息进行录入,修改,删除等作。更方便各个专业老师对学生信息的系统化管理,提高办公效率,以达到更合理化,方便化等要求。
3 系统开发环境
3.1 系统开发理论依据
3.1.1 ASP概述
ASP是Active Page的缩写,意为“活动网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种站中。 ASP是一种端脚本编写环境,可以用来创建和运行页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。 与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)上的ASP解释程序会在端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用端ActiveX组建来执行各种各样的任务,例如存取数据库、发现那个Email或访问文件系统等。
(6)由于是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。
2.ASP的优点
ASP的主要优点大概可以归纳如下:
(1)可以用 VBscript 或Jscript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于 VBscript和Jscript,使用哪种语言并不重要,Web 等同地处理这两种语言,并向用户的浏览器发送 HTML 格式化结果。
(3)使用普通的使用记事本之类的文本编辑器,即可进行编辑设计,如:Windows的记事本。不要用FontPage98或DreamWeer2.0等主页制作软件修改,因为会破坏源代码的。建议使用CuteFTP携带的CuteHTML编辑器进行编辑设计。
(4)ASP是运行在端,所以无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览Active Pages所设计的网页内容。ASP在端运行,当程序执行完毕后,仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
(5)ASP能与任何ActiveX scripting语言相容。除了可用VBprintf("ttt1.键入学生的信息nn"); /键入学生的信息/script或Jscript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)组件。
(6)Active Pages的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
(7)可使用端的脚本来产生客户端的脚本。
(8)面向对象(Object oriented),并可扩展ActiveX 组件功能。
(9)ActiveX Components(ActiveX组件)具有无限可扩充性。可以使用任何编程语言来编写所需要的ActiveX 组件。
(10)可以通过ADO(ActiveX Data Objects,微软的一种新的数据访问模型,是一种可以提供WEB页面开发者轻松存取Internet的数据库,并可以在用户端实现网上立即、即时更新显示的WEB页面数据库技术。)非常方便地访问数据库,从而使存取数据库变得轻松容易。
3.1.2 SQL介绍
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL , Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库作。
3.1.3 B/S结构介绍
B/S(Browser/)结构即浏览器和结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在端()实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员, 从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和作共同的数据库;它能有效地保护数据平台和管理访问权限,数据库也很安全。
3.2.1 系统软件环境
本系统采用的软件工具有:
Windows XP
Dreamweer MX 2004
SQL 2000
IIS 5.1V
Inertnet Explorer 6.0以上
3.2.2 工具
Dreamweer MX 2004
Dreamweer MX 2004 是 建立 Web 站点和应用程序的专业工具。 它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。 从对基于 CSS 的设计提供领先的支持到手动编码功能,Dreamweer 在一个集成和高效的环境中为专业人员提供了所需的工具。 开发人员可以将其选择的技术与 Dreamweer 配合使用,建立将用户连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。
SQL 2000
SQL 2000能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL 2000 还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用 Web 带来的机会非常重要。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQL 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在 Internet 上和防火墙外进行查询的能力。
4 系统分析
4.1 系统目标
在对现有系统和现状认真调查分析的基础上,明确了学生信息管理工作本身存在的问题和建立管理信息系统的初步要求,进一步研究确定新系统的目标如下:
(1)按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持学生管理的全过程,提高教务工作的效率。
(2)针对现代计算机广泛应用的情况以及数据的封闭性,学生信息管理系统基于Windows系统研制、设计和开发。
(3)考虑经费等的原因,系统使用一台PC机和现有软件以节省资金、降低成本。
4.2 可行性分析
经过调查、研究、分析、计算,在学生信息管理中的应用已经条件成熟,将从以下几个方面总结系统开发的可行性,具体情况如下:
(1)技术可行性
以WindowsXP为作系统,采用ASP为脚本语言,运用SQL的数据库技术,设计与开发学生信息管理系统。新系统的运行硬件环境PC机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护作和运用。
(2)经济可行性
一方面,系统中友好的人机界面和更强劲的功能支持,会使教务人员的工作进一步提高,从而节省人力、物力,进而提高经济效益;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境。
(3)作可行性
作上是对Windows作系统的引用,该系统的使用,主要凭借使用Windows作技术即可完成数据录入、修改、删除等功能,方便简单。使用前只要对用户进行简单的说明或阅读帮助文件即可使用该系统。
希望对您有帮助。
学生信息管理系统设计
return list;你没有给出悬赏分,估计没有很多人会来回答,我这里有一个学生信息管理系统,你看看吧,把你需要的功能在修改一下就可以了。
#include
struct student{
int id;
char name[10];
int age;
char [10];
char yuanxi[20];
int fenshu;
char zhuanye[50];
}st[50];
int i=0;
void shuru() {
char a;
do{
printf("n请输入学号:");
scanf("%d",&st[i].id);
fflush(stdin);
printf("n请输入姓名:");
printf("n") ;
printf("请输入年龄:");
scanf("%d",&st[i].age);
fflush(stdin);
printf("n请输入性别:");
gets(st[i].);
fflush(stdin);
printf("n请输入院系:");
gets(st[i].yuanxi);
printf("n请输入分数:");
scanf("%d",&st[i].fenshu);
fflush(stdin);
printf("n请输入专业:");
gets(st[i].zhuanye);
printf("n是否继续输入另外一个学生信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}while(a=='y' && i<=50);
}void xianshi()
{int j;
printf("t学号t姓名t年龄t性别t院系t专业t分数n");
for(j=0;j
printf("t%dt%st%dt%st%st%dt%sn",
st[j].id,st[j].name,st[j].age,st[j].,st[j].yuanxi,st[j].fenshu,st[j].zhuanye);
}void chazhao()
{int m;
char name[20],b;
do
{printf("n请输入想查找的学生姓名:");
fflush(stdin);
gets(name);
for(m=0;m
{if(strcmp(name,st[m].name)==0)
{printf("nt您查找的学生在第%d个位置找到了!!!n",m+1);
}}
printf("nt没有找到这个System.out.println("输入有误,请重新输入:");学生!!!n");
else
{printf("学号 性别 年龄 院系 专业 分数");
printf("t%dt%st%dt%st%st%dt%sn",
st[m].id,st[m].name,st[m].age,st[m].,st[m].yuanxi,st[m].fenshu,st[m].zhuanye);
}printf("n是否查找另一个学生的信息?(y/n)");
fflush(stdin);
b=getchar();
}while(b=='y');
}void shanchu()
{char name[20],c;
int a,b;
do
{printf("n请输入要删除的学生姓名:n");
fflush(stdin);
gets(name);
for(a=0;a
{if(strcmp(name,st[a].name)==0)
}for(b=a;b
st[b]=st[b+1];
if(a>i)
printf("t没有找到这个学生!!!n");
else
{i--;
xianshi();
}printf("n是否继续删除另一个学生信息?(y/n) ");
fflush(stdin);
c=getchar();
}while(c=='y');
}void charu()
{shuru();
}int main()
{int change;
do{
("cls");
printf("============================学生信息管理系统===================================n");
printf("tt一: 输入学生信息n");
printf("tt二: 显示学生信息n");
printf("tt三: 查找学生信息n");
printf("tt五: 插入学生信息n");
printf("tt六: 退出程序n");
fflush(stdin);
printf("tt请输入功能选项:");
scanf("%d",&change);
switch(change)
{case 1:
shuru(); break;
case 2:
xianshi(); break;
case 3:
chazhao(); break;
case 4:
shanchu(); break;
case 5:
charu(); break;
case void main() /主函数即用户的作界面/6:
}}while(change!=6);
("pause");
return 0;
}程序很容易看懂的,你可以自己增设一些内容,不懂的地方可以来问我。
加油哦~~
学生信息管理系统(Ja程序设计)
}return stu;怎么会跟ja无关?建表时数据库的,你的图形用户界面和DAO的增删改查是用JAVA的。这个其实很简单的,只是的VIEW是用的图形界面而已,学过JAVA基础的和JDBC的这个没什么难度的吧,建议楼主去看看这方面的知识
(2)因为ASP采用script语言(VBscript和Jscript)就可以轻松编写程序,因此这就大节省了网络设计人员又得重新学习一种新语言的时间。而且编写ASP无须手工compile编译或链接程序,可在端直接执行,这无疑是更加方便了编写过程。可以不用数据库啊,用对象数据化来做也是可以的
这个跟JAVA没什么关系吧,就是直接数据库的设计
很抱歉,我才大一。还没学到 JAVA 呢。
其实和简单,多给点报酬会有人解答的
this.choseFunction();可以看一下我的的百度空间~~
学生信息管理系统编程(c语言)
int i;挺好的一个题目啊
printf("tt四: 删除学生信息n");但我可不愿意帮人写作业
网上很多类似的,你可以参考下:
#include
#include struct student {
char name[30];
float math;
float chinese;
float erage;
};
int MenuCho(void);
int EnterAccount(void);
void Enter(struct student fst);
void Amend(struct student src);
void Delete(struct student next);
void Print(struct student out);
main()
{struct student one[100] = {0}, look = one;
int menu, t;
while ((menu = MenuCho()) != 0)
if (menu >= 1 && menu <= 4 && (t = EnterAccount())) {
look = one + t;
switch (menu) {
case 1:
Enter(look);
case 2:
if (strcmp(look->name, ""))
printf("学号:%dn姓名: %sn语文成绩: %.1fn数学成绩:%.1fn英语成绩: %fn平均"成绩:%.1fn",
t, look->name, look->chinese, look->math, look->english, look->erage);
else
printf("对不起,该学号不存在!n");
case 3:
Amend(look);
case 4:
Delete(look);
}}
else if (menu == 5)
Print(one);
else
printf("错误的请求!n");
return 0;
}int MenuCho(void)
{int cho;
printf("请选择:n"
"1 - 新建学生信息n"
"2 - 查找学生信息n"
"3 - 修改学生信息n"
"4 - 删除学生信息n"
"5 - 打印学生信息n"
"0 - 退出n");
scanf("%d", &cho);
return cho;
}int EnterAccount(void)
{int ret;
printf("请输入学号:n");
scanf("%d", &ret);
return ret -1;
return 0;
}void Enter(struct student fst)
{printf("请输入学生姓名、语文成绩、数学成绩、英语成绩和平均成绩n");
scanf("%s%f%f%f%f", fst->name, &fst->chinese, &fst->math, &fst->english, &fst->erage);
}void Amend(struct student src)
{int t;
printf("请选择:n"
"1 - 修改学生姓名n"
"2 - 修改学生语文成绩n"
"3 - 修改学生数学成绩n"
"4 - 修改学生英语成绩n"
"5 - 修改学生平均成绩n");
switch (t) {
case 1:
printf("请输入学生的新名字n");
scanf("%s", src->name);
case 2:
printf("请输入学生新的语文成绩n");
scanf("%f", &src->chinese);
case 3:
printf("请输入学生新的数学成绩n");
case 4:
printf("请输入学生新的英语成绩n");
scanf("%f", &src->english);
case 5:
scanf("%f", &src->erage)import ja.util.List;;
}}
{strcpy(next->name, "");
next->math = next->english = next->chinese = next->erage = 0.0;
}void Print(struct student out)
{struct student up;
for (up = out; out < &up[100]; out++)
if (strcmp(out->name, ""))
printf("学号:%dn姓名: %sn语文成绩: %.1fn数学成绩:%.1fn英语成绩: %.1fn平均成绩:%.1fn",
out-up + 1, out->name, out->chinese, out->math, out->english, out->erage);
}
学生学籍信息管理系统设计--C语言程序
3.2 系统开发环境#include
#include
#define NULL 0
#define LEN sizeof(struct student)
struct student
{long num;
int score; struct student next;
};
int n;
struct student creat()
{ struct student head;
struct student p1,p2;
n=0;
p1=p2=( struct student) malloc(LEN);
scanf("%ld,%d",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct student)malloc(LEN);
scanf("%ld,%d",&p1->num,&p1->score);
}p2->next=NULL;
return(head);
}void print(struct student head)
{ struct printf("※ 输入错误! ※n");student p;
printf("nNow,These %d records are:n",n);
p=head;
if(head!=NULL)
do
{ printf("%ld %dn",p->num,p->score);
p=p->next;
}while(p!=NULL);
}struct student del(struct student head,long num)
{ struct student p1,p2;
if (head==NULL){printf("nlist null!n");goto end;}
p1=head;
while(num!=p1->num && p1->next!=NULL)
{p2=p1;p1=p1->next;}
if(num==p1->num)
{scanf("%f", &src->math);if(p1==head)head=p1->next;
else p2->next=p1->next;
printf("delete:%ldn",num);
n=n-1;
}else printf("%ld not been found!n",num);
end:
return(head);
}struct student insert(struct student head, struct student stud)
{ struct student p0,p1,p2;
p1=head;
p0=stud;
if(head==NULL)
{head=p0; p0->next=NULL;}
else
{我这个是在网上找的,但是这个好像没写完,不知道有没谁能把它补充出来
网上找相似的 管理系统程序修改一下就可以了
是要用A.TXT,B.TXT来代替数据库吧。这样就是要读文本字符串,分离字符串内容到数组去代替数据库了。
我QQ
416152028
+我
发给你
太长粘不上。
兄弟,这要用数据库了,不能用简单的了
这需要用数据库的查询语句还有编程结合,你想要代码吗
学生资助信息管理系统的用户名是什么?
#include全国学生资助信息管理系统用户名是申请人的号。申请人在系统中申请后,系统会以申请人的号作为用户名进行登录我给你一个我改好的,并且运行确认的吧,你稍微改一点就完全可以了:。
2021年8月,办公厅关于严格规范中等职业学校招生、学籍和资助管理工作的通知,规定申请中职学生资助的学生必须是中等职业学校全日制学历教育正式学籍在校生,非全日制、非学历教育、学籍异常的学生不得申请中职资助。
与全国中小学学生学籍管理系统中义务教育阶段在读学生学籍信息重复的学生不得申请中职资助。
全printf("ttt7.保存学生信息nn"); /保存/国学生资助管理中心主要职责与任务
参与研究制定学生资助政策措施;负责推动落实高等教育、中等职业教育、普通高中教育、义务教育和学前教育学生资助政策;指导、监督、检查地方和学校学生资助工作;协助相关部门开展资助政策宣传工作。
c语言程序设计题目:学生信息管理系统
if(m>=20)现写肯定是来不及的,分也不够,网上的有一些也有问题,
#include"stdio.h"
#include"conio.h"
#include"string.h"
#include"stdlib.h"
void look(); /声明查看函数/
void se(); /声明保存函数/
void search_name(); /声明按姓名查看函数/
void search_number(); /声明按学号查看函数/
void order(); /声明排序函数/
void del(); /声明删除函数/
int openl(); /声明打开函数/
void type(); /声明输入函数/
void see(); /声明打开并查看文件函数/
struct student /定义学生信息的结构体类型/
{char num[15]; /学号/
char [4]; /性别/
int english; /英语成绩/
int math; /数学成绩/
int chinese; /语文成绩/
float er; /平均成绩/
float sum; /总成绩/
}stu[100];
int n; /声明一个全局变量/
{("color 1E"); /设计文本颜色/
int b,flag=0; /声明局部变量/
while(1) /循环输出以下信息/
{printf("nttt欢迎来到学生成绩管理系统!n");
printf("ttt-------------------------------n");
printf("ttt2.查看录入的学生信息nn"); /查看录入的学生信息/
printf("ttt3.按姓名查看学生的信息nn"); /按姓名查看学生的信息/
printf("ttt4.按学号查看学生的信息nn"); /按学号查看学生的信息/
printf("trewind(fp);tt5.按平均成绩排序nn"); /排序/
printf("ttt6.删除学生信息nn"); /删除学生信息/
printf("ttt8.打开文件nn"); /打开文件/
printf("ttt0.退出nn"); /退出/
printf("ttt请输入你的选择:");
scanf("%d",&b);
switch(b)
{case 1:type();break; /调用键入学生信息函数/
case 2:look();break; /调用查看函数/
case 3:search_name();break; /调用姓名查看函数/
case 4:search_number();break; /调用学号查看函数/
case 5:order();break; /调用排序函数/
case 6:del();break;/调用删除函数/
case 7:se();break;/调用保存函数/
case 8:see();break;/调用打开文件函数/
case 0:flag=1;break;/退出SWITCH语句/
default :printf("错误!");
}if(flag) break; /如果选择0就退出循环/
}}
void type() /定义键入学生信息函数/
{("CLS");
int i; /定义局部变量/
printf("tt输出你想输入的学生信息个数:");
scanf("%d",&n);
for(i=0;i{printf("nttt----------------n");
printf("ttt学号:");
scanf("%s",&stu[i].num); /输入学号/
printf("ttt姓名:");
scanf("%s",&stu[i].name); /输入姓名/
printf("ttt性别:");
scanf("%S",&stu[i].); /输入性别/
printf("ttt英语:");
scanf("%d",&stu[i].english); /输入英语成绩/
printf("ttt数学:");
scanf("%d",&stu[i].math); /输入数学成绩/
printf("ttt语文:");
scanf("%d",&stu[i].chinese); /输入语文成绩/
stu[i].er=((float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese)/3;/计算平均成绩/
stu[i].sum=(float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese;/计算总成绩/
printf("ttt平均成绩=%4.1fn",stu[i].er); /输出平均成绩/
printf("ttt总成绩=%4.1fn",stu[i].sum); /输出总成绩/
}printf("nnttt按任意键返回菜单!!");
getch();
se();
}void se() /建立保存文件函数/
{("CLS");
FILE fp; /定义文件型指针/
if((fp=fopen("student.txt","wb"))==NULL) /打开输出文件/
{printf("不能打开文件!n");
return; /终止程序/
}for(i=0;iif(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
printf("文件写入错误n");
fclose(fp); /关闭文件/
printf("nnnnttt学生信息保存成功!n");
printf("nnnnttt按任意键返回菜单!!");
getch();
}void look() /定义查看函数/
{("CLS");
//n=openl(); /调用openl函数/
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
for(i=0;i{printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
getch();
}void search_name() /按姓名查看函数/
{("CLS");
char name[20]; /声明字符数组/
printf("ttt请输入学生姓名:n");
scanf("%s",name);
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
if(strcmp(stu[i].name,name)==0) /将输入的姓名与结构体中的姓名进行比较/
{printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
printf("nnnttt按任意键返回菜单");
}getch();
}void search_number() /定义按学号查看函数/
{("CLS");
char number[15]; /声明字符数组/
printf("ttt请输入学号:n");
scanf("%s",number);
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
if(strcmp(stu[i].num,number)==0) /将输入的学号与结构体中的学号进行比较/
printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
printf("nnnttt按任意键返回菜单");
getch();
}void order() /定义排序函数/
{("CLS");
int i,j;
char a;
struct student temp; /声明结构体变量/
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
for(i=0;i{for(j=i+1;jif(stu[i].sum{temp=stu[i];
stu[i]= stu[j];
stu[j]=temp;
}printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
}getch();
printf("是否保存?(y or n)");
getchar();
scanf("%c",&a);
if(a=='y') /是否保存排序后的文件/
se();
else
printf("退出");
getch();
}voscanf("%d", &t);id del() /定义删除学生信息函数/
{int i;
char a;
char name[20];
("CLS");
printf("ttt输入学生名字:n");
scanf("%s",name);
("CLS");
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
if(strcmp(stu[i].name,name)==0)
{printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
getch();
printf("真的删除?(y or n)");
getchar();
scanf("%c",&a);
if(a=='y') /是否删除该信息/
{for(;istu[i]=stu[i+1];
n=n-1;
printf("你已经删除信息");
}else
printf("退出");
getch();
}se();
}int openl() /定义打开文件函数/
{("CLS");
if((fp=fopen("student.txt","rb"))==NULL)
{printf("Cannot open file.n");
exit(0);
}for(i=0;!feof(fp);i++)
fread(&stu[i],sizeof(struct student),1,fp);
fclose(fp);
return(i-1);
}void see() /打开并查看文件/
{("CLS");
n=openl();
printf("文件打开成功!n");
printf("按任意键查看!n");
getch();
printf("t学号t姓名t性别t英语t数学t语文t平均成绩t总成绩n");
for(i=0;i{printf("%10st%st%2st%dt%dt%dt%3.1ftt%6.1fn",stu[i].num,stu[i].name,
stu[i].,stu[i].english,stu[i].math,stu[i].chinese,stu[i].er,stu[i].sum);
getch();
}