C语言实训题:简单学生成绩管理系统 15
1.程序功能模块划分2.主函数(main):主函数(main)是程序入口,main函数是整个程序的组织中枢,可以采用命令方式组织,也可用菜单方式组织。命令方式:程序启动后...
1. 程序功能模块划分
2. 主函数(main):
主函数(main)是程序入口,
main函数是整个程序的组织中枢,可以采用命令方式组织,也可用菜单方式组织。
命令方式:程序启动后在屏幕上显示命令提示,如下:
成绩管理>
使用者在>后输入要执行的命令,如:
成绩管理>list
程序根据用户的命令,调用“列出成绩”模块(函数),在屏幕上列出全班学生的成绩,按任一键后返回命令提示状态。各命令单词及意义,由程序设计者规定,如:
load---载入成绩,list---列出学生成绩,input---录入成绩,
find---查询某学生成绩,sum---成绩统计,modi---修改成绩,
saveas---另存为,encode---加密解密,exit---退出,sort---排名次
help---显示以上的命令邦助。
菜单方式:程序启动后在屏幕上显示菜单选项,等待用户选择,如下:
1---载入成绩
2---列出学生成绩
3---录入成绩,
4---查询某学生成绩
5---成绩统计
6---修改成绩,
7---另存为
8---加密解密
9---排名次
0---退出,
请选择要执行的操作:
如用户键入“5”,程序调用“统计成绩”模块(函数),在屏幕上列出全班学生的成绩统计结果(平均分、分数段……),按任一键后返回命令提示状态
main函数的流程大致是:开始时,调用载入函数,从成绩文件读入学生成绩到数组中,然后显示命令提示信息或菜单提示信息,循环等待用户键入命令或菜单选项,根据用户输入,调用相关的功能函数。程序大概框架如下:
………
struct student st[100];// 学生成绩数组
………
main( )
{
……..
从命令行参数中取得成绩文件名, …..
……..
loadscore(成绩文件名, st);// 从成绩文件读入学生成绩到数组
……..
while (1)
{
显示菜单列表 或 操作命令提示
用getc或gets或scanf读取用户键入的命令或菜单选项
用if或switch语句,根据用户输入,调用相应的功能函数
}
}
3. 载入成绩(loadscore):
初始化清空成绩数组st[100],根据使用者给定的文件名,载入另一个班的学生成绩(放在另一成绩文件中),以便对新载入的这个班的学生成绩进行管理。如果指定的成绩文件原来不存在,则据给定的文件名建立一个新的空白成绩文件,这样用户可以通过录入函数输入学生成绩。
整个程序中,用户选择了“载入”菜单项或命令提示符后键入“load 文件名”这样的命令,程序清除当前成绩数组st[100],根据给定的文件名,载入另一个班的学生成绩(放在另一成绩文件中),以便管理另一上班的学生成绩。
4. 列出学生成绩(listscore)
功能:按照一定的格式,把成绩数组st[100]中的信息,列出显示在幕屏上,具体格式由编程者决定,大致如下风格:
序号 姓名 导论 C语言 英语 数学 总分 平均分
1 xxxxx 90 65 76 80 243 76.6
2 xxxxx 43 87 98 41 204 66.1
3 xxxxx 54 76 78 55 195 59.7
………..
用户选择了“列出成绩”菜单项或命令提示符后键入“list”命令时,调用此函数。
5. 录入学生成绩(inputinfo)
功能:逐个输入学生的姓名、各科目成绩等学生信息,存放到成绩数组中最前的空白元素(结构体),并按规定的格式添加到成绩文件尾(保存到文件)。
用户选择了“录入成绩”菜单项或命令提示符后键入“input”命令时,调用此函数。
6. 查询某学生成绩(findbyname)
功能:输入某个学生的姓名,程序据姓名在成绩数组st[100]中查找到此学生的结构体(元素),并按一定的格式在屏幕上显示此同学生信息。
用户选择了“查询成绩”菜单项或命令提示符后键入“find 姓名”命令时,调用此函数。
7. 成绩统计(totalscore)
功能:从成绩数组st[100]提取信息,统计学生考试成绩,如:各科目平均分、及格率、优秀率、各分数段人数等(学生自已思考有还有哪些应统计的)。用户选择了“统计成绩”菜单项或命令提示符后键入“sum”命令时,调用此函数,把统计的结果显示在屏幕上。
8. 修改成绩(modiscore)*
功能:重新输入某个学生的某项信息,并用新的数据替换成绩数组中的相应数据项,并把整个成绩数组的信息,写回成绩文件(文件中的原内容被完全替换)。还有一项功能:指明删除某同学的信息,从成绩数组中清除该同学的相应数据,并把整个成绩数组的信息,写回成绩文件(文件中的原内容被完全替换)
用户选择了“修改成绩”菜单项或命令提示符后键入“modi”命令时,调用此函数。 展开
2. 主函数(main):
主函数(main)是程序入口,
main函数是整个程序的组织中枢,可以采用命令方式组织,也可用菜单方式组织。
命令方式:程序启动后在屏幕上显示命令提示,如下:
成绩管理>
使用者在>后输入要执行的命令,如:
成绩管理>list
程序根据用户的命令,调用“列出成绩”模块(函数),在屏幕上列出全班学生的成绩,按任一键后返回命令提示状态。各命令单词及意义,由程序设计者规定,如:
load---载入成绩,list---列出学生成绩,input---录入成绩,
find---查询某学生成绩,sum---成绩统计,modi---修改成绩,
saveas---另存为,encode---加密解密,exit---退出,sort---排名次
help---显示以上的命令邦助。
菜单方式:程序启动后在屏幕上显示菜单选项,等待用户选择,如下:
1---载入成绩
2---列出学生成绩
3---录入成绩,
4---查询某学生成绩
5---成绩统计
6---修改成绩,
7---另存为
8---加密解密
9---排名次
0---退出,
请选择要执行的操作:
如用户键入“5”,程序调用“统计成绩”模块(函数),在屏幕上列出全班学生的成绩统计结果(平均分、分数段……),按任一键后返回命令提示状态
main函数的流程大致是:开始时,调用载入函数,从成绩文件读入学生成绩到数组中,然后显示命令提示信息或菜单提示信息,循环等待用户键入命令或菜单选项,根据用户输入,调用相关的功能函数。程序大概框架如下:
………
struct student st[100];// 学生成绩数组
………
main( )
{
……..
从命令行参数中取得成绩文件名, …..
……..
loadscore(成绩文件名, st);// 从成绩文件读入学生成绩到数组
……..
while (1)
{
显示菜单列表 或 操作命令提示
用getc或gets或scanf读取用户键入的命令或菜单选项
用if或switch语句,根据用户输入,调用相应的功能函数
}
}
3. 载入成绩(loadscore):
初始化清空成绩数组st[100],根据使用者给定的文件名,载入另一个班的学生成绩(放在另一成绩文件中),以便对新载入的这个班的学生成绩进行管理。如果指定的成绩文件原来不存在,则据给定的文件名建立一个新的空白成绩文件,这样用户可以通过录入函数输入学生成绩。
整个程序中,用户选择了“载入”菜单项或命令提示符后键入“load 文件名”这样的命令,程序清除当前成绩数组st[100],根据给定的文件名,载入另一个班的学生成绩(放在另一成绩文件中),以便管理另一上班的学生成绩。
4. 列出学生成绩(listscore)
功能:按照一定的格式,把成绩数组st[100]中的信息,列出显示在幕屏上,具体格式由编程者决定,大致如下风格:
序号 姓名 导论 C语言 英语 数学 总分 平均分
1 xxxxx 90 65 76 80 243 76.6
2 xxxxx 43 87 98 41 204 66.1
3 xxxxx 54 76 78 55 195 59.7
………..
用户选择了“列出成绩”菜单项或命令提示符后键入“list”命令时,调用此函数。
5. 录入学生成绩(inputinfo)
功能:逐个输入学生的姓名、各科目成绩等学生信息,存放到成绩数组中最前的空白元素(结构体),并按规定的格式添加到成绩文件尾(保存到文件)。
用户选择了“录入成绩”菜单项或命令提示符后键入“input”命令时,调用此函数。
6. 查询某学生成绩(findbyname)
功能:输入某个学生的姓名,程序据姓名在成绩数组st[100]中查找到此学生的结构体(元素),并按一定的格式在屏幕上显示此同学生信息。
用户选择了“查询成绩”菜单项或命令提示符后键入“find 姓名”命令时,调用此函数。
7. 成绩统计(totalscore)
功能:从成绩数组st[100]提取信息,统计学生考试成绩,如:各科目平均分、及格率、优秀率、各分数段人数等(学生自已思考有还有哪些应统计的)。用户选择了“统计成绩”菜单项或命令提示符后键入“sum”命令时,调用此函数,把统计的结果显示在屏幕上。
8. 修改成绩(modiscore)*
功能:重新输入某个学生的某项信息,并用新的数据替换成绩数组中的相应数据项,并把整个成绩数组的信息,写回成绩文件(文件中的原内容被完全替换)。还有一项功能:指明删除某同学的信息,从成绩数组中清除该同学的相应数据,并把整个成绩数组的信息,写回成绩文件(文件中的原内容被完全替换)
用户选择了“修改成绩”菜单项或命令提示符后键入“modi”命令时,调用此函数。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询