西安邮电大学软件课程设计报告
西安邮电大学 C语言实习 医院管理系统

西安郵電大学C语言课程设计报告题目:医院信息管理系统院系名称:计算机学院专业名称:计算机科学与技术班级:学生姓名:学号(8位):指导教师:王春梅设计起止时间:2012年06月06日~2012年06月15日一. 设计目的1,通过本课程设计,强化上机动手能力,使自己在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握软件设计的基本方法。
2,学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。
3,为后续各门计算机课程的学习打下坚实基础;为毕业设计和以后工作打下必要基础。
二. 设计内容建立一个医院信息管理系统,主要应用了数据结构体,数组,指针等。
在内容上包括录入信息模块,读取信息模块,保存信息模块,查寻信息模块,插入信息模块,删除信息模块,修改信息模块,显示信息模块及排序信息模块(按姓名进行排序)等,并且还有统计信息和相关信息的排序。
三.概要设计1.功能模块图;2.各个模块详细的功能描述。
(1)登陆界面:主要是用户进行注册和登陆的程序。
(2)录入模块:录入需要管理的病人及药品信息并将信息保存于文件中,以方便日后进行打印、读取、更新等操作。
(3)删除模块:可对病人及药品信息做删除处理。
(4)添加模块:可添加一个或多个病人及药品信息并将所添加病人和药品信息保存,方便查找。
(5)修改模块:可根据需要对病人和药品信息整体进行修改,也可随时对个别项进行修改。
(6)按编号排序:方便管理员进行查找信息。
(7)显示病人信息:使管理员更直接的了解病人及药品的相关信息。
四.详细设计1.功能函数的调用关系图;2.各功能函数的数据流程图;(1)链表的创建,尾插法(2)读取(3)查找((5)添加(6)修改模块(7)排序(8)统计3.重点设计及编码。
(1)密码:while (!feof(fp1))//循环逐行读取data.txt将读取到的信息保存在数组Userdata 中直到文件结束{fgets(Userdata1,30,fp1);if (strcmp(Linedata1,Userdata1)==0 ){printf("该用户已经注册!\n");printf("按任意键重新注册\n");getch();UserReg();}}fputs(Linedata,fp);//将这一行格式调整好的用户名密码信息写入data.txt文件fclose(fp);//关闭data.txt文件指针fputs(Linedata1,fp1);//将这一行格式调整好的用户名密码信息写入data.txt文件fclose(fp1);//关闭文件指针printf("亲,注册成功喽,赶快去登录吧!\n");printf("按任意键进入登陆界面\n");getch();system("cls");Login();}(2)排序while (first != NULL) /*遍历剩下无序的链表*/{/*注意:这里for语句就是体现直接插入排序思想的地方*/for (t=first, q=head; ((q!=NULL) && (q->id1<t->id1)); p=q, q=q->next); /*无序节点在有序链表中找插入的位置*//*退出for循环,就是找到了插入的位置*//*注意:按道理来说,这句话可以放到下面注释了的那个位置也应该对的,但是就是不能。
软件课程设计实验报告(3篇)

软件课程设计实验报告(3篇)【导语】软件课程设计试验报告怎么写出亮点?整理了3篇优秀的《软件课程设计试验报告》通用版范文,有规范的开头结尾写法和标准的书写格式。
是您写出深受大家欢迎的综合报告抱负参考模板,盼望对您有所关心。
【第1篇】软件课程设计试验报告一、目的、要求通过该课程设计要使同学树立起剧烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,同学在对所开发的系统进行软件方案、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使同学具备实际软件项目分析、设计、实现和测试的基本力量。
二、主要内容要求同学把握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个同学选择一个小型软件项目(内容参照《计算机综合实践指导》,宋雨等编著,清华高校出版社出版),根据软件工程的生命周期,完成软件方案、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的`文档。
详细的方法可以选用传统的软件工程方法或者面对对象的方法,开发环境和工具不限。
三、进度方案略四、设计成果要求1.至少提交4个文档,包括软件方案、软件需求规格说明书、软件设计说明书、软件测试方案,要求文档格式规范、规律性强(可参考《计算机综合实践指导》中给出的要求及格式)、图表规范;2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式(1)提交的文档规范,工作量大,文档规律性强、正确,按《计算机综合实践指导》标准考核(附《软件工程课程设计》试验报告评分表)占60%(2)系统验收、讲解、答辩占25% (3)考勤占15%软件课程设计试验报告【第2篇】应用软件课程设计报告计算机是一门技术性、工程性和应用性很强的学科,教育部高等学校计算机科学与技术教学指导委员会的进展战略讨论报告中也指出:计算机专业的人才应当被分为科学型、工程型、应用型三类,而绝大多数应当是工程型和应用型的。
西安邮电大学java类与对象实验报告

西安邮电⼤学java类与对象实验报告西安邮电⼤学(计算机学院)Java程序设计课内实验报告实验名称:类与对象专业名称:软件⼯程班级:学⽣姓名:学号(8位):指导教师:实验⽇期:2014年4⽉2⽇⼀. 实验⽬的及实验环境理解类与对象的概念,掌握Java 类的定义(域、⽅法)、创建对象和使⽤对象。
理解包的概念,会创建包,引⼊包。
掌握访问权限规则。
环境:eclipse⼆. 实验内容1. 设计Point 类⽤来定义平⾯上的⼀个点,⽤构造⽅法传递坐标位置。
默认构造⽅法创建坐标原点,带参数构造⽅法根据指定坐标创建⼀个点对象。
提供get、set ⽅法返回和设置坐标。
distance 返回两个点之间距离或当前点到指定坐标之间的距离。
同时设计应⽤类进⾏测试。
2. 设计⼀个三⾓形类,能判断给定三边是否构成三⾓形,能判断三⾓形的类型(普通、等腰、等边、直⾓,⽤枚举类型(参见第六章))能计算周长与⾯积。
并在应⽤类中演⽰。
3.定义⼀个Line 类,该类包含两个Point 类型的实例变量,⽤以表⽰线段的两个端点。
提供以下⽅法:计算线段长度;判断线段是否⽔平、判断是否为垂直、计算线段斜率、计算线段中点、判断两条线段是否相等。
并在应⽤类中演⽰。
4.定义两个包p1、p2,三个类C1、C2、C3.其中C1、C2 位于p1 中,C3 位于p2 中。
在C1 中定义四个不同访问控制修饰类型的变量,在C2、C3 中进⾏访问测试。
并练习在JDK 命令⾏下⽣成包。
三.⽅案设计对于第⼀题,⽤了staticstatic double distance(Point p1,Point p2){return Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));}对于第⼆题,采⽤if –else,严谨的判断三⾓形的形状public void judge(){if(a==b || b==c || c==a){if(a==b && b==c)System.out.println("该三⾓形为等边三⾓形。
软件工程课程设计报告

软件工程课程设计报告一、需求分析:1、本系统只有一个文件,包含学生姓名、成绩。
姓名、语文成绩、数学成绩、英语成绩均由键盘输入。
(1)文件名:file(2)文件类型:顺序文件(3)文件结构姓名数学语文英语数据类型字符型单精度数单精度数单精度数数据占用长度字节字节字节字节(4)文件记录长度:、输出时根据操作显示排名或查询成绩,按姓名、数学成绩、语文成绩、英语成绩。
、该程序具有初始化学生成绩,录入学生成绩,修改学生成绩,删除学生成绩,添加学生成绩,按总成绩查询,按姓名查询,按总分查询排名,按英语成绩查询,显示所有学生的数据等功能。
、测试数据:例如:姓名语文数学英语小五小王小李按姓名查询:输入姓名小五,显示语文成绩,数学成绩,英语成绩按语文成绩排序:姓名语文数学英语小王小李小五、数据流图:二、概要设计:、类的定义格式:<类名>{<成员函数或函数数据成员的说明>::<数据成员或成员函数的说明>}<各个成员的实现>、定义数组类型{:下标和数据元素值组成的数据堆集合,其中任意两个数据队的下标各不相同。
:():建立一个数组。
():返回下标位的元素值。
():将下标位的数据对的值为.}3、义字符串类型{:: 字符串是由(≤)各字符组成的有限序列”……”(≤)(): 建立一个空串(): 撤销一个串(): 求串长(): 置为空串(): 串赋值(): 串连接(): 串插入(): 串删除(): 串替位(): 取子串(): 求子串在主串中的位置}三、详细设计1、主程序模块的基本算法(){初始化{根据显示键入操作符}(根据状态标志位返回);{(键入的操作符)'':{ 录入模块}'':{ 总成绩查询模块}'':{按姓名查询模块}'':{ 添加成员模块}'':{删除模块}'':{ 修改模块}'':{显示所有学生成绩模块}'':{按总分查询排名}'':{按语文查询排名}'':{按数学查询排名}'':{按英语查询排名}} <<"您想继续进行其他操作吗?()"<<;;{>>;('''')<<"指令错误!请重新输入!"<<;;}();('')<<"请输入操作代码( 录入按总分查询按姓名查询增加人员删除人员修改数据显示所有成员数据按总分排名按语文排名按数学排名按英语排名)"<<;>>;}('');( <){[];<<" !"<<;、子程序函数清单(因为所用到的算法比较简单算法略)();();();();();DEL();();();();();();();、学生成绩管理软件由主控模块形成顶层模块,由初始化,数据录入,增加人员,删除人员,修改数据,按总成绩查询,按语文成绩查询,按数学成绩查询,按英语成绩查询模块组成一级模块如图:四、调试分析:()由于我们在各模块中用到的状态标志位太多,而且在定义时出现了错误,在老师和同学们的帮助下,我们组的成员齐心协力使得错误很快得到了解决。
西安邮电大学C语言毕业课程设计

西安郵電大学C语言课程设计报告题目:小型的电视剧节目管理系统院系名称:计算机学院专业名称:计算机科学与技术班级:学生姓名:学号(8位):指导教师:设计起止时间:2012年06月06日~2012年06月15日一. 设计目的1.通过一个小型的管理系统的程序,使自己对C编程的感觉进一步加深;2.通过这些程序,使得管理员可以更加方便的管理该系统,使得用户可以更方便的查询。
二. 设计内容分为管理员和用户。
1.管理员:可以实现电视剧的添加,查看全部信息,删除,查询,修改;2.用户:可以实现按上映时间和类别查询,显示全部信息,电视剧的由新至旧和由旧至新的排序。
三.概要设计1.功能模块图;2.各个模块详细的功能描述1).管理员模块:a.添加:管理员创建的新结点续到以前结点的后面,为尾插;b.显示全部信息:先打开文件,若文件为空,则返回;否则申请新空间,把文件中的数据放到新申请的空间中,然后再输出全部信息;c:查询:先打开文件,若文件为空,则返回;否则申请新空间,把文件中的数据放到新申请的空间中,再输入要查找的序号,若文件为空或找不到,输出“查询错误”并退出该步;反之输出查询到的结果;d.修改:先打开文件,若文件为空,则返回;否则申请新空间,把文件中的数据放到新申请的空间中,再输入要修改的序号,若找不到该序号或文件为空,输出“查询错误”,并退出该步;反之输入修改后的项目,然后保存文件并输出新的信息;e:删除:先打开文件,若文件为空,则返回;否则申请新空间,把文件中的数据放到新申请的空间中,再输入要删除的序号,若文件为空或找不到,输出“查询错误”,并退出该步;反之把该序号后面的那个结点续到该序号前面的那个结点后面,就把该序号对应的结点删除成功。
2)用户模块:a:显示全部信息:用户进入该步骤后,可以显示当前电视剧节目的全部信息,包括剧名,导演名,主要演员名,类别,上映时间,大概内容;b:按类别查询:用户进入该步骤后,首先输入要查询的类别,若该文件中没有相关信息,系统会报错,并退出该步;反之输出查找到的相关信息;c:按时间查询:用户进入该步骤后,首先输入要查询的时间,若该文件中没有相关信息,系统会报错,并退出该步;反之输出查找到的相关信息;d:按电视剧由新至旧排列:用户选择了该项,系统会输出由新至旧排列的电视剧节目的信息;e:按电视剧由旧至新排列:用户选择了该项,系统会输出由旧至新排列的电视剧节目的信息。
西邮计算机学院java实验报告

网络程序设计报告书系部名称:计算机学院专业班级:学生姓名:学生学号:一、实验目的1.掌握TCP/IP体系结构中端口、套接字、TCP协议概念;2.掌握TCP SOCKET的ServerSocket和Socket;3.掌握TCP SOCKET技术中多线程技术。
二、实验内容1.学习TCP/IP体系结构,理解什么是SAP、端口、套接字的概念;掌握TCP 传输模式和netstat命令的用途;2.学习为TCP服务的Socket和ServerSocket类的使用,掌握TCP连接的方法,服务器接收客户端连接请求的方法,创建输入/输出流的方法,传输数据的方法,以及关闭流和套接字,注意可能会出现的异常操作;3.完成以下各内容程序,截存运行结果图,并提交实验报告。
三、实验内容1.在Windows下使用netstat命令,查看本地计算机开放端口。
获得/help,分别测试-s -e –r -a –n及其组合。
2.简单的单线程,一问一答式通信的TCP Server和TCP Client,注意在编译源代码时有个提示“某API已经过时”,找到该API类或者方法。
在运行程序时,注意通信双方是否随时输入,如果不能,考虑可能是什么原因造成的。
位置2的语句不能放在位置1,因为main方法是个静态的方法,所以除非定义为静态的。
位置2不能放在位置三处,因为代码块是封闭的,第二个try{}里面将会看不到,另一个try{}里面的定义。
2.以下代码是个非常经典的用户自定义一问一答协议,在这里只需要修改服务器端程序即可,添加了GreetingProtocol.java(自定义协议),调试并修改协议使程序可以正常运行。
//服务器端import java.io.*;import .*;public class MyServer{public static void main(String [] args){//TCP通信,作为服务器ServerSocket serverSocket = null;//首先建立服务器try{serverSocket = new ServerSocket(1080);//端口号唯一标是本进程System.out.println("Server is Listening Now");}catch(IOException e){System.err.println("Can't listen on port");System.exit(1);}//接受客户端连接Socket clientSocket = null;try{clientSocket = serverSocket.accept(); //connectSystem.out.println("已经连接上!!");}catch(IOException e){System.err.println("Accept failed");System.exit(1);}try{PrintStream out = new PrintStream(new BufferedOutputStream(clientSocket.getOutputStream(), 1024) ,false);DataInputStream in = new DataInputStream(new BufferedInputStream(clientSocket.getInputStream()));String inputLine, outputLine;GreetingProtocol greeting = new GreetingProtocol();//自定义协议outputLine = greeting.processInput(null);//输出操作out.println("Welcome to My Chat Server"+" "+outputLine);out.flush();//立即将数据从输出缓存提交给网络发送//输入操作while((inputLine = in.readLine()) != null){outputLine = greeting.processInput(inputLine); //协议处理out.println(outputLine);out.flush();if(outputLine.equals("bye")) break;}out.close();//流关闭in.close();clientSocket.close();//套接字关闭serverSocket.close();}catch(IOException e){System.err.println("Protocol Stream Error");}}}//协议//自定义协议import java.io.*;import .*;public class GreetingProtocol{private static final int WAITING = 0;private static final int SENDKNOCK = 1;private static final int SENDCLUE = 2;private static final int ANOTHER = 3;private static final int NUMJOKES = 5;private int state = WAITING;private int currentJoke = 0;private String [] clues = {"Turnip", "Little Old Lady", "Atch", "Lamp", "Godness"};private String [] answers = {"Turnip the heat, it's cold in here!","I did not know you could come!","Bless you", "Lamp is bright","Godness is happy"};public String processInput(String theInput){String theOutput = null;//System.out.println(state);if(state == WAITING){theOutput = "Knock! Knock!...";state = SENDKNOCK;}else if( state == SENDKNOCK){if(theInput.equalsIgnoreCase("Who's there?")){theOutput = clues[currentJoke];state = SENDCLUE;}elsetheOutput = "You are supposed to say \" Who's there? \"! Try again.";}else if( state == SENDCLUE){if(theInput.equalsIgnoreCase(clues[currentJoke] + "Who?")){theOutput = answers[currentJoke] + "Want another?(y/n)";state = ANOTHER;}else{theOutput = "You are supposed to say \"" + clues[currentJoke] + "Who? \"! Try again. Knock! Knock!!!";}}else if( state == ANOTHER){if(theInput.equalsIgnoreCase("y")){theOutput = "Knock! Knock!!!";if(currentJoke == (NUMJOKES - 1))currentJoke = 0;elsecurrentJoke ++;state = SENDKNOCK;}else{theOutput = "bye";state = WAITING;}}return theOutput;}}//客户端import java.io.*;import .*;public class Client {public static void main(String [] args){Socket ClientSocket = null;try {ClientSocket = new Socket("localhost",1080);PrintStream out = new PrintStream(new BufferedOutputStream(ClientSocket.getOutputStream(),1024),false);DataInputStream in = new DataInputStream(new BufferedInputStream(ClientSocket.getInputStream()));DataInputStream stdIn = new DataInputStream(System.in);String inputLine, outputLine;while((inputLine = in.readLine()) != null){System.out.println("server:"+inputLine);outputLine = stdIn.readLine();if(outputLine.equals("bye")) break;out.println(outputLine);out.flush();}out.close();//流关闭in.close();ClientSocket.close();//套接字关闭} catch (UnknownHostException e) {System.out.println("无法连接到服务器!!");e.printStackTrace();} catch (IOException e) {System.out.println("无法获得I/O流!!");e.printStackTrace();}}}运行结果如下:3.探测目标计算机开放的TCP端口import java.io.*;import .*;public class ScanPort{public static void main(String args[]) throws IOException{Socket comSocket = null;for(int i=0;i<1024; i++){try{//建立socket连接comSocket = new Socket("localhost", i);//发出连接请求System.out.println("Can get I/O for the Connection, Port:" + i);}catch(UnknownHostException e){System.err.println("Can't find the Server host");//System.exit(0);}catch(IOException e){System.err.println("Can't get I/O for the Connection, Port:" + i);//System.exit(0);}}try{comSocket.close();}catch(Exception e){}}}运行的结果如下:自作实验:1.自行编写一个一问一答的场景,例如,帐号登录场景,A:用户名?B:user。
西安邮电大学嵌入式系统实验报告

西安邮电大学(计算机学院)课内实验报告实验名称:嵌入式系统开发专业名称:软件工程班级:学生姓名:学号(8位):指导教师:实验日期:2014年11月27日一、A DS1.2集成开发环境练习二、蜂鸣器三、跑马灯四、外中断实验五、定时器中断六、UART串行数据通信(查询方式)一、ADS1.2集成开发环境练习1.1实验目的及实验环境1.1.1实验目的:学习ADS1.2集成开发环境的使用方法。
1.1.2实验环境硬件:PC机一台软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。
1.2实验内容:(1)ADS的启动;(2)使用asm for lpc2131工程模板,建立一个新的工程。
(3)在模板文件main.S文件中,加入用户汇编代码。
(4)编译链接工程。
(5)调试工程。
(6)学习ADS工具的使用。
1.3实验步骤:①启动ADS1.2IDE集成开发环境。
②在ADS主窗口主菜单选择File->New,使用asm for lpc2131工程模板建立一个工程(图例中工程名称为:ZQL_LIB1),指定工程路径(图例中工程路径为D:\ARM_Lib_Bak\ARM_asm)。
③点击确认<按钮>,创建工程。
④可在主窗口菜单选择Edit->Perferences,设置字体和字号。
⑤在main.S文件编辑窗的“add the user code here. 添加用户代码”行下建立用户汇编程序代码。
⑥选择Project->Make(或快捷键<F7>),编译链接整个工程。
若编译成功,则Erros &Warnings对话框会报告编译错误为0,此时即可对工程进行仿真。
⑦选择Project->Debug(或快捷键<F5>),IDE环境就会启动AXD调试软件。
1.4实验结果1.5实验总结这次实验主要是学习ADS1.2集成开发环境的使用,通过这次实验,我掌握了嵌入式系统编程的流程,我学会了ADS的启动,学会了使用asm for lpc2131工程模板,建立一个新的工程,在模板文件main.S文件中,加入用户汇编代码,然后编译链接工程,调试工程。
西安邮电大学通信软件设计实验报告

实验一TCP通信程序设计一.实验目的及实验环境(1)掌握TCP的传输格式。
(2)熟悉TCP的Socket和ServerSocket类的用法,掌握基于TCP Socket的服务器和客户方编程的方法和步骤。
二.实验内容(1)创建服务器和客户程序,在运行客户程序的计算机上输入的内容,可以在服务器屏幕上看到。
(2)实现下面Server程序,目的是能够同时服务多个客户,客户的请求是一句话(一个String)。
如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。
否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。
注意Server 并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。
(3)使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。
三.方案设计1.首先打开java运行环境;2.接着写入客户器端和服务器端的程序;3.调试成功后点击运行;4.在客户器端写一句话,可以看到服务器端有响应。
四.测试数据及运行结果实验一:实验二:实验三:五.总结开始老师要说下载东西来配置,可是大家都好像配置不好,好歹半节课过去,终于有人弄好了,然后大家都弄好了,开始了老师给的任务,第一次用哪个软件,慢慢熟悉,等第二节课时,熟悉了基本操作。
开始真正的试验,毕竟第一次,还是比较简单,很快就做完了通过这次试验熟悉了这个软件,对TCP的传输格式有了更深的理解,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("3----修改学生专业\n");
printf("4----修改学生性别\n");
printf("5----修改学生年龄\n");
printf("0----结束此次修改\n");
fflush(stdin);
scanf("%d",&y);
system("cls");
system("cls");
printf("请输入要删除的学生人数\n");fflush(stdin);
scanf("%d",&x);
if(x>sum)
{printf("删除人数超出已存人数范围");
printf("\n按任意键返回主菜单!");
fflush(stdin);
getchar();
system("cls");
struct stude_nt
{int num;
char name[10];
char yuanxi[15];
char zhuanye[15];
char xingbie[10];
int nianling;
} stdi[MAX],t;
int sum;
/*保存测试*/
void save_message(int sum)
scanf("%d",&n);
if(n==1)
{while(i<sum)
{stdi[i]=stdi[i+1];
i++;
}
sum--;
}
}
}
printf("\n按任意键返回主菜单!");
fflush(stdin);
getchar();
system("cls");
return;
}
void revise_message()
if(del_me[m]==stdi[i].num)
break;
if(i==sum)
{printf("修改的第%d个学生不存在\n",m+1);
if(m+1<x)
{printf("\n按任意键继续!");
fflush(stdin);
getchar();
fflush(stdin);
}
}
if(i!=sum)
printf("\n按任意键返回主菜单!");
fflush(stdin);
getchar(); system("cls");
return 0;
}
while(feof(fp)!=1)
{
fread(&stdi[i],sizeof(struct stude_nt),1,fp);
if(stdi[i].num==0) break;
8能够对年龄进行升序和降序排序;
9用文件的形式将录入的数据进行存储,并从其中读取数据。
三、需求分析
根据题目要求,学生信息要从文本文件中存取,所以本程序要提供读写文件,显示,统计,查寻,修改记录,保存文件等操作,此外,还要提供键盘式选择菜单实现功能。
四、概要设计
分析整个系统,根据上面的需求分析,可以将这个系统的设计分为如下几大模块:读取数据,输出数据,添加数据,输入数据、修改数据、查询数据、删除数据、统计数据,排序数据,保存数据。
getchar(); system("cls");
return;
}
read_message() /*读取信息*/
{
FILE *fp;
int i=0;
system("cls"ቤተ መጻሕፍቲ ባይዱ;
if((fp=fopen("1.txt","rb"))==NULL)
{
printf("\n\n*****暂时还没有任何信息*****\n");
五、详细设计及运行结果
输出模块
查询模块
修改模块
六、调试情况,设计技巧及体会
1、本次设计选取内容比较简单;结构比较明晰,涉及内容比较全面,程序采用比较基础的C语言,整个程序中午够多复杂函数。
2、本次设计让我体会到:牢固的程序设计基础知识是设计成功的前提,正确的学习态度是设计成功的基础,知识与实践的有效结合是设计成功的保障;认真学,认真练是程序课程的核心。
fclose(fp);
}
/*输入模块*/
void input_message()
{
int i=0,s=MAX;
system("cls");
printf("\n\n录入学生信息\n");
printf("当输入0结束输入");
do
{
printf("\n第%d个学生信息",i+1);
printf("\n学号");
else i++;
} sum=i;
fclose(fp);
return sum;
}
/*输出模块*/
void output_message()
{
int i;
system("cls");
for(i=0; i<sum;i++)
{printf("第%d学生信息\n",i+1);
PRI;
}
printf("\n --%d学生读取信息完毕!--\n",i);
getchar();
system("cls");
}
}
sum=i;
printf("\n按任意键返回主菜单!");
fflush(stdin);
getchar();
system("cls");
return;
}
void del_message()/*删除信息*/
{int i,x,m,n,del_me[MAX];
{int y,i,x,m,n,del_me[MAX];
system("cls");
printf("请输入要修改的学生人数\n");fflush(stdin);
scanf("%d",&x);
if(x>sum)
{printf("要修改人数超出已存人数范围");
printf("\n按任意键返回主菜单!");
switch(y)
{
case 1:printf("\n姓名");
fflush(stdin);
scanf("%s",stdi[i].name);
break;
case 2:printf("\n院系");
fflush(stdin);
scanf("%s",stdi[i].yuanxi);
break;
case 3:printf("\n专业");
软件课程设计
报 告 书
院系名称
:
电子工程学院
学生姓名
:
李群
专业名称
:
光信息
班级
:
1103
学号
:
05113096
时间
:
2012年4月11日至2012年4月20日
实验题目
一、实验目的
让学生综合应用所学的计算机基础知识和所掌握的程序设计语言(C语言),自行设计并实现一个较为完整的小型管理信息系统或小型应用系统的设计与开发。其主要目的是使学生通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平。要求编程时采用结构体、指针、文件等复杂数据结构存储组织数据。
printf("\n专业");
fflush(stdin);
scanf("%s",stdi[i].zhuanye);
printf("\n性别");
fflush(stdin);
scanf("%s",stdi[i].xingbie);
printf("\n年龄");
fflush(stdin);
scanf("%d",&stdi[i].nianling);
printf("\n按任意键返回主菜单!");
fflush(stdin);
getchar();
system("cls");
return;
}
void insert_message() /*添加信息*/
{ int i,x;
system("cls");
printf("请输入要添加的学生人数\n");
fflush(stdin);
{
FILE *fp;
int i;
if((fp=fopen("1.txt","wb"))==NULL)
{
printf("读文件错误!\n");
return;
}
for(i=0;i<sum;i++)