语言课程设计学生信息管理系统.docxVIP

  • 2
  • 0
  • 约6.89千字
  • 约 14页
  • 2021-03-05 发布于山东
  • 举报
语言课程设计实验报告 一、设计目的: 学生信息包括:学号、姓名、性别、系名、班级名、出生年月、住址、电话号码。设计一学生信息管理系统,使之能提供以下功能: 1.系统以菜单方式工作; 2.学生信息录入功能 (输入 ); 3.学生信息浏览功能 (输出 ); 4.学生信息检索功能; 5.学生信息的删除与修改功能; 二、总体设计思路: 1程序设计组成框图 添加新的学生信息 浏览所有学生信息 主菜单 检索学生信息  检索信息 添加新的学生信息 删除所有记录 修改此同学信息 按学号检索 按姓名检索 删除此同学信息 保存并退出 2N-S 流程图 开始 fileopen() Menu() 输入选择 x x case ‘ 1’Case’ 2 ’ case ‘ 3’ case ‘ 4’ 调用 add() 调用 scan() 调用 res() 退出系统 添加新的学生信息 浏览所有学生信息 检索学生信息 filesave() 结束 三、详细设计说明 : 1头文件 #include #include #include #include 2数入口说明 main(); 主函数; void menu(); 主菜单界面; void add(); 添加新的学生信息; void print(int i); 打印学生信息; void scan(); 查找学生信息; void res(); 检索学生信息界面; void res_name(); 按姓名检索; void res_num(); 按学号检索; void del(int i); 删除学生信息; void modify(int i); 修改学生信息; void fileopen(); 打开文件; void filesave(); 保存文件; 2调用关系 add() fileopen() add() menu() scan() res() add() menu() menu() main() res_name() modify(int i) res() del(int i) filesave() res_num() menu() 4.调试与测试: 编译工具 C++ 程序设计学习与实验系统 ++ 均通过调试! 主菜单 添加新的学生信息 浏览所有学生信息 检索信息库 继续查找下一条 修改学生信息 删除信息库所有记录 五、调试中所遇到的问题及解决方法 1问题:程序退出后,再次打开,上次输入的数据无法保存。 解决:调用 fileopen() 与 filesave() 保存文件数据,方便第二次打开程序时仍能调用上次输入的数据。 2问题:跳出的界面与选择分支中的对应项不符合。 解决: 改 getchar()为 getch(),头文件中加 ””.因为 getchar() 从输入输出流中一次只能读取一 个字符,而且需要以回车来确认输入。本文件中多次用到 getchar(), 键盘缓冲区的 ’\n ’会被下 次调用 getchar()时接收。 而 getch()则不会, 从键盘上读入一个数据,不给回显,不需要回车确认,按下键就实现了函数。 3问题:误输入 X,导致退出。 解决:加标志变量 flag=1, 用 while(flag) 循环 环。  switch  语句,当正确输入时,  flag=1,跳出循 4问题:检索时只能查到第一个学生信息。 解决:定义数组 log(100)记录符合的结构体数组。循环打印。 5问题:不能刷新界面。 解决:调用 system(“cls”)清屏函数。 6问题:删除某项信息,返回主函数时不能暂停。 解决:调用 system(“PAUSE”)暂停函数。 六、程序源码 #include #include #include #include │\n); void menu(); 加新的学生信息 printf( │ 2.浏览所有学生信息 │\n); printf( │ 3.检索学生信息 │\n); printf( │ 4.保存并退出系统 │\n); printf( │ │\n); printf( │ by rlk│\n); printf( └────────────────────┘\n); while(flag) \n); um); printf( ②姓名 :); scanf(%s,stu[n].name); printf( ③性别 :); scanf(%s,stu[n].sex); printf( ④系名 :); scanf(%s,stu[n].xi); printf( ⑤班级名 :); scanf(%s,stu[n].ban); printf( ⑥出生年月 :); scanf(%s,stu[n].birth); printf( ⑦住址 :); scanf(%s,stu[n].

文档评论(0)

1亿VIP精品文档

相关文档