1、5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目 录内蒙古科技大学课程设计任务书 I第一章 需求分析 31.1 引言 31.2 任务概述 31.3 数
2、据描述 31.4 功能需求 31.5 性能需求 3第二章 概要设计 42.1 总体设计 42.2 数据类型设计(或数据结构设计) 62.3 接口设计 函数声明 62.4 运行界面设计 6第三章 详细设计 83.1 输入模块设计 83.2 输出模块设计 83.3 查找模块设计 93.4 保存及读取模块设计 10第四章 测试分析 114.1 测试程序执行情况 11第五章 课程设计总结 14附录:程序代码 15参考文献 26致谢 26第一章 需求分析1.1 引言学生基本信息管理系统1.2 任务概述1.建立学生信息,信息至少包含学生姓名,学号,性别,年龄,出生日期,家庭地址,e-mail,电话地址等;
3、2.能够提供新建、浏览、查找、修改和删除通讯录信息的功能;3.能够提供安不同方式查询的功能;如按姓名或电话等查询;1.3 数据描述struct student char NO20; char name20; int age; char sex3; *F表示性别男,M表示性别女* char birthday10; char address30; char phone20; char e_mail20; struct student *next; 下个结点;1.4 功能需求1、输入功能:一次可以完成自定义学生人数的学生信息记录的输入。2、删除功能:对指定学生的信息进行删除。3、修改功能:对指定学生
4、的信息进行修改。4、查询功能:选择某种方式并输入该信息查询符合条件的学生信息。5排序功能:以英语课程的分数为依据对学生信息进行排序。6显示功能:将以上功能操作后的学生信息显示出来。7退出主菜单。1.5 性能需求第二章 概要设计2.1 总体设计总体结构我们采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。也可根据自己对题目的理解增加新的功能模块。系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行2.2 数据类型设计(或数据结构设计)2.3 接口设计 函数声明表2.1:函数列表函数名函数格式 即
5、函数首部函数功能void show_menu(); void显示菜单void menu();执行菜单void creat_stu();建立链表void insert_stu();学生信息录入void print_stu();学生信息浏览void search_NO();以学号方式查询信息void search_name();以姓名方式查询信息void arrage_stu();排序void del_stu();删除学生信息void revise_stu();修改学生信息void save();保存信息2.4 运行界面设计主菜单模块采用switch()函数从键盘选择相应菜单的对应功能。switc
6、h(c) getchar(); case 1:insert_stu();break; 学生信息录入 case 2:print_stu(); 学生信息浏览 case 3:search_NO(); break; 以学号方式查询信息 case 4:search_name(); 以姓名方式查询信息 case 5:del_stu(); 删除学生信息 case 6:revise_stu(); 修改学生信息 case 7:arrage_stu(); 保存信息 case 0:exit(0); 退出 第三章 详细设计3.1 输入模块设计数据插入模块采用scanf( )函数输入新联系人信息插入至结构数组中。PF(
7、tt输入学生学号:t); scanf(%s,p1-NO); 学号 PF(tt输入学生姓名:name); 姓名tt输入学生年龄:%d,&p1-age); 年龄 tt输入学生性别:sex); 性别tt输入学生出生年月:birthday); 出生年月tt输入学生地址:address); 地址tt输入学生电话:phone); 电话tt输入学生E-mail:e_mail); E-mail n+;3.2 输出模块设计数据浏览模块采用分屏显示,每屏3条记录。用fread或fscanf读文件,输出结果。for(p=tt学生学号:t%sn,p-tt学生姓名:tt学生年龄:t%dntt学生性别:tt学生出生年月:
8、tt学生地址:tt学生电话:tt学生E-mail:n 输出信息3.3 查找模块设计1) 按姓名查找模块通过键盘输入要查找的学生姓名,然后与结构数组中的姓名信息逐一比对,找出学生信息并输出void search_name() 学生姓名信息查找 STU *p=NULL; if( return; 输入学生姓名:,name); for(p=请输入学生学号:,NO); FILE *fp; char *filename=fname.txt; if(fp=fopen(,w)=NULL) 出错检测 printf(n打不开文件! else p=NO,p-name,p-age, p-sex,p-birthday,
9、p-address,p-phone,p-存入文件 p=p-next;保存完毕! fclose(fp);第四章 测试分析4.1 测试程序执行情况主菜单输入学生信息按学号查找学生信息按姓名查找学生信息第五章 课程设计总结在我上机调试程序的过程中,我遇到了很多的问题,说实话这次课程设计自己没有出多大的力,大部分都是借鉴同学的设计成果,自己设计是总是觉得没有头绪,无从下手。看到同学认真看程序的样子,还有修改程序时的熟练,我很羡慕他,我想,我也要将C+学好,在将来能为我的就业加分。在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,似乎弄得我们既没有时
10、间也没有心情复习,我曾一度地抱怨过学院,在完成它之后,我发现我错了,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。程序代码#include name,&age, p1-sex,p1-birthday,p1-address,p1-phone,p1-next=NULL; 创建节点完 if(+; p2-执行菜单void menu() int c; show_menu(); while(1)c); switch(c) 执行菜单选项显示菜单void show_menu()n菜单ntt1.输 入 学 生 信 息 nt
11、t2.浏 览 学 生 信 息 ntt3.以学号方式查询信息ntt4.以姓名方式查询信息ntt5.删 除 学 生 信 息 ntt6.修 改 学 生 信 息 ntt7 排 序 ntt0. 退 出 nnn请选择n学生信息录入void insert_stu() 学生信息录入 n=0; STU *p1=NULL,*p2=NULL; p1=(STU *)malloc(sizeof(STU);n录入学生信息n 录入学生信息 学生姓名信息查找 i=1; 输出信息 i) PF(无该生信息!请查证: 没找到信息时的处理 学生学号信息查找void search_NO() 学生学号信息查找修改学生信息void revise_stu()请输入学生的学号: 输出要修改信息修改学号为%s的学生n strcpy(p-NO,NO);tt输入修改学生姓名:tt输入修改学生年龄:p-tt输入修改学生性别:tt输入修改学生出生年月:tt输入修改学生地址:tt输入修改学生电话:tt输入修改学生E-mail: 输入修改信息 save(); if(!i) *没找到信息时的处理*删除学生信息void del_stu(),p-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1