学生籍贯记录簿设计

合集下载

程序设计--学生籍贯信息记录簿

程序设计--学生籍贯信息记录簿

程序设计--学生籍贯信息记录簿一、需求分析为了方便管理和查询,需要对全体学生的籍贯信息进行记录和统计。

本系统需要满足以下功能要求:1. 记录学生的籍贯信息,包括省、市、县/区。

2. 可以查询某个省、市、县/区的学生人数及比例。

3. 可以查看某个学生的详细信息,包括学号、姓名、性别、身份证号、电话号码等。

二、概要设计本系统采用MVC架构,前端使用HTML+CSS+Javascript,后端使用Java语言和MySQL数据库实现。

1. 数据库设计数据库中包含两个表:学生表和籍贯表。

学生表包含学生的基本信息,籍贯表包含省、市、县/区的信息。

学生表字段如下:| 字段名 | 类型 | 说明 || ---------- | ------ | -------- || id | int | 主键 || name | varchar(20) | 姓名 || gender | int | 性别(0: 男, 1: 女) || id_card | varchar(18) | 身份证号码 || phone_num | varchar(11) | 电话号码 || province_id | int | 省id || city_id | int | 市id || county_id | int | 县/区id |2. 功能实现实现方法:1. 添加学生信息用户在前端输入学生信息,包括姓名、性别、身份证号码、电话号码和籍贯信息,点击保存按钮后将学生信息插入数据库中。

2. 查询某个省、市、县/区的学生人数及比例用户在前端选择省、市、县/区,点击查询按钮后,后端计算该地区的学生人数及比例,将结果在前端显示。

3. 查看某个学生的详细信息三、详细设计省、市、县/区的信息分别封装在Province、City和County类中。

学生信息封装在Student类中。

Province:public class Province {private int id;private String name;// getter和setter方法}City:Student:public class Student {private int id;private String name;private int gender;private String id_card;private String phone_num;private Province province;private City city;private County county;2. DAO层设计数据访问层(DAO)通过封装SQL查询语句,对数据库进行操作。

学生籍贯信息记录簿.

学生籍贯信息记录簿.

程序设计课程设计报告学生籍贯信息记录簿计算机科学与技术专业__________ (嵌入式软件人才培养)______ 学生姓名_______________ 李苏兴______________ 班级_______________________________________ 学号_______________________________________ 指导教师____________________________________完成日期____________ 2013年6月____________目录第 1 章设计目的............................................... 第 2 章设计内容与要求......................................... 第 3 章主要技术指标及特点..................................... 第 4 章设计小结............................................... 第 5 章参考文献............................................... 附录:源代码清单...............................................第1章设计目的1) 加深对《C 语言程序设计》课程知识的理解,掌握 发方法和步骤;2) 进一步掌握和利用C 语言进行课程设计的能力;3) 进一步理解和运用结构化程序设计的思想和方法;4) 初步掌握开发一个小型实用系统的基本方法;5) 学会调试一个较长的程序的基本方法;6) 学会利用流程图或N-S 图表示算法;7) 掌握书写课程设计开发文档的能力(书写课程报告) C 语言应用程序的开第2 章设计内容与要求课程设计目的课程设计题目:学生籍贯信息记录簿;该软件主要是编制一个学生籍贯信息记录簿每个学生信息包括:学号、姓名、籍贯具体功能要求如下:1) 创建信息链表并以磁盘文件保存;2) 读取磁盘文件并显示输出所有学生的籍贯信息;3) 按学号或姓名查询其籍贯;4) 按籍贯查询并输出该籍贯的所有学生;5) 能添加、删除和修改学生的籍贯信息;6) 显示输出江苏籍和非江苏籍的所有学生的信息并可分别存盘第3章主要技术指标及特点各项功能(模块层次图):该软件主要组成模块和各个模块之间的调用关系如图:退出系统程序采用主要的结构类型分析该程序采用的是结构体类型来处理学生的所有基本信息,如下所述结构体为:typedef struct Student {char num[20];char name[20];char place[20];struct Student *next;}STU;包含的库函数有:#include <stdio.h>#include <string.h>#include <stdlib.h> //文件的使用包含的函数有:Select(); /*主菜单*/New(); /* 初始化学生信息*/Add(); /* 添加学生信息*/Query1(); /* 查找学生信息(按学号)*/Query2(); /*查找学生信息(按姓名)*/Query3(); /*查找学生信息(按籍贯)*/Change(); /* 修改学生信息*/Displayall(); /* 显示学生信息(全部)*/Displayjs(); /* 显示学生信息(分类)*/Delete(); /* 删除学生信息*/Save(); /* 保存学生信息*/Load(); /* 载入学生信息*/函数分析(1)main()该函数的主要功能是调用其他12 个函数来实现主菜单的8 项功能,通过择语句switch 选选择操作,然后通过调用各种函数实现调用:void mai n(){FILE *fp; /*创建文件型指针*/if((fp=fope n("Stude nt.dat","rb"))==NULL)New();elseLoad();for(;;) /*循环调用模式,保证能进行重复操作*/{switch(Select()) /* 功能选择*/{case 0:system("cls");/*清除屏幕先前的显示内容*/ Save();printf("\n\n\t 文件保存成功!\n");printf("\n\n\t欢迎下次使用本系统!\n"); getchar();exit(0);case 1: Add();break;case 2: Query1();break;case 3: Query2();break;case 4: Query3();break;case 5: Chan ge();break;case 6: Delete();break;case 7: Displayall();break;case 8: Displayjs();break; default:printf("\n 错误!");exit(O);}第4章设计小结好久没用C语言写东西了,自从程序竞赛结束后就没怎么碰过C语言,在做课程设计的时候暴露出很多问题,知识点的遗忘之类的。

课程设计-学生籍贯管理设计

课程设计-学生籍贯管理设计

目录1 课题分析 (1)1.1 问题描述 (1)学生籍贯信息记录簿 (1)1.2 功能需求分析 (1)2 系统设计 (2)2.1 数据存储设计 (2)2.5 文件清单与说明 (4)3.1菜单设计 (5)3.2学生信息查看设计 (5)3.3 分盘存储设计 (6)4 测试数据与测试过程记录 (7)4.1 菜单测试 (7)4.2查看学生信息功能测试 (7)4.3 学生信息处理测试 (9)5 课程设计遇到的问题及解决方法 (20)6 课程设计总结 (20)参考文献 (21)附录源文件 (21)1 课题分析1.1 问题描述学生籍贯信息记录簿编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:1) 系统以菜单方式工作;2)添加学生信息,至少10条。

3)显示所有学生的信息;4)按学号或姓名查询其籍贯;5)按籍贯查询并输出该籍贯的所有学生(至少3个城市);6)删除和修改学生的籍贯信息;7)显示输出上海市籍和非上海市籍学生的信息并可分别存盘。

