- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《打字练习程序
计算机程序设计(C语言)
课程设计报告
题目:学生成绩管理系统
学院:电气与电子工程学院
专业: 电气自动化
班级:九班
姓名:张迪迅
指导教师:张守伟
一、选题背景:
(1)基本掌握面向过程程序设计的基本思路和方法;
(2)达到熟练掌握C语言的基本知识和技能;
(3)能够利用所学的基本知识和技能,解决简单的程序设计问题
二、设计思想:
1. 要求利用C语言面向过程的编程思想来完成系统的设计;
2. 突出C语言的函数特征,以多个函数实现每一个子功能;
3. 画出功能模块图;
4. 进行简单界面设计,能够实现友好的交互;
5. 具有清晰的程序流程图和数据结构的详细定义;
6. 熟练掌握C语言对文件的各种操作。
三、主要解决问题的方法及技术关键
主要问题及解决方法
1. 学生基本信息及成绩所选科目成绩的录入。
2. 基本信息的查询(分系、班级;分科目)与修改
3. 对每系或每班各科成绩进行分析;
4. 对所开课程的成绩分析;
5. 对学生考试成绩进行排名
写出需求分析、总体设计、详细设计、编码、测试的步骤和内容
技术关键
(1)基本掌握面向过程程序设计的基本思路和方法;
(2)达到熟练掌握C语言的基本知识和技能;
(3)能够利用所学的基本知识和技能,解决简单的程序设计问题
四、程序流程图
五、程序清单:
#includestdio.h
#includestdlib.h
#includectype.h
#includestring.h
typedef struct student
{
char name[20];
float score;
};
int menu_select();
struct student Input_one_record()
{
struct student stud;
printf(please input the name:\n);
scanf(%s,stud.name);
printf(please input the score:\n);
scanf(%f,stud.score);
return stud;
}
int Input(struct student stu[],int n)
{
for(n=0;n=39;n++)
{
stu[n]=Input_one_record();
printf(do you want to continue:(YorN));
getchar();
if(toupper(getchar())==N)
break;
}
return n+1;
}
void Display(struct student stu[], int n)
{
int i,j;
for(i=0;i3;i++)
{
system(cls);
for(j=10*i;j=10*i+9;j++)
{
if(jn-1) break;
printf(%s%20f\n,stu[j].name,stu[j].score);
}
if(jn-1) break;
printf(press any key to display the next ten records:\n);
system(pause);
}
}
void Sort_by_Name(struct student stu[],int n)
{
int i,j,p;
struct student t;
for(i=0;i=n-2;i++)
{
p=i;
for(j=i+1;j=n-1;j++)
{
if(strcmp(stu[j].name,stu[p].name)0)
p=j;
}
if(p!=i)
{
t=stu[p];stu[p]=stu[i];stu[i]=t;
}
}
printf(succeed!\n);
}
int Insert_a_record(struct student stu[],int n)
{
struct student new;
struct student *s;
printf(please input a name:\n);
scanf
文档评论(0)