c语言课程设计报告学生成绩信息管理系统源代码

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

实验报告

一、问题陈述及其需求分析

(一)问题陈述

学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:

(1)增加一个学生的信息(需输入要增加学生的所有信息);

(2)统计本班学生总人数及男女生人数。

(3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。

(4)按学号对所有学生信息排序,并输出结果;

(5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析

学生信息管理系统设计

学生信息包括:学号,姓名,性别,出生年月,电话

使之提供以下功能:

1、系统以菜单方式工作

2、建立链表并显示

3、插入新的学生信息

4、删除某学号的学生信息

5、查找某学号的学生信息

6、对学生信息排序

7、统计学生人数

8、输出学生信息

二总体设计

(一)模块

依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示

void createlist(struct stucode **r);

2、插入新的学生信息

void insert(struct stucode **r); 3、删除某学号的学生信息

void del(struct stucode **r);

4、查找某学号的学生信息

void search1(struct stucode *r);

5、对学生信息排序

void sort(struct stucode **r);

6、统计学生人数

void search2(struct stucode *r);

7、输出学生信息

void out(struct stucode *r);

(二)程序总体框架

模块层次结构,只确定了模块之间的关系和函数原型,不是程序的执行步骤。程序总体框架是该程序的总体流程图。改程序不是顺序连续地执行全部功能,而是在某一时刻有选择地执行一种或多种功能。因此选用菜单方式是较佳的方案,程序总体框架如下图:

(三) 运行环境(软,硬件环境)

硬件:CPU, 内存,主板,硬盘,显卡,键盘,显示器等等。

软件:Windows XP trubo c应用软件。

(四)开发工具和编程语言

开发工具:trubo c

编程语言:C 语言

三、详细设计

(一)数据结构

依据给定学生信息和数据格式,数组用结构体实现,结构体层次结构:struct stud

{

学号整型long int num;

姓名字符串name[20];

性别字符串sex[2];

出生日期字符串birthday[12];

联系方式字符串tel[12];

};

头文件

#include

#include

#include

/*定义数据结构和链表*/

struct stud

{

long num;

char name[20];

char sex[2];

char birthday[12];

char tel[12];

};

typedef struct stucode

{

struct stud student ;

struct stucode *next;

}L;

(二)、算法说明

1、主函数的算法设计:

清屏、显示子菜单及运用选择操作(运用swith语句),调用各个子函数,最后退出程序,

主要代码:

while(flag)

{

system("cls");

menu();

choose=getchar();

switch(choose){}

2、各个子函数的算法设计

1、一些显示操作,输入相应的内容即可

代码:

2、创建链表并显示学生信息

申请空间p=(L *)malloc(sizeof(L));

学生信息的输入及显示:

p->student.num=n;

strcpy(p->,a);

p->next=NULL;

3、学生信息的删除

首先查询要删除的学生信息的学号,如果存在删除该学生,如果不存在给予相应的提示。

t=p->next;

p->next=p->next->next;

free(t);//释放空间

4、学生信息的排序

新建链接,然后按要求对学生信息进行排序

while(z->next&&z->next->student.num>=p->student.num)

z=z->next;

p->next=z->next;

z->next=p;

5、学生人数的统计:

6、学生信息的显示:直接发调用函数即可。

四、运行结果

五、总结

1、调试分析

(1)刚编译完后有好多错误和警告,运行失败,然后经过修改错误警告慢慢减少,最终可以运行。

(2)该程序中可能还存在一些小问题,比如有的时候它会主动清屏,有的时候不会。并且我在编译的过程中发现自己存在好多毛病,有粗心了等,不注意细节,其实自己也知道细节决定成败,以后我会注意。

2、设计总结

经过一周的课程设计,我学到了很多东西:

①巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。

②培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。

③过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

④够按要求编写课程设计报告书,能正确阐述设计和实验结果,正确绘制系统和程序框图。

⑤通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。

相关文档
最新文档