1.2 功能需求分析1.图表图1 系统功能模块图2.表格2 系统设计2.1 数据存储设计void save_data(){FILE *fp;int i,k;k=dd.count;fp=fopen("c:/dada.txt","w");fwrite(&k,sizeof(int),1,fp);for(i=0;i<k;i++)fwrite(&dd.stu[i],sizeof(struct student),1,fp);fclose(fp);}2.2 数据结构设计void read_data(){FILE *fp;int i,k;struct student st;k=0;if(fopen("d:/students.txt","r")==NULL) // 如果文件不存在{fp=fopen("d:/students.txt","w");fwrite(&k,sizeof(int),1,fp);fclose(fp);}fp=fopen("d:/students.txt","r");fread(&k,sizeof(int),1,fp);dd.count=k;for(i=0;i<k;i++){fread(&st,sizeof(struct student),1,fp);strcpy(dd.stu[i].name,);strcpy(dd.stu[i].no,st.no);strcpy(dd.stu[i].ad,st.ad);}fclose(fp);}2.3 函数设计与说明2.4菜单设计2.5 文件清单与说明3 系统实现3.1菜单设计进入菜单页面,输入相应的功能序号,判定序号是否有效,若有效则执行,无效则提示有误并重新输入。

课程设计报告-学生籍贯信息记录薄

课程设计报告-学生籍贯信息记录薄

学生籍贯信息记录薄《学生籍贯信息记录簿》程序设计基础课程设计报告专业:计算机科学与技术系班级:一班姓名:学号:指导教师:完成日期:2012-6-25目录1. 课程设计目的................................................................................................................................ - 3 -1.1课程设计目的: (3)1.2课程设计题目: (3)1.3题目要求: (3)2.总体设计.......................................................................................................................................... - 5 -2.1总体组成框图: (5)2.2总体流程图: (5)3.详细设计.......................................................................................................................................... - 6 -3.1信息录入模块. (6)3.1.1函数功能:........................................................................................................................ - 6 -3.1.2函数入口:........................................................................................................................ - 6 -3.1.3函数流程图:.................................................................................................................... - 6 -3.2显示物品信息模块.. (7)3.2.1函数功能:........................................................................................................................ - 7 -3.2.2函数介绍:........................................................................................................................ - 7 -3.2.3函数流程图:.................................................................................................................... - 7 -3.3查找学生信息模块.. (8)3.3.1函数功能:........................................................................................................................ - 8 -3.3.2函数介绍:........................................................................................................................ - 8 -3.3.3函数流程图........................................................................................................................ - 9 -3.4删除学生信息模块.. (9)3.4.1函数功能:........................................................................................................................ - 9 -3.4.2函数介绍:........................................................................................................................ - 9 -3.4.3函数流程图:.................................................................................................................. - 10 -3.5修改学生信息模块 (10)3.5.1函数功能:...................................................................................................................... - 10 -3.5.2函数介绍:...................................................................................................................... - 10 -3.5.3函数流程图:.................................................................................................................. - 11 -3.6显示所有四川籍学生信息 (11)3.6.1函数功能.......................................................................................................................... - 11 -3.6.2函数介绍:...................................................................................................................... - 12 -3.6.3函数流程图...................................................................................................................... - 12 -4、运行结果..................................................................................................................................... - 13 -4.1主界面.. (13)4.2录入信息 (13)4.3显示学生信息 (14)4.4查找学生信息 (14)4.5删除学生信息 (15)4.6修改学生信息 (16)4.7四川籍学生信息展示 (17)5、课程设计总结............................................................................................................................. - 18 -6、参考文献..................................................................................................................................... - 19 -1. 课程设计目的1.1课程设计目的:《C++程序设计》是计算机科学与技术专业的必修课。

3-学生籍贯信息记录簿设计

3-学生籍贯信息记录簿设计

合肥学院计算机科学与技术系课程设计任务书2010~2011学年第二学期课程C语言课程设计课程设计名称学生籍贯信息记录簿设计专业班级指导教师2011年6月一、课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

二、课程设计名称及内容课程设计名称:学生籍贯信息记录簿设计设计内容:设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和维护。

三、任务和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、性别、年龄、籍贯。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息(可选项);四、主要知识点●程序设计方法●界面制作●动态数组(链表)●文件的读写五、其他程序设计可在Turbo C、VC++、C++ Builder环境下进行。

六、参考资料[1]黄明等编著《C语言课程设计》北京:电子工业出版社[2]郭翠英编著《C语言课程设计案例精编》北京:中国水利水电出版社[3] 宁正元《数据结构(c语言)》南京:东南大学出版社。

课程设计学生籍贯信息薄

课程设计学生籍贯信息薄

课程设计学生籍贯信息薄一、教学目标本课程的教学目标是使学生掌握籍贯信息的定义、分类和收集方法,培养学生对不同籍贯文化的认识和尊重,提高学生运用信息技术整理和分析籍贯信息的能力。

知识目标:学生能够理解籍贯信息的含义,掌握不同籍贯的分类及特点,了解收集、整理和分析籍贯信息的基本方法。

技能目标:学生能够运用信息技术手段,如网络搜索、数据整理等,收集和处理不同籍贯的信息,从而提高信息处理能力。

情感态度价值观目标:通过本课程的学习,学生能够增强对不同地域文化的认识和理解,培养尊重多元文化的态度,增强民族自豪感。

二、教学内容本课程的教学内容主要包括籍贯信息的定义、分类和收集方法,以及如何运用信息技术整理和分析籍贯信息。

1.籍贯信息的定义:介绍籍贯的概念,解释籍贯信息的含义及其在历史、文化研究中的重要性。

2.籍贯信息的分类:分析不同籍贯的分类及其特点,如省份、城市、乡村等,让学生了解不同籍贯的文化差异。

3.籍贯信息的收集方法:介绍收集、整理和分析籍贯信息的基本方法,如查阅历史文献、访问老辈人、利用网络资源等。

4.信息技术在籍贯信息整理中的应用:教授如何运用信息技术手段,如网络搜索、数据整理等,收集和处理不同籍贯的信息。

三、教学方法本课程将采用讲授法、案例分析法、小组讨论法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:教师讲解籍贯信息的定义、分类和收集方法,以及信息技术在籍贯信息整理中的应用。

2.案例分析法:分析具体的籍贯信息案例,让学生了解不同籍贯的特点,培养学生的分析能力。

3.小组讨论法:学生进行小组讨论,分享各自收集的籍贯信息,提高学生的合作能力和沟通能力。

4.实验法:让学生动手操作,运用信息技术手段收集和处理籍贯信息,提高学生的实践能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的教材,为学生提供基础知识。

2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。

程序设计--学生籍贯信息记录簿

程序设计--学生籍贯信息记录簿

程序设计--学生籍贯信息记录簿-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN程序设计报告( 2012 /2013 学年第二学期)题目:学生籍贯信息记录簿专业学生姓名班级学号指导教师指导单位日期学生籍贯信息记录簿一、课题内容和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出江苏籍和非江苏籍学生的信息并可分别存盘。

二、需求分析模块1:显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)模块2:输出籍贯信息(显示输出所有学生的籍贯信息)模块3:根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)模块4:输出学生信息(输出该籍贯的所有学生)模块5:基本信息管理(添加、删除和修改学生的籍贯信息)模块6:分别显示存盘(显示输出江苏籍和非江苏籍学生的信息并可分别存盘)模块7:结束程序(退出系统)三、概要设计四、源程序代码#include<>#include<>#include<>#include<>#define MAX 100 取最初输入的信息并显示void Readfile(); 改第i个学生的姓名和籍贯void Save1(); 示输出江苏,非江苏学生信息void Find(int i); 学号或姓名查询籍贯void Finds(); 入信息并存档\n");printf("2.读取信息并显示\n");printf("3.按学号或姓名查询籍贯\n");printf("4.按籍贯查询学生\n");printf("5.修改(删除)指定姓名或学号的学生的姓名和籍贯\n");printf("6.显示输出江苏,非江苏学生信息\n");printf("**********************************************************\n");scanf("%s",&choose);switch(choose){case '1':{Input();Save1();}break;case '2':{Readfile();Display();}break;case '3':{Readfile();Find(1);}break;case '4':{Readfile();Finds();}break;case '5':{Readfile();Find(0);}break;case '6':{Readfile();Dis();}break;default:printf("输入错误,请重新输入:\n");}}while(1);}void Save2(int t) um,stu[t].name,stu[t].address);um);if(strcmp(stu[n].num,"Finish")==0) break;scanf("%s",stu[n].name);scanf("%s",stu[n].address);n++;}while(1);}void Save1() um,stu[i].name,stu[i].address);取信息并显示{int i;printf(" 学号姓名籍贯:\n");for(i=0;i<n;i++){printf("%5s %5s %5s\n",stu[i].num ,stu[i].name ,stu[i].address);}}void Find(int f) 学号或姓名查询籍贯{int i;int choose,k;char ans[50]; 学号查询\n");printf("2.按姓名查找\n");printf("3.返回主菜单\n");scanf("%d",&choose);if(choose==1){printf("请输入学号\n");scanf("%s",ans);k=-1;for(i=0;i<n;i++)if(strcmp(ans,stu[i].num)==0){k=i;break;}if(k==-1)printf("不存在该学生信息\n");else{if(f==1)printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address);elseModify(k);ame)==0){k=i;break;}if(k==-1)printf("不存在该学生信息\n");else{if(f==1)printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address);elseModify(k);改第t个学生的姓名和籍贯{int choose;int i;printf("1.删除\n");printf("2.修改\n");scanf("%d",&choose);if(choose==1){for(i=t;i<n-1;i++){stu[i]=stu[i+1];}n--;}else{printf(">>>>请重新输入该学生信息:\n");scanf("%s %s %s",stu[t].num,stu[t].name,&stu[t].address);}Save2(t); um,stu[n].name,&stu[n].address);示输出江苏,非江苏学生信息{int i;printf("江苏学生:\n");printf("学号姓名籍贯\n");for(i=0;i<n;i++){if(strcmp(stu[i].address,"江苏")==0)um,stu[i].name,stu[i].address);}}printf("\n");printf("\n");printf("非江苏学生:\n");printf("学号姓名籍贯\n");for(i=0;i<n;i++){if(strcmp(stu[i].address,"江苏")!=0){printf("%s %7s %5s\n",stu[i].num,stu[i].name,stu[i].address);}}}void Finds(){int i,k=-1;int choose;char ans[50];printf("请输入籍贯\n");scanf("%s",ans);for(i=0;i<n;i++)if(strcmp(ans,stu[i].address)==0){k=1;printf("%s %s %s\n",stu[i].num,stu[i].name,stu[i].address);}if(k=-1)printf("无此省份学生信息\n");return;}五、测试数据及其结果分析截取了调试时的图片,基本符合要求,但然后一些不人性化的地方值得修改。

