实验报告
一、 问题陈述及其需求分析
(一) 问题陈述
学生信息管理系统是对学生信息的基本管理,其中包括以下及模块:
(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<stdio.h>
#include<stdlib.h>
#include<string.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语句),调用各个子函数,最后退出程序,
主要代码:c++课程设计报告
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);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。