C课程设计报告-正文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1 前言 (1)

2 需求分析 (1)

2.1课程设计目的 (1)

2.2 课程设计任务 (1)

2.3 设计环境 (1)

2.4 开发语言 (1)

3 分析和设计 (1)

3.1 模块设计 (1)

3.2 系统流程图 (3)

3.3 主要模块的流程图 (5)

4 具体代码实现 (7)

5 课程设计总结 (11)

5.1 程序运行结果 / 预期运行结果 (11)

5.2 课程设计体会 (12)

参考文献 (12)

致谢 (13)

1 前言

编写一个程序来处理学生成绩管理。通过一个结构体数组来存放输入的每一位学生的信息(包括姓名、学号、性别、年龄、五门课成绩及总分)。可以键入学生信息,保存学生信息到文件,计算学生总分,将其总分排名,显示及保存排名后的结果。

2 需求分析

2.1课程设计目的

学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础2.2 课程设计任务

1.编写一个菜单驱动的学生成绩管理程序。实现如下管理功能:

(1).计算每个学生的总分。

(2).按总分从高到低排序。

2.课程设计交流(每天写课程设计日记,通过邮件、电话等方式向老师汇报课程设计情况);按要求写好课程设计论文。

2.3 设计环境

(1)WINDOWS XP系统

(2)Visual C++

2.4 开发语言

C语言

3 分析和设计

3.1 模块设计

定义结构体类型struct 表示学生信息(包括:姓名、学号、年龄、性别及五门课成绩),定义一个结构体数组STU student[M],用来存放M个学生的信息,假设M为10。如下所示:

#define M 10

typedef struct

{char name[9],

number[11];

int age;

char sex;

int score[S+1];}STU;

STU student[M];

定义一个void sum()函数,本函数的功能是将计算每个学生的总分。定义一个void sort()函数,本函数的功能是按总分从高到低排序。

3.2 系统流程图

图3.1 系统流程图

3.3 主要模块的流程图

图3.2 sort流程图

图3.3 sum流程图

4 具体代码实现

#include"stdio.h"

#include"string.h"

#define M 10

#define S 5

/*用结构体存放一个学生信息(姓名、学号、年龄、性别及5门课的成绩)*/ typedef struct

{char name[9],number[11];

int age;

char sex;

int score[S+1];}STU;

STU student[M];

void input(),sum(),sort(),outputs(),outputf(),save();

void main()

{char choice;

while(1)

{printf("\t\t\t~~~学生成绩管理系统~~~\n");

printf("\t\t\t1. 输入十个学生信息\n");

printf("\t\t\t2. 保存十个学生信息到文件data1.txt\n");

printf("\t\t\t3. 计算学生总分\n");

printf("\t\t\t4. 对学生总分排序\n");

printf("\t\t\t5. 显示结果\n");

printf("\t\t\t6. 保存结果到data2.txt\n");

printf("\t\t\t7. 退出程序\n");

printf("请输入1~7选择:\n");

scanf(" %c",&choice);

switch(choice)

{case '1': input();break;

case '2': save();break;

case '3': sum();break;

case '4': sort();break;

case '5': outputs();break;

case '6': outputf();break;

case '7': exit(0);break;

default:printf("错误!请重新选择\n");}}}

void input()/*是从键盘输入10名学生的信息:姓名、学号、年龄、性别及5门课的成绩*/

{int i,j;

for(i=0;i

{do {printf("请输入第%d个学生的姓名: ",i+1);

gets(student[i].name);gets(student[i].name);}

while(strlen(student[i].name)<=0||strlen(student[i].name)>=8);

do {printf("请输入第%d个学生的学号: ",i+1);

gets(student[i].number);}

while(strlen(student[i].number)!=10);

do {printf("请输入第%d个学生的年龄[0,200]: ",i+1);

scanf("%d",&student[i].age);}

while(student[i].age<0||student[i].age>200);

do {printf("请输入第%d个学生的性别(f,F,m,M): ",i+1);

scanf(" %c",&student[i].sex);}

while(student[i].sex!='m'&&student[i].sex!='M'&&student[i].sex!='f'&&student[i].sex!='F' );

printf("请输入第%d个学生的五门课成绩:\n",i+1);

for(j=0;j

{ do {printf("\t\t\t第%d门成绩[0,100]: ",j+1);

scanf("%d",&student[i].score[j]);}

while(student[i].score[j]<0||student[i].score[j]>100);}

printf("\n\n");}

printf("数据输入完成\n\n");}

相关文档
最新文档