1、 计算机科学与技术系 课程设计报告 20122013 学年第 1 学期 课程课程 C 语言课程设计 课 程 设 计 名 称课 程 设 计 名 称 学生籍贯信息记录簿设计 学生姓名学生姓名 学号学号 专业班级专业班级 指导教师指导教师 目录目录 一、绪言一、绪言需求分析需求分析 二、系统设计二、系统设计 (一)(一) 设计思想设计思想 (二)(二) 源程序设计源程序设计 (三) 、设计表示(三) 、设计表示 三、系统调试三、系统调试 四、四、学生籍贯记录薄学生籍贯记录薄使用说明使用说明 五、五、 总结总结 六、参考文献六、参考文献 一、绪言一、绪言需求分析需求分析 随着学校办学规模的不断扩大、办
2、学层次的 多样化、在校生的不断增多。开发这系 统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理, 使各项管理更加规范化 。 题目要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和 维护。 要求为: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯; (4)按籍贯查询并输出该籍贯的所有学生; (5)能添加、删除和修改学生的籍贯信息(可选项)。 二、系统设计二、系统设计 (一)(一) 设计思想:流程图设计思想:流程图 (二) 、源程序设计(二) 、源程序设计 #include /宏定
3、义函数 #include /串操作及内存操作函数 #include /调用系统函数 typedef struct student /定义新结构体 student char name10; /*定义姓名*/ int num; /*定义学号*/ char sex10; /*定义性别*/ int age; /*定义年龄*/ char location10; /*定义籍贯*/ s; void Fun() char ch1;/*定义字符*/ printf(“继续操作?nt输入 Y 继续操作/N 退出系统不区分大小写n“); scanf(“%s“, /*接收字符*/ switch(ch1) /*选择结构*
4、/ case Y: case y: break; case N: case n: printf(“欢迎您再次使用。n“); exit(0); default: printf(“输入有误!“); /*若输入的字符不是“Y”或“y”或“N”或“n” ,会提示输入有误*/ system(“cls“); /*清屏*/ void menu() /*主函数菜单*/ /*按说明键入数字并键入 enter 后可查询*/ printf(“*欢迎进入学生籍贯信息记录簿*n“); printf(“1 -显示所有信息n“); printf(“2 -按学号查询n“); printf(“3 -按姓名查询n“); prin
5、tf(“4 -按籍贯查询n“); printf(“5 -结束程序n“); printf(“*请选择您需进行的选项*n“); main() FILE *fp; /*定义文件型指针变量*/ s stu100; int i=0,n=0,m,num; /*定义变量*/ char name10,location20; fp=fopen(“information.txt“,“r+“);/*打开文件并读取*/ while(!feof(fp) fscanf(fp,“%s%d%s%d%s“, /*读取姓名,学号等信息*/ i+; n+; L: menu(); printf(“输入序号:“); scanf(“%d“, system(“cls“); switch(m) /*选择结构,选择查询方式或添加学生信息*/ case 1: for(i=0;i10) /*在 “information.txt”这个文件中只有 10 位学生的信息