数据结构学籍管理系统_第1页
数据结构学籍管理系统_第2页
数据结构学籍管理系统_第3页
数据结构学籍管理系统_第4页
数据结构学籍管理系统_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录 一、设计目的2 二、设计内容3 三、设计要求4 四、设计过程4 1. 算法思想分析4 2. 算法描述与实现 5 3系统测试7 五、设计总结11 参考文献12 附录13 设计目的 1. 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2. 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和 技能; 3. 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4. 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具 备的科学的工作方法和作风。 设计内容开 发环境 操作系统:Win dows 7 开发工具:Microsoft Vis

2、ual C+开发语言:C+ 功能简介: 本程序采用C+编写,用于管理学生信息,基本功能有 添加批量 查找 学生信息,单个添加学生信息,按学号查找学生,按姓名 学生,按学号删除学生信息,排序输出全部学生信息以及 退出功 能。 程序流程: 开始 选择功能 批 按 量 学 添 号 加 查 找 1 F 按 排 学 序 号 输 删 出 除 1 结束 1)程序设计要求: 采用交互工作方式,设计功能菜单; 建立数据文件,数据包含学生的自然信息和成绩信息(设计几门课以及 总成 绩); 对如下关键字:姓名、学号、各科成绩进行排序(冒泡、选择、插入排序 等任 选一种)。 2)用二分查找实现如下查询: 按姓名查询

3、按学号查询 3)用堆排序找出总成绩排名的前5名学生 4)输出任一查询结果(可以连续操作) 四设计过程 1.算法思想分析 根据设计要求,首先定义三个数组,分别存放学号、姓名、 成绩 typedef struct stud 统测试 1菜单 用户运行程序后,显示如下所示菜单,用户根据菜单提示进行 操作 (如图)。 龙:阈皓结协字转0ebu9得等莒理I丨冋 学生信息管理系统 息息自小 、一一 R1HDFT 生 生丫 一H2 生生序 査廖号 慕一睾 刃一我 及书一 I 2 4 亍 * MM 2 批量添加 用户选择批量添加学生信息功能进行批量添加,可连续添加, 按0结束添加操作(如图)。 请轴人姓名、:亍

4、数眾嚴勇 100 请输入学号:W41W4H4B1 请输人学号M4ie4B4tT I 禺入姓好数:王五 学廿数砲六 ,青输入学号:叫丄 840404青我入姓各为教: 3 按学号查找学生 将学生信息录入之后,若想查找某个学生,用户可选择按学号查 找学生信息(图)。 S8臨号迪 41640401 弓长三 0.600000 M f I 7主 主主一 I華 学一一加 査的一嘗 新一還人 Ms I * * I 13 5 I 口嘗总 5信唁输 一 Iff 一 巒乘一 一 I 一 一号嬴一 忆忙要査张二岸号 姓包成無 Prooo 讥 ny ho# Cen t inuo 言一一口 一 生生生 4HH 千 iln

5、杳的 董人券 貝息出 匕一 董排杳 聲一 t聂 一奉分 请愉入址名、分数耿殿勇 9? 学号难蚤成廣: 4 丄 04340 丄 外史 90. 090000 IFMFMFn -tJivT Fi- RRnMFn 6按学号删除学生信息 用户可根据情况对已添加的学生信息进行删除,通过学号删除 (图)。 自心息岀 、一 Ifll 引生生序 U找涂序 查劭号 養一筈子 分 一 tlw * 、0 4 IT心息息 一 匸崖虐口 一曰I、上 生主-批 查的SA V 4 13 5 器蘭奉生学号 宇号 名咸錚 4104001 三9 Ol 440P3 o . 090000 1640404 6 0 7.排序输出 程序可以

6、将已添加的学生按照成绩的降序排列输出(图) 批 按 录 生生生 息息息 请选择功能浦 匸号姓名成绩: 104042 4 眺恿勇 100. 000000 10404B1 电三 90. 009003 10404B2 生百 80-009003 1R4H4IT 赵六 7H-RAPIAHR 8 退出 操作结束后按0退岀程序(图) 学主信息管理系统 添名新 臺生 于 排 杳盂奎宣心 i苗先怪功能:。 *材林* Tht End* * FFBS #include typedef struet stud ; break; case 3 :; getchar (); getchar (); break; case

7、 4 :; getchar (); getchar (); break; case 5 :; getchar (); getchar (); break; case 6 :; getchar (); get char (); break; case 批量添加学生信息 “); O :2. 按学号查 信 息 printf ( 3. 按姓名查 息 ); printf ( 4. 按学号删 信 息 printf ( 5. 录入新的 息 ); printf ( 6. 按分数降 输 出 printf( 0. 返回 printf( XxXx 4 |i? 卜/ / * |* / 卜/*, ! / !* I |*

8、/? ! 卜/ *?; *( |* *7% 9J 4 *y *1 | 7|*/ / |* 4 *4 |* * n,z); void read(void) long a; printf (z/请输入学号:“); scanf (ld, while(a0) inser(a); printf (z/请输入学号:“); scanf (ld, void inser(long b) Node last, current,*p; current二head; while(current!二NULL current二current-next; 辻(current二二NULL | b printf (z/ 请输入姓

9、名、分数:);p= (Node *)malloc (sizeof(Node); p-二b; scanf (s%f,p, pnext二NULL; if(current二二head) p-next二head; head=p: else p-next二current; last-next二p; else if (b二二current- printf (error input a different number/7); void print () Node *p=head; printfCAn学号姓名成绩:n); wh 订 e(p!二NULL) printf (ld %s %fnz,, p, p,

10、p-; p二p-next; ) printf (n); void find(long b) Node *p=head; wh订e(p!=NULL if (!p) printf (Z/No foundn); else printf (/zn 学号 姓名 成绩 n); printf (/z%ld %s %fn,p-, p-, p-; void searchname(char *s) Node *p=head; int flag=0; printf(z/n 学号 姓名 成绩:n); while(p!二NULL) if (strcmp(p-, s)=0) printf (ld %s %f n,z, p

11、, p, p-; f lag=l; p=pnext; continue; else p=pnext; if(!flag) printf(,z没有找到相关信息“); Node * del(long n) Node *p=head, *last; while(p-!=n) last二p; p=p-next; if(p二二NULL) return p; else if(p二二head) head=p-next; else last-next二p-next; return head; void sort(int flag)Node *pl,*p2,*k; float tl; long t2: char s20; for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论