2022年c语言程序设计报 .pdf





《2022年c语言程序设计报 .pdf》由会员分享,可在线阅读,更多相关《2022年c语言程序设计报 .pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、i 目 录1 实习目的 . . 12 需求分析 . . 13 概要设计 . . 13.1 基本设计 . 13.2 开发平台 . 23.3 模块介绍 . 23.4 系统功能图 . 34 详细设计 . . 34.1 登录界面 . 34.2 建立学生信息 . 54.3 插入学生信息 . 84.4 删除学生信息 . 94.5 查询个人信息. 11 4.6 输出全部信息. 12 4.7 载入全部信息. 13 4.8 保存信息 . 15 5 调试与测试结果分析 . . 16 5.1 登录界面 . 16 5.2 系统主界面 . 16 5.3 建立学生信息表. 16 5.4 保存界面 . 17 5.5 插入信
2、息 . 17 5.6 删除界面 . 18 5.7 查询个人信息. 18 5.8 输出全部信息. 19 5.9 载入全部信息. 20 5.10 退出系统 . 20 6 使用说明 . . 20 7 总结. . 21 参考文献: . . 22名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力1 学生信息系统的设计与实现1 实习目的(1)熟练的运用计算机语言,培养了对计算机
3、编程的热爱程度. (2) 学会怎样用 c 语言做一个完整的系统。(3) 掌握 c 语言的编辑,链接,运行等环节。(4) 掌握 c 语言中链表的建立,插入,删除,保存节点。(5) 熟练掌握 for while do-while循环语句的使用。(6) 熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。(7) 提高遇到困难解决困难的能力。(8) 提高书写代码的速度与正确率。(9) 提高对系统的完善能力以及思考问题的全面性, 提高自己对所学知识的综合应用。(10)独立实践,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力。2 需求分析随着
4、现在学生数量的增多,要想用人工的方法去记录查询学生信息是非常困难的,伴随计算机的发展, 人们的生活习惯和工作方式也发生了改变,计算机软件开始取代传统的工作模式,所以一个全新的学生信息管理系统是必不可少的,它不仅省时而且省力,大大的降低了我们的劳动, 使我们有更多地时间去做其他的事,管理员进入系统之后可以根据自己的需求去操作它, 并且该系统还设有账户名以及密码,大大的保护了学生信息的安全性。3 概要设计3.1 基本设计此学生信息管理系统是由菜单的选择来实现人机交互的,管理员登录以后就可以根据自己的需求选择不同的数字来进入不同的界面,本系统可以实现对学生信息的建立、插入、删除、查询等信息。名师资料
5、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力2 3.2 开发平台系统:Windows 7 旗舰版( 64 位)处理器 : AMD A8-5545M APU with Radeon(tm) HD Graphics 1.70GHz 内存:4.00 GB 程序开发软件: Microsoft Visual C+ 6.0 文档编写: Microsoft Word 2010 3.
6、3 模块介绍(1)建立学生信息模块通过对指针的操作实现学生信息的输入,并使指针一次向后移动, 可以大量输入学生信息。(2)插入学生信息模块输入您要插入的学生的全部信息,将少数学生信息通过插入功能加入链表中,并按照学号的大小从大到小排列。(3)删除模块通过输入学生的学号来实现删除系统中学生的信息,并将剩余学生的信息排好。(4)查询模块可以通过学生姓名查询出单个学生的信息,并将此学生的全部信息输出出来。(5)输出模块可以将在系统中的所有学生信息输出出来。(6)载入模块将保存在文件中的学生信息从新从文件中拿出来,然后再进行其他操作。(7)保存模块将你的操作保存到系统中,下次可以读取出来。(8)退出模
7、块进行完所有的操作之后,便可安全退出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力3 3.4 系统功能图进入学生信息系统之后,便可以根据自己的需求对学生信息进行增、删、改、查等操作,总流程图如图1 所示:图 1 总 体 模 块 框 图4 详细设计4.1 登录界面进入 main 函数之后直接进入登录界面,通过一个for 循环控制输入的次数,最多可以输入三次, 通
8、过定义数字、 字符的长度大于本身的长度来实现输出信息的排版和隔开,使输出的信息排版美观。代码如下:void main() int n,a; int mychoose; 学生信息系统删除学生信息查询个人信息输出全部信息插入学生信息建立学生信息载入学生信息保存学生信息退出系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力4 char delet120,Query20
9、; int count,j,i=0; char username20,password20; struct stu *head,*insertnode; struct stu *p2; printf(nt 欢迎进入学生管理系统 nn); printf( 程序设计人员:张凯业 n); printf( 请以管理员身份登录 :n); for(count=0;countnum不等于0,将 p2 插入到 p1 后,然后 p1后移指向新插入的节点。 通过 while 循环提示你是否要继续输入,如果继续输入按1,否则按 0。代码如下:struct stu int num15; /学号char name15;
10、 /姓名char Gender5; /性别char Dateofbirth15; /出生日期char ID20; / 身份证号char score20; / 学院struct stu *next; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力6 ; int n=0; struct stu *creat() /建立链表 int data=1; struct st
11、u *head,*p1,*p2; head=(struct stu*)malloc(LEN); head-next=NULL; p1=head; p2=(struct stu*)malloc(LEN); printf( 学号n ); scanf(%s,p2-num); printf( 姓名n ); scanf(%s,p2-name); printf( 性别n ); scanf(%s,p2-Gender); printf( 出生日期 n ); scanf(%s,p2-Dateofbirth); printf( 身份证号 n ); scanf(%s,p2-ID); printf( 学院n ); s
12、canf(%s,p2-score); while(p2-num!=0) n+; p2-next=p1-next; p1-next=p2; p1=p2; printf( 建立链表成功! n); printf( 是否继续输入是1 否 0 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力7 scanf(%d,&data); if(data=0) return(he
13、ad); if(data=1) p2=(struct stu*)malloc(LEN); printf( 学号); scanf(%s,p2-num); printf( 姓名); scanf(%s,p2-name); printf( 性别); scanf(%s,p2-Gender); printf( 出生日期); scanf(%s,p2-Dateofbirth); printf( 身份证号); scanf(%s,p2-ID); printf( 学院); scanf(%s,p2-score); else printf( 请重新输入: 1 或 0); free(p2); return(head);
14、case 1: printf( 请输入 :); head=creat(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力8 break; 4.3 插入学生信息通过指针的指向,首先用if 条件语句判断系统中是否有信息,如果没有信息则自动跳转到建立链表界面,如果有则可以通过scanf 来输入学生的基本信息,head为链表的头指针,假设p0 指向带插入的节点, p1
15、 指向第一个结点, p2位 p1 的前驱节点,如果 p0-nump1-num ,将 p1 后移, p2指向 p1 所指的节点,继续比较,直到p0-numnum 。代码如下:int insert(struct stu *head,struct stu *po)/插入链表 struct stu *p1,*p2; if(head-next=NULL) return(-1); p1=head-next; p2=head; while(p1!=NULL)&(strcmp(p1-num,po-num)=-1) p2=p1; p1=p1-next; po-next=p2-next; p2-next=po;
16、n+; return(1); case 2: printf( 请输入插入节点的基本信息n); insertnode=(struct stu*)malloc(LEN); printf( 请输入学号: ); scanf(%s,&insertnode-num); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力9 printf( 请输入姓名: ); scanf(%s,i
17、nsertnode-name); printf( 请输入性别: ); scanf(%s,insertnode-Gender); printf( 请输入出生日期: ); scanf(%s,insertnode-Dateofbirth); printf( 请输入身份证号: ); scanf(%s,insertnode-ID); printf( 请输入学院: ); scanf(%s,insertnode-score); n=insert(head,insertnode); if(n=-1) printf( 系统中没有任何信息请先建立n); head=creat(); break; else prin
18、tf( 插入结点成功! n); break; 4.4 删除学生信息首先定义一个 delet 函数用来删除学生信息,然后用一个if语句判断链表的头是否为空,若为空则显示“请先建立链表”,若不为空则用if语句判断系统中是否有此学号,如果没有则输出 “没有此学生” ,如果含有此人的信息, 则通过一个 while 循环,把这个以后的信息依次前推来覆盖这个人的信息,而实现此人信息的删除。 并且释放该节点。代码如下:char delet(struct stu *head ,char data)/ 删除链表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
19、- - - 名师精心整理 - - - - - - - 第 10 页,共 23 页 - - - - - - - - - 德州学院信息管理学院 2013级计算机科学与技术专业自主学习能力10 struct stu *p1,*p2; if(head-next=NULL) return (-1); p1=head-next; p2=head; while(p1!=NULL&strcmp(p1-num,data) p2=p1; p1=p1-next; if(!p1) return(0); p2-next=p1-next; free(p1); n-; return(1); case 3: printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c语言程序设计报 2022 语言程序设计

限制150内