程序设计--学生籍贯信息记录簿

程序设计--学生籍贯信息记录簿

程序设计报告(2012 /2013 学年第二学期)题目:学生籍贯信息记录簿专业学生姓名班级学号指导教师指导单位日期学生籍贯信息记录簿一、课题容和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出籍和非籍学生的信息并可分别存盘。

二、需求分析模块1:显示基本信息(创建信息链表并以磁盘文件保存,读取磁盘文件)模块2:输出籍贯信息(显示输出所有学生的籍贯信息)模块3:根据条件查询(按学号或姓名查询其籍贯,按籍贯查询)模块4:输出学生信息(输出该籍贯的所有学生)模块5:基本信息管理(添加、删除和修改学生的籍贯信息)模块6:分别显示存盘(显示输出籍和非籍学生的信息并可分别存盘)模块7:结束程序(退出系统)三、概要设计四、源程序代码#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#define MAX 100 //宏定义最多输入人数typedef struct{char num[50];char name[50];char address[50];}Student; //定义了一个新的结构体类型Student Student stu[MAX]; //定义结构体型数组int n; //定义一个全局变量,表示第n个学生int t;int s=0;void Input(); //输入信息void Display(); //2.读取最初输入的信息并显示void Readfile(); //读取文件student.dat的信息void Modify(int i); //5.修改第i个学生的姓名和籍贯void Save1(); //将最初输入的容存档到student.dat文件中void Save2(); //传送格式化输出到student.dat文件void Dis(); //6.显示输出,非学生信息void Find(int i); //3.按学号或姓名查询籍贯void Finds(); //4按籍贯查找学生void main(){char choose;do {if(s==0){int M=35;printf("欢迎大家进入邮电大学籍贯管理系统\n");s++;}printf("**********************************************************\n");printf("1.输入信息并存档\n");printf("2.读取信息并显示\n");printf("3.按学号或姓名查询籍贯\n");printf("4.按籍贯查询学生\n");printf("5.修改(删除)指定姓名或学号的学生的姓名和籍贯\n");printf("6.显示输出,非学生信息\n");printf("**********************************************************\n");scanf("%s",&choose);switch(choose){case '1':{Input();Save1();}break;case '2':{Readfile();Display();}break;case '3':{Readfile();Find(1);}break;case '4':{Readfile();Finds();}break;case '5':{Readfile();Find(0);}break;case '6':{Readfile();Dis();}break;default:printf("输入错误,请重新输入:\n");}}while(1);}void Save2(int t) //传送格式化输出到student.dat文件中{FILE* fp;fp=fopen("student.dat","w"); //以只写的方式打开student.dat文件fprintf(fp,"%s %s %s\n",stu[t].num,stu[t].name,stu[t].address);//格式化输出:学号姓名地址fclose(fp);}void Input() //输入信息{n=0;do{printf("请输入第%d个学生信息,输入Finish结束输入(输入格式:学号姓名籍贯)\n",n+1);scanf("%s",stu[n].num);if(strcmp(stu[n].num,"Finish")==0) break;scanf("%s",stu[n].name);scanf("%s",stu[n].address);n++;}while(1);}void Save1() //将最初输入的容存档到student.dat文件中{int i;FILE* fp;if((fp=fopen("student.dat","a+"))==NULL)//以读写的方式打开student.dat文件fp=fopen("student.dat","w"); //以只写的方式打开student.dat文件for(i=0;i<n;i++){fprintf(fp,"%s %s %s\n",stu[i].num,stu[i].name,stu[i].address);//用格式化输出函数输出容到student.dat}fclose(fp);}void Display() //2.读取信息并显示{int i;printf(" 学号姓名籍贯:\n");for(i=0;i<n;i++){printf("%5s %5s %5s\n",stu[i].num ,stu[i].name ,stu[i].address);}}void Find(int f) //3.按学号或姓名查询籍贯{int i;int choose,k;char ans[50]; //定义字符串型数组,用于查找do{printf("1.按学号查询\n");printf("2.按姓名查找\n");printf("3.返回主菜单\n");scanf("%d",&choose);if(choose==1){printf("请输入学号\n");scanf("%s",ans);k=-1;for(i=0;i<n;i++)if(strcmp(ans,stu[i].num)==0){k=i;break;}if(k==-1)printf("不存在该学生信息\n");else{if(f==1)printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address);elseModify(k);//执行修改第t个学生的姓名和籍贯的函数}}else if(choose==2){printf("请输入姓名\n");scanf("%s",ans);k=-1;for(i=0;i<n;i++)if(strcmp(ans,stu[i].name)==0){k=i;break;}if(k==-1)printf("不存在该学生信息\n");else{if(f==1)printf("%s %s %s\n",stu[k].num,stu[k].name,stu[k].address);elseModify(k);//执行修改第t个学生的姓名和籍贯的函数}}else return;}while(1);}void Modify(int t) //4.修改第t个学生的姓名和籍贯{int choose;int i;printf("1.删除\n");printf("2.修改\n");scanf("%d",&choose);if(choose==1){for(i=t;i<n-1;i++){stu[i]=stu[i+1];}n--;}else{printf(">>>>请重新输入该学生信息:\n");scanf("%s %s %s",stu[t].num,stu[t].name,&stu[t].address);}Save2(t); //传送修改过的格式化输出到student.dat文件中}void Readfile() //读取文本文件student.dat的信息{FILE *fp;if((fp=fopen("student.dat","r"))==NULL) return ;//以只读的方式打开student.dat文件n=0;while(!feof(fp)) //判断文件指针是否指向文件结束处{fscanf(fp,"%s%s%s",stu[n].num,stu[n].name,&stu[n].address);//利用fscanf()函数输入信息n++;}fclose(fp);}void Dis() //5.显示输出,非学生信息{int i;printf("学生:\n");printf("学号姓名籍贯\n");for(i=0;i<n;i++){if(strcmp(stu[i].address,"")==0)//比较字符串大小{printf("%s %5s %5s\n",stu[i].num,stu[i].name,stu[i].address);}}printf("\n");printf("\n");printf("非学生:\n");printf("学号姓名籍贯\n");for(i=0;i<n;i++){if(strcmp(stu[i].address,"")!=0){printf("%s %7s %5s\n",stu[i].num,stu[i].name,stu[i].address);}}}void Finds(){int i,k=-1;int choose;char ans[50];printf("请输入籍贯\n");scanf("%s",ans);for(i=0;i<n;i++)if(strcmp(ans,stu[i].address)==0){k=1;printf("%s %s %s\n",stu[i].num,stu[i].name,stu[i].address);}if(k=-1)printf("无此省份学生信息\n");return;}五、测试数据及其结果分析截取了调试时的图片,基本符合要求,但然后一些不人性化的地方值得修改。

