一、学生学籍信息管理系统设计(难度2)
1、需求分析
学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。
2、总体设计
  整个系统可以设计为数据录入模块、数据修改模块、数据查询模块、数据删除模块和数据排序模块。
3、详细设计
  设计学生基本信息和学生成绩基本信息结构体数组。
Struct
{
  int stuNo;        //学号
  char name[20];  //姓名
  char sex[2];    //性别
  int  domNum;  //宿舍号
  int  tel;        //电话号码
}StuInfo;  //学生基本信息结构体
Struct
{输入姓名查询成绩在线
  int stuNo;    //学号
  char courseNo;  //课程编号
  char courseName; //课程名称
  int creditHour; //学分
Int triGrade; //平时成绩
Int experiGrade; //实验成绩
Int examGrade; //卷面成绩
Float totalGrade; //综合成绩
Float finalCreHour; //实得学分
}StuGraInfo; //学生成绩基本信息结构体
基本信息存放在一个文件,成绩信息存放在另一个文件。
(1)数据录入模块
学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。
(2)数据修改模块
采用读文件方式读入学生成绩基本信息,进行修改后,以写文件方式写回原文件中。修改时,首先询问要修改信息学生的姓名或学号,然后选择要修改的内容,并输入新的数据进行修改。
(3)查询模块
通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,然后把查结果输出。若选择后者,则先查学号对应的姓名,再查该学生的课程情况,并统计科目和实得总学分,输出结果。
(3)删除模块
通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在两个文件中豆芽为中查该生信息,删除之。
(4)排序模块
通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。
可根据需要增加其他功能
二、通讯录管理系统(难度1)
1、需求分析
  信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或电话号码进行查询的功能,因而要提供查操作;另外还应该提供键盘式选择菜单以实现功能选择。
2、总体设计
  整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。
3、详细设计
  采用结构体数组。
Struct
{
  Char name[20];    //人名
  Char post[20];    //工作单位
  Int  tel;        //电话号码
  Char email[20];  //email地址
  ………………..  //根据实际需要增加内容
}TelInfo;  //电话簿信息结构体
TelInfo telInfo[N];  //电话簿信息结构体数组
(1)数据插入模块
输入数据,然后采用追加方式写文件。
(2)数据修改模块
通过菜单选择修改姓名、电话号码。可以把要修改的姓名或电话号码存储在临时变量里面,然后读文件,到要修改的记录,把该记录重新以新的值写入。
(3)数据删除模块
删除一条记录,则输入要删除的人名,然后读文件,把文件中读出来的记录的人名与待删除的人名比较,如果不匹配,则重新写入文件;否则舍弃不再写入文件。
(4)数据显示模块
    采用分屏显示,每屏10条记录。读文件,输出结果。
(5)数据查询模块
用基本查算法对电话簿实现按人名或电话号码的查询(读文件,把读出记录得相应字段与输入的查询字段比较),并把结果输出。
可根据需要增加其他功能