c语言课程设计报告秋风羽

发布 2022-10-05 04:40:28 阅读 9558

西安郵電大學。

c语言课程设计报告书。

学生信息管理系统。

一、 实验目的。

设计“学生信息管理系统”,使其有管理学生信息的能力。

二、 实验内容。

实现数据的输入、输出、插入、删除、排序,查找等功能。

三、 需求分析。

根据要求,学生信息数据应以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保存记录以进行修改,删除,查找等操作;

1)数据包括:学生姓名、学号、年龄、住址。

2)可对记录中的学生姓名、学号、年龄、住址进行修改。

3)可增加或删除记录。

4)可显示所有保存的记录。

5)可按人名或学号进行查询。

四、 概要设计。

1)主函数结构图:

(2)结构体类型:

结构体类型为struct student

其中包括:姓名(字符数组类型)name、年龄(字符数组类型)age、学号(字符数组类型)num、地址(字符数组类型)addr。

3)各模块功能详细说明:

进入学生信息管理系统模块,必须先输入密码,密码连续三次输入错误,自动退出学生信息管理系统,密码输入正确,可进行选择,是否修改密码,若选择否,则可选择建立新的数据或打开原有文件,读取原有数据,若选择读取原有数据,则进入数据输入模块;数据输入模块是进行数据的整体输入,可一次性输入多个学生的信息;数据添加模块式进行数据的添加输入,可一次性输入一个学生的信息;输入修改模块是进行学生信息的修改,一次可修改一个学生的全部信息;数据查找模块是进行学生信息的查找,可分为姓名查找和学号查找;数据删除模块是进行学生信息的删除,按学号删除一次性可删除一个学生信息;数据浏览模块可一次性查看所有学生信息;数据排序模块是进行学生数据按学号排序。

五、详细设计及运行结果。n n

yycase1 case2 case3 case4 case5 case6 case7 case0

六、调试情况,设计技巧及体会(重点)

1)、测试数据。

包括合法与非法的测试数据、预期结构和实测结果(最好用**列出)

输入账号密码:administer 123456

是否创建新文件:0

输入:牛二 00000002 19 牛棚y

鼠大 00000001 19 鼠穴y

兔四 00000004 19 草丛y

虎三 00000003 19 森林y

龙五 00000005 19 龙宫 n

打印:case4

排序:case5。

打印:case4

查找:case2 0 虎三。

打印:case4

查找:case2 1 00000003

打印:case4

删除:case7 00000003

打印:case4

修改:case3 00000001

鼠大 00000010 20 地洞。

打印:case4

添加:case1 虎三 00000003 19森林。

打印:case4

初始化:case6鼠大 00000001 19 鼠穴n

打印:case4

退出:case0

保存:student

2)、对调试中主要问题进行总结。

开始在vc++6.0调试时,只会自己靠眼睛寻找调试**现的错误,很多函数在调试时都会出现各种问题,单个函数的调试都可以解决。但这种方法调试效率低,总是难以找到错误,难以达到预期的效果,后来在老师的指导下,学会了断点调试,才使调试达到了预期的效果,完成了程序的正确运行。

其中主要错误有:少加‘;’少加‘(’或‘)’少加‘&’等错误,这些错误不易察觉,再编程时容易出现,在今后的学习与编程中,也应该注意。

在密码的编写中,对文件的打开又出现了问题,学到了以写方式打开文件时(wt),当文件不存在,会自动创建文件并打开。

后来在vc++6.0的调试中,输入函数的调用总是出错,经过网上查找,找到了fflush(stdin)函数(此函数为清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin)),才使输入函数调试成功,完成了程序。

(3)、对自己设计进行评价,指出合理和不足之处,提出改进的方案。

主函数中可以选择各种操作:添加、删除、查找、输出、排序。

程序中在查找模块中,通过人名查找时,当查找结果不是自己时可能存在同名情况,此时可以继续查找,直到查找自己便可以退出,也可通过学号查找。

进入程序必须输入账号密码,输入三次错误后自动退出程序,在输入正确时可以修改账号密码,确保了程序的安全性,但在退出程序后未有后续安全措施。

(4)、在设计过程中的感受。

c语言课程设计是对我们的培养,每天需要查找大量资料,会学到很多知识,并把这些迅速运用到实践中,这与平常的做题不同,者更接近于我们日后的工作方式,是极好的锻炼机会,我很高兴能有这样一次机会,并且我很好的把握住了它,收获很多。

七、源程序清单(略,详见电子版实验报告)

#include <>

#include <>

#include <>

#include <>

#include <>

#define print "%8s %-7s\t %-10s %-20s",stu->name,stu->num,stu->age,stu->addr

#define scan "%s %s %s %s",stu->name,stu->num,stu->age,stu->addr

struct student/*建立struct student类型的结构体*/

char name[9];/姓名。

char num[9];/学号。

char age[3];/年龄。

char addr[20];/地址。

struct student *next;

int read_password()/读取账号密码*/

char getadminister[12];

char getpassword[7];

char administer1[12];

char password1[7];

char administer2[12];

char password2[7];

char administer[12];

char password[7];

char j;

int k;

file *fp;

if((fp=fopen(""rt"))null)

password1[k]= 0';

fflush(stdin);

printf("请确认输入的新账号:");

scanf("%s",administer2);

printf("请确认输入的新密码:");

for(k=0;k<6;k++)

password2[k]='0';

fflush(stdin);

if(strcmp(administer1,administer2)==0&&strcmp(password1,password2)==0)

if((fp=fopen(""wt"))null);

elsefprintf(fp,"%s %s",administer1,password1);

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C语言课程设计报告

华中科技大学计算机科学与技术学院。题目 专业 班级 学号 姓名 成绩 指导教师 完成日期 2016年月日。目录。一 系统需求分析 1 二 总体设计 2 三 数据结构设计 3 四 详细设计 4 五 系统实现 5 六 运行测试与结果分析 6 七 总结 7 八 参考文献 8 九 指导教师评语 9 对所要解...

C语言课程设计报告

c语言。课程设计。商业销售管理系统。学号 121407210 姓名 宋军。班级 软件1202 指导老师 邹姝稚。成绩 2013年6月。一 任务描述。编写一个商品销售管理系统,是其能够拥有商品买卖和库存管理功能。在顾客选购时,需给出输入商品名称,或商品型号,或选择列表进而输入商品编号三种选择,在顾客选...