学生籍贯信息记录簿

学生籍贯信息记录簿

<<"
*
Page
8
cin>>k; if (k==1) {AddStudent();SaveFile();} else if(k==2) Loop(); else if(k==3) FindID(); else if(k==4) FindProvince(); else if(k==5) FindName(); else if(k==6) {Remove();SaveFile();} else if(k==7) {Xg();SaveFile();} else if(k==0) cout<<"完成!!!\n"; else cout<<"你输入了一个错误的数字,请重新输入:"; } }
Page
15
按学号查询学生(部分主要程序)
int FindID()//按学号查询学生: { int id1,id2; string province,name; cout<<"学号:";cin>>id1; ifstream iFile(fileName.c_str());//用文件输入流读入文件名为fileName这个文件 while(iFile>>id2>>province>>name) { if(id1==id2) { cout<<id2<<" "<<province<<" "<<name<<endl; break; } } iFile.close(); return 0; }
Page
18
修改前学生信息

C语言程序设计学生籍贯信息记录簿

C语言程序设计学生籍贯信息记录簿

学院程序设计工程训练报告C语言程序设计学生籍贯信息记录簿课程名称C语言程序设计工程训练姓名院(系)信息科学与技术学院专业班级学号指导教师教务处制目录1 需求分析 (1)2 系统总框图和功能模块说明 (1)2.1 系统总框图 (1)2.2 功能模块说明 (2)3 系统设计 (2)3.1 主要结构体 (2)3.2主要功能函数 (2)3.3 关键函数的流程图 (3)4 系统调试 (4)5 总结 (6)6 源程序清单 (8)1 需求分析编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:1、创建信息链表并以磁盘文件保存2、读取磁盘文件并显示输出所有学生的籍贯信息3、按学号或姓名查询其籍贯4、按籍贯查询并输出该籍贯的所有学生5、能添加、删除和修改学生的籍贯信息6、系统以菜单方式工作2 系统总框图和功能模块说明2.1 系统总框图图1 系统总框图2.2 功能模块说明系统初始化模块:完成系统初始化。

创建信息链表模块:在本地创建学生籍贯文件,保存学生籍贯信息。

输入学生信息模块:完成学生籍贯信息的录入。

修改学生信息模块:完成学生籍贯信息的修改。

查询学生信息模块:完成学生籍贯信息的查询。

删除学生信息模块:完成学生籍贯信息的删除。

重置学生信息模块:完成学生籍贯信息的重置。

