- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言课程设计报告先生成绩信息管理系统源代码
实验报告
一、 问题陈述及其需求分析
学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:
(1)增加一个学生的信息(需输入要增加学生的所有信息);
(2)统计本班学生总人数及男女生人数。
(3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。
(4)按学号对所有学生信息排序,并输出结果;
(5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。
( 二 ) 功能需求分析
学生信息管理系统设计
学生信息包括:学号,姓名,性别,出生年月,电话
使之提供以下功能:
1、 系统以菜单方式工作
2、建立链表并显示插入新的学生信息删除某学号的学生信息查找某学号的学生信息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];
};
头文件
#includestdio.h
#includestdlib.h
#includestring.h
/*定义数据结构和链表*/
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-student.name,a);
p-next=NULL;
3、学生信息的删除
首先查询要删除的学生信息的学号,如果存在删除该学生,如果不存在给予相应的提示。
t=p-next;
p-next=p-next-next;
free(t);//释放空间
4、学生信息的排序
新建链接,然后按要求对学生信息进行排序
while(z-nextz-next-student.num=p-student.num)
z=z-next;
p-next=z-next;
z-next=p;
5、学生人数的统计:
6、学生信息的显示:直接发调用函数即可。
四、运行结果
五、总结
1、调试分析
(1)刚编译完后有好多错误和警告,运行失败,然后经过修改错误警告慢慢减少,最终可以运行。
(2)该程序中可能还存在一些小问题,比如有的时候它会主动清屏,有的时候不会。并且我在编译的过程中发现自己存在好
文档评论(0)