- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计报告
题 目:学生成绩管理
一、题目与要求 1
1. 问题提出 1
2. 本系统涉及的知识点 1
3.功能要求 1
二、功能设计 2
1.程序主体结构 2
2.模块流程图及源代码设计 2
2.1 分配内存,主菜单 2
2.2 for循环语句输入信息 5
2.3 for循环语句输出信息 7
2.4按平均成绩输出 7
2.5 按学号查询学生成绩 8
2.6 按学号查询学生不及格科目 10
2.7 修改学生信息 11
2.8 注销学生信息 13
2.9 保存与退出 15
3.C程序设计总结 16
三、参考文献 17
四、附录:程序清单 17
一、题目与要求
1. 问题提出
本人计划编写一个学生成绩管理系统,主要用来管理学生基本信息及成绩信息。要实现信息录入,读取,排序,查找,修改及删除信息,以及保存退出等功能。
题目:学生成绩管理主要功能:
(1)能完成对学生成绩的录入、修改
(2)能统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序
(3)能查询学生成绩,不及格科目及学生名单
(4)能输出学生的成绩单
学生属性:学号,姓名,入学年月,有成绩的学期数,四门课的成绩等9个成员,在编程中要求当执行状态输入i为输入学生记录,输入D为删除,输入s为查询(以学号为查询条件,输入p为将整个学生记录输出,使用结构数组或结构指针编程
2.模块流程图及源代码设计
2.1 分配内存,主菜单
利用malloc函数向系统申请分配指定size个字节的内存空间,输入需存的人数,并用system(cls);清除屏幕。
图1
利用switch语句设计主菜单。
菜单
1)函数原形:void menu(struct student *p,int len),int main(void)
2)功 能:利用while循环语句和scanf、getchar函数完成输入,利用malloc函数向系统申请分配指定size个字节的内存空间,利用switch语句。
3)变量及类型:
int len;:整型变量,接收输入的人数。
char ch:字符变量。
struct student *p:结构体指针变量。
4)说明:输入需存入的人数,系统分配内存空间,按回车键,显示菜单,出入选项前的字母i、p等可进入对应选项。
代码如下:
void menu(struct student *p,int len)
{ printf(\t\t||=========================================||\n);
printf(\t\t||-----------------------------------------||\n);
printf(\t\t||-----------欢迎使用学生管理系统----------||\n);
printf(\t\t||-----------------------------------------||\n);
printf(\t\t||=========================================||\n);
getchar();
getchar();
system(cls);
return;
}
int main(void)
{
int len=0;
char ch;
struct student *p;
printf(请输入需要存入的学生人数:);
scanf(%d,len);
p=(struct student *)malloc(sizeof(struct student)*len);
menu(p,len);
printf(按回车键继续\n);
while(1)
{
system(cls);
printf(\n\n\n\n);
printf(\t\t|************************************************|\n);
printf(\t\t|------------------ 学生管理系统 ----------------|\n);
printf(\t\t|************************************************|\n);
printf(\t\t|-------------- (i)录入学生信息 ------------|\n);
printf(\t\t|-------------- (p)输出学生的成绩单 ----------|\n);
printf(\t\t|-------------- (a)按平均成绩排序 ----------|\n);
printf(\t\t|-------
文档评论(0)