保存学生信息模块:完成学生籍贯信息的保存。

3 系统设计3.1 主要结构体学生信息:学号、姓名、籍贯typedef struct{ short zhku_status;char zhku_number[12];char zhku_name[10];char zhku_address[20];}StuType;3.2主要功能函数void zhku_AddData(void) /*录入数据*/void wxw_ListData(void) /*显示所有数据*/void wp_Delete(void) /*做删除标记*/void wp_Pack(void) /*重置信息*/ void zhku_UpdateData(void) /*修改*/void SH_Search(void) /*查询*/3.3 关键函数的流程图4 系统调试打开程序后按任意键,将会出现上述界面。

c语言程序学生籍贯信息记录簿设计

c语言程序学生籍贯信息记录簿设计

c 语言程序学生籍贯信息记录簿设计学生籍贯信息记录簿课程设计报告书班级: 方0909-1 学号: 20096401 姓名: 苑小叶指导教师: 康亚男石家庄铁道大学四方学院2010年07月14日1课程设计报告内容1. 选择题目题目: 学生籍贯信息记录簿设计 2. 内容摘要摘要:学生籍贯信息管理系统是典型的信息管理系统, 根据开发要求,主要完成对学生姓名、学号、籍贯等管理。

随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。

开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。

本系统管理内容广泛,全面涉及管理学生资料信息的管理。

3. 索引关键词关键词:学生籍贯管理,结构体,循环,函数学生籍贯信息记录簿4. 目录目录1题目要求................................................ 4 2设计思想............................................. 4 3系统完成及功能.......................................... 44界面设计............................................ 5 5正文................................................. 5 6结论................................................. 14 7参考资料............................................ 14 8后记................................................. 15 9附录. (15)3学生籍贯信息记录簿 5. 正文1.1 课程设计题目要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3. 画出功能模块图;4. 进行简单界面设计,能够实现友好的交互;5. 具有清晰的程序流程图和数据结构的详细定义;6.熟练掌握C语言对文件的各种操作。

C语言课程设计 学生籍贯信息记录簿设计教学教材

C语言课程设计 学生籍贯信息记录簿设计教学教材

C语言课程设计学生籍贯信息记录簿设计C语言与程序设计课程设计学生籍贯信息记录簿设计学院信息工程班级物联1301班学号 131408119姓名滕玲一.设计目的该软件主要是编辑一个学生籍贯信息记录簿记录每个学生信息,包括:学号、姓名、籍贯。

具体功能:1.创建信息链表并以磁盘文件保存;2.读取磁盘文件并显示输出所有学生的籍贯信息;3.按学号或姓名查询其籍贯;4.按籍贯查询并输出该籍贯的所有学生;5.能添加、删除和修改学生的籍贯信息;二.总体设计1.设置输入输出流及将程序由磁盘文件保存,构件类stu,其主要包括:学号,姓名,籍贯;2.构建无返回值main函数,输出由与程序相关操作构成的信息链表;3.根据链表设置利用switch函数和循环函数将链表中的内容一一实现;三.详细设计1.学生基本信息的录入这部分的功能主要包括信息的录入,首先按程序提示输入学生的学号,姓名,籍贯等。

在录入数据的同时,系统将对信息的合法性进行检验。

若用户输入不合法的信息,则被系统要求重新输入;若合法性成立则录入完毕后系统将返回主页面。

主页面还有显示学生的全部信息,并且这些信息都会写到你所指定的文本文件中。

2.显示学生信息此功能是将原录入的学生信息读出,并在屏幕上显示出来,并且录入到你所指定的文本文件中。

3.学生信息读取进入该项功能界面后,用户可以对学生的个人信息进行查看,并且录入到你所指定的文本文件中。

4.按学号或姓名查找学生信息此项功能可以根据用户输入的选择查处该学生的所有信息,并且录入到你所指定的文本文件中。

5.删除和修改个人信息选择此项功能后,系统将会自动在屏幕上显示按学号录入原来同学的个人信息,输入后进行修改,并且录入到你所指定的文本文件中。

6.退出系统,结束任务【注:main()主函数每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序某个地方。

程序之前输入学生信息,main()申明主函数,输出相应的功能函数。

学生籍贯信息记录簿 C语言课程设计

学生籍贯信息记录簿 C语言课程设计

程序设计课程设计报告课题名称: 学生籍贯信息记录簿专业 计算机科学与技术(软件工程) 学生姓名班级 学号指导教师完成日期一课程设计的目的-----------------------------------------------------------1二设计内容与要求-----------------------------------------------------------1三主要技术指标及特点-----------------------------------------------------13.0 信息描述(注:用流程图表示)-------------------------------------------------13.1 创建信息链表并以磁盘文件保存;--------------------------------------------23.2 读取磁盘文件并显示输出所有学生的籍贯信息;--------------------------33.3 按学号或姓名查询其籍贯;-----------------------------------------------------53.4 按籍贯查询并输出该籍贯的所有学生;--------------------------------------93.5 能添加、删除和修改学生的籍贯信息;-------------------------------------113.6 显示输出江苏籍和非江苏籍学生的信息并可分别存盘。

----------------16四设计小结-------------------------------------------------------------------17五程序源代码----------------------------------------------------------------18六参考文献-------------------------------------------------------------------29一.课程设计的目的1.加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;2.进一步掌握和利用C语言进行课程设计的能力;3.进一步理解和运用结构化程序设计的思想和方法;4.初步掌握开发一个小型实用系统的基本方法;5.学会调试一个较长的程序的基本方法;6.学会利用流程图或N-S图表示算法;7.掌握书写课程设计开发文档的能力(书写课程报告)。

基于C 的学生籍贯信息记录簿方案设计书

基于C  的学生籍贯信息记录簿方案设计书

学生姓名:指导老师:摘要随着现代化校园的发展,学生的学籍管理需要更快捷方便的信息化管理模式。

设计一个基于c++的学生档案管理系统,可以方便对学生信息的管理。

本设计实现了全校学生信息查询,新来的学生信息进行信息录入,由于学生上课情况复杂,还实现了信息修改,及时调整学生的基本情况的功能。

本设计的学校学生档案管理系统,使用了面向对象的方法,运用Microsoft Visual C++ 6.0实现具有添加新学生、显示全部、删除、删除全部、修改、退出等功能的学生籍贯管理系统。

关键词程序设计;C++;学籍管理1 引言学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。

它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率等等。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括保密和前台应用程序的开发两个方面。

本次课程设计目的:通过一个企业人事管理系统,使学校档案管理工作系统化、规范化、自动化,从而达到提高学校管理效率。

籍贯信息记录簿

籍贯信息记录簿

