I摘要C语言作为一种高级语言,在目前编程领域中也是具有影响力的。通过设计程序就可以进一步掌握和利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想方法;初步掌握开发一个小型实用系统的基本方法;C语言课程设计在VisualC++6.0环境下编程调试及运行,编写一个人员信息管理系统软件。该软件对人员、姓名、性别、生日、电话和所在地址这些简单信息进行管理,实现查看所有人员信息、查找某个人员信息、添加新学生信息、删除原有学生信息等功能。该系统软件功能完善且具有可操作性,按有序的程序步骤执行各项功能并达到理想的运行状况。系统运用C语言程序代码进行编码。关键词:C语言程序人员信息查看查询添加删除II目录1设计题目的内容、任务及具体要求............................................................错误!未定义书签。1.1课题设计的内容....................................................................................错误!未定义书签。1.2程序的基本内容....................................................................................错误!未定义书签。2总体设计思路................................................................................................错误!未定义书签。2.1总体构思程序的编写............................................................................错误!未定义书签。2.2程序编写运用知识................................................................................错误!未定义书签。2.3总流程思路............................................................................................错误!未定义书签。3功能模块的具体设计....................................................................................错误!未定义书签。3.1编写执行各项功能模块........................................................................错误!未定义书签。3.2调用辅助函数模块................................................................................错误!未定义书签。4功能模块的调试及测试................................................................................错误!未定义书签。4.1调试查看信息功能................................................................................错误!未定义书签。4.2调试查找信息功能................................................................................错误!未定义书签。4.3调试添加信息功能................................................................................错误!未定义书签。4.4调试删除信息功能................................................................................错误!未定义书签。4.5调试修改信息功能................................................................................错误!未定义书签。5总结................................................................................................................错误!未定义书签。5.1总结系统的优点、缺点......................................................................................................255.2对C语言课程设计的建议....................................................................错误!未定义书签。致谢...................................................................................................................错误!未定义书签。参考文献...........................................................................................................错误!未定义书签。源程序...............................................................................................................错误!未定义书签。重庆科技学院《C语言程序设计》课程设计报告11设计内容和要求1.1程序内容本程序属于非数值计算型算法设计,设计出人员管理系统所需要的基本功能,并设计简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组和结构的相关操作,包括数组的输入、输出、查看、查找、插入、删除、修改等操作以及对结构的基本操作,需要对数组有比较深入的掌握。通过文件对储存的人员信息导入到内存进行以上操作,再将操作后的学生信息保存到文件中。运用到多种控制结构来实现操作功能。1.2设计任务要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和编程技术水平;初步了解软件开发的一般方法和步骤,提高撰写技术文档的能力。1.3基本要求需要设计出学生管理系统所需要的基本查看、查找、添加、删除、修改等功能,并设计简单的界面。1.3.1设计内容人员信息包括:人员号、姓名、性别、生日、电话和所在地等。设计一人员通讯录管理系统,使之具有以下功能:(1)通过提示菜单选择可以进行的操作。(2)将人员的信息存入文件中,并命名为PersonInfo.txt。(3)在本系统中可以进行管理系统包含的基本操作,其中包括a)查看所有人员的信息b)输入一个人员的人员号,从当前人员中进行查找,如果找到则显示重庆科技学院《C语言程序设计》课程设计报告2该人员的相关信息,如果没有找到则给出提示信息c)添加一个人员的基本信息,通过输入人员号,首先查找是否存在该人员号的人员,如果存在则提示重新输入,否则将该人员按照顺序插入到相应位置d)删除一个人员的基本信息,通过输入人员号,首先查找是否存在该人员号的人员,如果存在则将该人员删除,否则给出提示信息,提示该人员不存在(4)人员基本信息包括人员号、姓名、性别、生日、电话和所在地这些简单信息。(5)人员信息文件中每一行存放一个人员的信息。1.3.2设计参数要求程序运行结果正确,程序和算法具有一定程序度的健壮性,稳定性。附加参数(1)程序启动后有较漂亮的图形封面页。(2)程序结束有漂亮的封底。重庆科技学院《C语言程序设计》课程设计报告32总体设计思路2.1系统功能的说明人员信息管理在生活中被广泛应用,因此我们需要用许多的程序来对它们进行管理。此程序包含了人员信息的浏览、查询、删除、添加等。通过编译一个C语言函数,其中包括一个主函数和多个子函数,主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所需要的信息功能。2.2总体构思程序的编写①将学生信息按照行的方式存放在文件中,即每一行存储一个学生信息,将该文件命名为personInfoInfo.txt。②程序执行的基本过程为:1)定义一个结构数组包含1000个元素,用来储存人员的信息;2)根据菜单所进行的所有操作即对当前数组进行操作,此时也就是对数组的查看、查询、添加、删除操作。3)添加一个人员的信息时,先从打开文件读取已有的信息,然后关闭文件;对输入的人员号进行判断,如果该人员号已存在则提示重新输入,否则继续输入人员信息;再把所有的人员按照人员号的大小排序;然后再以只写的方式打开文件,把排序后的人员信息按照一个学生一行的方式重新写回文件中。查看和查询都是先从文件读取信息,然后按照要求输出所需要的信息。删除时也是先打开文件读取信息,然后关闭文件;再以只方式打开文件,如果找到要删除的人员号则不写入文件,否则重新写入文件。2.3程序编写应用知识①定义结构体数组用文件方式打开文本文档将学生信息:人员号、姓名、性别、生日、电话和所在地这依次调用用到结构体数组的变量中对数组进行操作。重庆科技学院《C语言程序设计》课程设计报告4structpeople{intnumber;charname[10];charsex[10];charbirthday[12];chartelephone[13];charaddress[40];}people;FILE*fp;fp=fopen(e:\\personInfo.txt,r);以只读的方式打开文件fp=fopen(e:\\personInfo.txt,w);以只写的方式打开文件fscanf函数fprintf()函数fclose(fp);关闭文件②选择、循环、判断控制结构通过菜单栏选择和循环结构的控制,对学生信息进行查看、查找、添加、删除、修改等系统管理。选择语句:对菜单栏信息的选择switch(a)case0:/*退出管理系统*/break;case1:/*查看所有学生信息*/break;case2:/*查找某个学生信息*/break;case3:/*删除原有学生信息*/break;case4:/*添加新学生信息*/break;重庆科技学院《C语言程序设计》课程设计报告5循环语句:依次访问每个学生的信息①for(;;){}②do{}while();判断语句:通过判断条件语句的真假执行if(){};else{};2.4总流程思路人员信息管理系统01234选择功能键图2.1总流程保存信息退出系统查看信息查询信息添加信息删除信息重庆科技学院《C语言程序设计》课程设计报告63功能模块的设计3.1编写执行各功能模块将程序分割成若干个部分便于更好操作,总体把握清晰思路,达到功能齐全。3.1.1文本信息导入内存程序运用文件知识进行编写。FILE*fp;if((fp=fopen(d:\\personInfo.txt,r))==NULL){printf(不能打开文件!\n);exit(0);}While(!feof(fp)){fscanf(fp,%d%s%s%s%s%s,&p[i].number,p[i].name,p[i].sex,p[i]