《高级语言程序设计》课程设计报告课题名称:学生籍贯信息记录簿姓名:胡瑞君班级:物联网1312 学号:指导教师:张艳电子信息学院2014年 7月 4日目录1 课题分析 (3)1.1 问题描述 (3)1.2 功能需求分析 (3)1.3 数据属性分析 (3)2 系统设计.............................. 错误!未定义书签。

2.1 数据存储设计 (4)2.2 数据结构设计 (5)2.3 函数设计与说明 (5)2.4 菜单设计 (5)2.5 文件清单与说明 (6)3 系统实现 (8)3.1 添加学生籍贯信息 (9)3.2 修改学生籍贯信息 (10)3.3 删除学生籍贯信息 (10)3.4 显示所有学生信息与查询 (11)3.5 显示上海与非上海市籍学生信息 (13)4 测试数据与测试过程记录 (14)4.1 菜单测试 (15)4.2 系统功能测试 (15)5 课程设计遇到的问题及解决方法 (17)6 课程设计总结 (17)参考文献 (18)1 课题分析1.1 问题描述以本班同学的具体数据为背景,编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能为:1)系统以菜单方式工作;2)添加学生信息,至少10条。

3)显示所有学生的信息;4)按学号或姓名查询其籍贯;5)按籍贯查询并输出该籍贯的所有学生(至少3个城市);6)删除和修改学生的籍贯信息;7)显示输出上海市籍和非上海市籍学生的信息并可分别存盘。

1.2 功能需求分析按系统所需实现的功能要求,功能模块如图1所示。

图1 系统功能模块图1.3 数据属性分析学生籍贯信息记录簿中的数据信息主要有一类,即学生信息,其记录属性如下。

1.3.1 学生信息属性●姓名:学生姓名,由汉字组成,长度小于10个字符。

●学号:由两到三位数字组成,且学号不可重复,长度小于50个字符。

●籍贯:学生籍贯,由汉字组成,长度小于20个字符。

1.3.2 学生数组信息属性●数组中学生的个数。

学生籍贯信息记录簿C语言课程设计报告

学生籍贯信息记录簿C语言课程设计报告

计算机科学与技术系课程设计报告2012~2013 学年第1学期课程C语言课程设计课程设计名称学生籍贯信息记录簿设计学生学号专业班级指导教师目录一、绪言——需求分析……………………二、系统设计……………………………(一)设计思想…………………………(二)源程序设计…………………………(三)、设计表示……………………………三、系统调试………………………………四、学生籍贯记录薄使用说明…………………五、总结……………………………………六、参考文献……………………………………一、绪言——需求分析随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。

开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规化。

题目要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和维护。

要求为:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息(可选项)。

二、系统设计(一)设计思想:流程图(二)、源程序设计#include<stdio.h> ///宏定义函数#include<stdlib.h> //串操作及存操作函数#include<string.h> /////调用系统函数typedef struct student ////定义新结构体student {char name[10]; /*定义*/int num; /*定义学号*/char sex[10]; /*定义性别*/int age; /*定义年龄*/char location[10]; /*定义籍贯*/}s;void Fun(){char ch1;/*定义字符*/printf("继续操作?\n\t——输入Y继续操作/N退出系统[不区分大小写]\n"); scanf("%s",&ch1); /*接收字符*/switch(ch1) /*选择结构*/{case 'Y':case 'y':break;case 'N':case 'n':printf("欢迎您再次使用。

学生籍贯信息记录簿

学生籍贯信息记录簿

《学生籍贯信息记录簿》程序设计基础课程设计报告专业:电子信息工程班级:2班姓名:左磊学号:2006081992指导老师:常耀辉二00八年7月3日目录1 程序设计的目的………………………………………………………………2 课程设计题目描述和要求……………………………………………………3 课程设计原程序………………………………………………………………4 调试与测试……………………………………………………………………5 流程图…………………………………………………………………………6 课程设计总结…………………………………………………………………7 参考书目………………………………………………………………………1.课程设计的目的编制一个学生籍贯信息记录簿,每个学生信息包括:学号,姓名,籍贯。

2 课程设计题目描述和要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出四川籍和非四川籍学生的信息并可分别存盘3 课程设计原程序#include <iostream>#include <string>using namespace std;class Student //建立student类{public:Student(){} //无参数的构造函数Student(int n,string nam,string home) //构造函数初始化{num=n;name=nam;hometown=home;}void input() //录入信息的函数{cout<<"请输入学号"<<endl;cin>>num;cout<<"请输入姓名"<<endl;cin>>name;cout<<"请输入籍贯"<<endl;cin>>hometown;}void display() //输出函数{cout<<"学号:"<<num<<" "<<"姓名:"<<name<<" "<<"籍贯:"<<hometown<<endl;}string get_name(){return name;} //得到的学生姓名string get_num(){return num;} //得到学号string get_hometown(){return hometown;} //得到籍贯void set_num(string n){num=n;}void set_name(string nam){name=nam;}void set_hometown(string h){hometown=h;}protected://保护成员string num;string name;string hometown;};void add(Student stu[30],int &sum) //添加函数参数是学生数组,sum是录入的学生数{stu[sum++].input(); //依次输入信息}void delet(Student stu[30],int &sum) //删除函数{cout<<"你要删除学生的姓名:";string name;cin>>name;for(int i=0;i<sum;i++) //通过for循环找到要删除的学生姓名if(stu[i].get_name()==name){if(i<sum-1){for(int j=i;j<sum;j++) //用后面的植覆盖前面的植stu[j]=stu[j+1];}break;}if(i>=sum) //若超过学生总数则报错cout<<"无此人!"<<endl;else sum--;}void change(Student stu[30],int &sum) //修改函数{string chose,name,home,num;cout<<"\n1修改学号 2修改姓名 3修改籍贯"<<endl;cin>>chose;if(chose=="1"){int i;cout<<"请输入你要修改的学生的原学号:"; //修改学号cin>>num;for(i=0;i<sum;i++) //通过for 循环找到要修改的学号if(stu[i].get_num()==num){cout<<"新学号:";cin>>num;stu[i].set_num(num);cout<<"修改后的数据:"<<endl;stu[i].display();break;}if(i>=sum) cout<<"无此学生"<<endl;}else if(chose=="2"){int i;cout<<"请输入你要修改的学生的原姓名:"; //修改姓名cin>>name;for(i=0;i<sum;i++)if(stu[i].get_name()==name) //通过for循环找到要修改的姓名{cout<<"新姓名:";cin>>name;stu[i].set_name(name); //修改数据cout<<"修改后的数据:"<<endl;stu[i].display();break;}if(i>=sum)cout<<"无此学生"<<endl;}else if(chose=="3"){cout<<"请输入你要修改的学生的原籍贯:"; //修改籍贯cin>>home;}}void find(Student stu[30],int &sum){string name;cout<<"请输入你要查找的学生的姓名:"; //修改姓名cin>>name;for(int j=0;j<sum;j++){if(stu[j].get_name()==name){stu[j].display();break;}elsecout<<"无此人!\n";}}void main(){Student stu[30];int sum=0; //sum是记录学生数目的变量char n='1';cout<<"学生籍贯信息记录簿"<<endl;while(n!='0'){cout<<"\n1查看所有学生的籍贯信息 \n2添加信息\n3修改信息\n4删除信息\n5查询信息\n0退出\n"<<endl;cin>>n;switch(n) //用switch进行选择{case '1':if(sum==0) cout<<"没有学生信息,请先添加信息。

学生籍贯正确填写模板图片

学生籍贯正确填写模板图片

学生籍贯正确填写模板图片
籍贯是什么意思
籍贯,即祖居地或原籍。

籍贯,是指祖父及以上父系祖先的长久居住地或祖父及以上父系祖先的出生地。

又名祖居地或原籍,籍贯原则上一般从父,个别特殊情况从母系的,原籍地是原来的籍贯。

参照公安部公通字[1995]91号文件,公民的籍贯应为本人出生时祖父(爷爷)的居住地(户口所在地);祖父去世的,填写祖父去世时的户口所在地;祖父未落常住户口的,填写祖父应落常住户口的地方;公民登记籍贯后,祖父又迁移户口的,该公民的籍贯不再随之更改。

籍贯怎么填写才正确
简单的理解就是填写所在地的省和市就行了。

例如小编是湖南耒阳的,可以写湖南耒阳,也可以写湘耒(缩写)。

需要注意的是,填写籍贯时,具体到县(市)即可,不需要更细化省/自治区/直辖市+ 区/县。

拓展阅读
关于户籍
登记户口的册籍,政府登记居民户口事项的册子或指拥有中华人民共和国国籍的公民18周岁以前的户籍所在地,即个人的出生的地方(按照最新的地域划分)或目前居住地,不是父亲或母亲的籍贯地,也不是祖父母或外祖父母的籍贯地。

户籍地并不一定是这个人的籍贯地,尤其在经济发达的地区和某些在新中国成立后才开始建设的新地方,大量的人的籍贯不是户籍地而是原籍地或祖籍地,这些人一般都是改革开放后和在中国的计划经济时代按照当时国家的分配从外地迁移到此地的。

按几千年来的中国的传统的说法,籍贯是祖籍地的一种表述,这是户籍与籍贯不同的地方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录第一章课程设计的目的和要求 (1)1.1课程设计的目的: (1)1.2课程设计的要求: (2)第二章课程设计任务内容 (2)2.1考核内容 (2)2.1.1编写C++语言程序 (2)2.1.2课程设计报告 (3)2.2课题 (3)第三章详细设计说明 (3)3.1总体设计: (3)3.2函数功能说明: (3)3.3详细设计流程图: (4)3.4运行结果: (6)第四章软件使用说明 (8)4.1程序运行环境 (9)4.2程序操作方法 (9)第五章课程设计心得与体会 (9)附录一参考文献 (10)附录二程序清单 (11)第一章课程设计的目的和要求1.1课程设计的目的用高级程序语言设计出学生籍贯纪录系统,实现查找方便快捷。

通过用高级程序语言制作程序,熟悉用高级程序语言编程的操作和步骤,学习高级程序语言的运用,以及高级程序语言实验报告的书写格式,使学生掌握一门高级程序设计语言,了解面向对象程序设计的基本概念与方法,进而学会利用C++语言学会解决一般应用问题,并为后续的专业课程奠定程序设计基础。

1.2课程设计的要求课程设计要求学会分析研究计算机加工的数据结构的特性,了解并掌握涉及的数据选择的适当的逻辑结构、存储结构及其相应的算法等,同时要求在掌握的基础上学会编写程序,使程序结构清楚和正确易读,符合软件工程的规范。

通过编写C++程序,设计学生籍贯信息管理系统,可以方便对学生信息进行查找及管理,或者添加、删除及修改学生信息,将信息永久保存。

第二章课程设计任务内容2.1考核内容2.1.1编写C++语言程序●针对编写的C++程序,应该主要考查下列内容:●是否符合题目要求,是否完成了主要功能;●是否存在语法错误、逻辑错误及运行错误;●程序设计是否合理;●程序是否具有良好的可读性和可靠性;●是否符合结构化程序设计所倡导的基本理念;●用户界面是否友好。

2.1.2课程设计报告●针对提交的课程设计报告,应该主要考查下列内容:●程序设计的报告内容是否全面,观点是否正确;●设计过程是否符合结构化程序设计方法的基本原则;●层次是否清楚,语言是否通顺;●各种图表是否规范;是否具有良好的程序设计习惯。

2.2 课题设计一个学生籍贯信息记录簿,实现以下功能:1)创建信息并以磁盘文件保存;2)读取磁盘文件并显示输出所有学生的籍贯信息;3)按学号或姓名查询其籍贯;4)按籍贯查询并输出该籍贯的所有学生;5)能添加、删除和修改学生的籍贯信息;备注:每个学生信息包括,学号、姓名、籍贯;第三章详细设计说明3.1总体设计1.设置输入输出流及将程序由磁盘文件保存,构件类stu,其主要包括:学号,姓名,籍贯。

2.构建无返回值main函数,输出与程序相关操作构成的信息链表。

3.根据链表设置利用switch函数和循环函数将链表中的内容一一实现。

3.2函数功能说明1.Show函数:该函数列出一个清晰的结构,对本程序所运用的几个模块整体上有个统一认识,方便了对程序的调用,节省了时间。

2.Input函数:该函数是一个输入函数,它运用了for循环语句,本程序定义了两个变量,通过scanf语句的使用,又调用了函数SIR,实现了简洁明了的对学生籍贯,姓名以及学号等进行键入。

3.del函数:该函数实现的是删除功能。

该函数虽然定义的变量不多,但通过if语句和scanf 语句的使用,对文件进行了读去和运用,简便的删除所选的目标4.output函数:该函数是一个输出函数,它运用了for循环语句,本程序定义了两个变量,通过scanf语句的使用,又调用了函数SIR,实现了简洁明了的对学生籍贯,姓名以及学号等进行输出。

5.mend函数该函数实现的是修改功能。

该函数虽然定义的变量不多,但通过if语句和scanf 语句的使用,对文件进行了读去和运用,简便的修改所选的目标6.found函数该函数实现的是查找功能。

该函数虽然定义的变量不多,但通过if语句和scanf 语句的使用,对文件进行了读去和运用,简便的查找所选的目标7.main函数:一个程序主函数不能少。

当以上的函数均编完之后,要实现各个功能操作的连接,还必须有主函数将它们联系起来,这样才能达到理想的结果。

对以上函数的连接,此程序采用了switch语句,格式清晰、容易接受。

至此学生学籍管理的基本功能便基本实现。

3.3详细设计流程图学生籍贯信息记录簿总流程图,如图3.1所示图3.1 录入函数流程图,如图3.2所示图3.2增加/删除函数流程图,如图3.3所示图3.3 查询函数流程图,如图3.4所示图3.4输出所有信息函数流程图,如图3.5所示图3.53.3运行结果1.输入程序,检查程序是否有误,并对其进行运行,其运行结果如下图(3.6)所示图3.6 程序界面2.在第一步的基础上接着按键盘数字“1”输入所有学生的信息资料,然后对其进行查找,首先输入键盘数字“2”查看输入的学生信息资料(如图3.7所示)图3.7 学生的信息资料3.通过学号进行查找,输入键盘数字“3”,任意输入学号查询(如图3.8所示)图3.8 学号查询4.再通过姓名查找,首先退出先前的学号查找,再输入键盘数字“4”屏幕显示按姓名查找,再输入要查找的学生姓名并查询其相关信息(如图3.9所示)图3.9 姓名查询5.再次退出按姓名查找,输入键盘数字“5”通过籍贯查找学生,输入要查找的学生的籍贯再进行筛选(如图3.10所示)图3.10 籍贯查询第四章软件使用说明4.1 程序运行环境程序运行的环境Win9X/Win2000/WinXP/Win20034.2 程序操作方法上机操作一般包括以下几个步骤:1.进入C++工作环境(Visual C++ 6.0版本).2.输入以编译好的程序.3.检查自己所编译的程序是否有输入或者是语法性错误,如有及时改正.4.进行编译和连接,如果在编译和连接时出现错误,屏幕上会显示出错信息,按照提示找到出错位置和原因并加以改正,再进行编译……,如此反复直到顺利通过编译和连接为止.5.运行程序并分析结果是否合理.6.输出程序清单和运行结果.第五章课程设计心得与体会在本次课程设计中,我利用到了本学期学到的大部分知识,而在次程序中,最主要运用是在数组和类及在指针的运用方面。

同时明白只要充分的融会贯通在课堂上学会的东西并在课后积极的进行程序设计的训练,增加自己对C++程序语言的了解,并应取尽早的熟练的使用这一门语言。

通过此学期的学习我了解到了C++作为一种面向对象的程序设计语言,它支持对类的抽象。

而在此程序中,主要运用的知识为函数的循环系统,类的组成,对象成员的应用等,而访问对象中的成员可以有三种方法,通过对象名和成员运算符访问对象中的成员,通过指向对象的指针访问对象中的成员,通过对象的引用变量访问对象中的成员。

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。

回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。

参考文献[1] G.Perry. 《C++程序设计教程》北京:清华大学出版社,1994年[2]谭浩强,《C++程序设计》北京:清华大学出版社[3]丁勇,彭积云,查金旺《学生管理系统的设计与实现》附录程序清单#include<iostream>#include<string>#include<fstream>using namespace std;class CStudent{private:int ID; //学号string Province; //籍贯public:void setID(int id) {ID=id;}void setProvince(string province) {Province=province;} int getID() {return ID;}string getProvince() {return Province;}};CStudent student[1000];int n = 0; //数组学生总数string fileName="students.txt";int AddStudent(); //添加一个学生到数组int Loop(); //显示数组中所有学生int AddToFile(); //加数组学生到文件int SaveFile(); //数组到文件int ShowFile(); //显示文件所有学生int FindID(); //按学号查询学生int FindProvince(); //按籍贯查询学生int Remove(); //删除一个学生int ReadFile(); //文件输入数组void main(){int k=-1;while(k!=0){cout<<endl;cout<<"1 添加一个学生到数组" <<endl;cout<<"2 显示数组中所有学生" <<endl;cout<<"3 加数组学生到文件" <<endl;cout<<"4 显示文件中所有学生" <<endl;cout<<"5 按学号查询学生" <<endl;cout<<"6 按籍贯查询学生" <<endl;cout<<"7 删除一个学生" <<endl;cout<<"8 文件输入数组" <<endl;cout<<"0 完成" <<endl;cout<<"选择上面一个数字:"; cin>>k;if (k==1) AddStudent();else if(k==2) Loop();else if(k==3) AddToFile();else if(k==4) ShowFile();else if(k==5) FindID();else if(k==6) FindProvince();else if(k==7) Remove();else if(k==8) ReadFile();else if(k==0) printf("完成!\n");else printf("你输入了个错误的数字!\n"); }return;}int FindProvince(){int id;string province1,province2;cout<<"籍贯:"; cin>>province1;ifstream iFile(fileName.c_str());while(iFile>>id>>province2){if(province1==province2)cout<<id<<" "<<province2<<endl;}iFile.close();return 0;}int FindID(){int id1,id2;string province;cout<<"学号:"; cin>>id1;ifstream iFile(fileName.c_str());while(iFile>>id2>>province){if(id1==id2){cout<<id2<<" "<<province<<endl; break;}}iFile.close();return 0;}int Remove(){int id,i,j;cout<<"学号:"; cin>>id;ReadFile();for(i=0;i<n;i++){if(student[i].getID()==id){n--;for(j=i;j<n;j++)student[j]=student[j+1];}}SaveFile();return 0;}int AddStudent(){int id;string province;cout<<"学号,籍贯: "; cin>>id>>province;student[n].setID(id);student[n].setProvince(province);n++;return 0;}int AddToFile(){ofstream oFile(fileName.c_str(),ios::app);int i;for(i=0;i<n;i++)oFile<<student[i].getID()<<""<<student[i].getProvince()<<endl;oFile.close();return 0;}int SaveFile(){ofstream oFile(fileName.c_str());int i;for(i=0;i<n;i++)oFile<<student[i].getID()<<""<<student[i].getProvince()<<endl;oFile.close();return 0;}int ReadFile(){int id;string province;ifstream iFile(fileName.c_str());n = 0;while(iFile>>id>>province){student[n].setID(id);student[n].setProvince(province);n++;}iFile.close();return 0;}int Loop(){int i;cout<<"显示所有学生:"<<endl;for(i=0;i<n;i++)cout<<"学号= "<<student[i].getID()<<"籍贯= "<<student[i].getProvince()<<endl;return 0;}int ShowFile(){int id;string province;ifstream iFile(fileName.c_str());while(iFile>>id>>province)cout<<id<<" "<<province<<endl;iFile.close();return 0;}计算机科学与技术专业《程序设计综合课程设计》报告(20**/20**学年第一学期)学生姓名:学生班级:学生学号:指导教师:20**年12月30日。

相关文档
最新文档