学生籍贯信息记录簿系统课程设计报告
1-学生籍贯信息管理系统报告
合肥学院计算机科学与技术系课程设计报告2013 ~2014 学年第2 学期课程面向过程综合设计课程设计名称学生籍贯信息记录簿设计学生姓名司雨学号1304092019专业班级软件工程(2)班指导教师徐静华姗姗2014 年6 月一、需求分析随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多.开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。
要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和维护,系统中学生信息应该包括:学号、姓名、性别、年龄、籍贯。
创建信息链表并以磁盘文件保存;读取磁盘文件并显示输出所有学生的籍贯信息;按学号或姓名查询其籍贯;按籍贯查询并输出该籍贯的所有学生;能添加、删除和修改学生的籍贯信息.为了解决这些问题,在程序设计中,会设计解决相应问题的子函数,在主函数中进行调用。
二、算法设计(一)设计思想:流程图(二)、设计表示为了更好地满足题目上的信息要求,从而创建了结构体类型,用于储存所有学生的籍贯信息。
结构体类型如下:typedef struct student //定义新结构体 student{char name[20]; //定义名字int num; //定义学号char sex[10]; //定义性别int age; //定义年龄char location[20];//定义籍贯}S;每个子函数原型及其功能如下:(1)void PUT该函数为磁盘文件内容的读取函数,将学生的籍贯基本信息存储于txt文档文件中。
用此函数来读取并显示,从而实现籍贯信息的现实,函数模块的运行成功.(2)void menu该函数为显示菜单函数,为用户提供选择的功能。
在该函数内包含了各个功能函数对应的号码,键入后即可以实现所需要使用的功能。
(3)void NUM该函数为按学号查找学生信息函数,当用户键入一个学生学号时,就会判断输入的号码与文件中哪个号码一致,当号码一致时,输出该号码对应的学生所有信息。
学生籍贯管理课程设计
学生籍贯管理课程设计一、课程目标知识目标:1. 学生能够了解和掌握籍贯的概念、意义及其在个人身份识别中的作用。
2. 学生能够识别并准确填写不同地区的行政区划代码,理解籍贯与行政区划之间的关系。
3. 学生能够掌握运用现代信息技术,如电子表格和数据库,进行籍贯信息管理的基本方法。
技能目标:1. 学生培养使用电子表格软件进行数据录入、分类和简单分析的能力。
2. 学生能够运用地理知识,通过地图识别特定地区的籍贯,提高空间感知能力。
3. 学生通过小组合作,学会交流和分享信息,提高团队协作能力。
情感态度价值观目标:1. 学生通过了解籍贯文化,培养对多元文化的尊重和包容态度。
2. 学生在籍贯信息管理的过程中,树立正确的数据保护意识,增强个人信息安全责任感。
3. 学生能够体会到籍贯信息管理的实际意义,形成积极的学习态度,认识到所学知识与社会生活的紧密联系。
课程性质分析:本课程为社会科学类综合实践活动课程,旨在通过籍贯信息管理,培养学生的信息处理能力和地理常识,同时增进对中华文化的认识。
学生特点分析:考虑到学生处于初中阶段,具有一定的计算机操作能力和地理知识基础,求知欲强,善于合作,但注意力集中时间有限,故课程设计应注重实践性和趣味性。
教学要求:1. 教学内容与实际应用紧密联系,注重培养学生的实际操作能力。
2. 教学过程注重启发式教学,引导学生主动探究和发现。
3. 教学评价关注学生的学习过程和实际操作成果,以促进学生全面发展。
二、教学内容1. 籍贯概念与意义:介绍籍贯的定义,探讨籍贯在个人身份认证、人口统计及文化传承中的作用。
- 教材章节:《地理》第四章“人口与民族”第二节“我国的人口分布特点”。
2. 行政区划代码:学习我国的行政区划体系,掌握行政区划代码的构成及含义。
- 教材章节:《地理》第三章“行政区划”第一节“行政区划概述”。
3. 籍贯信息管理:运用电子表格软件(如Excel)进行籍贯信息录入、整理、查询和分析。
程序设计--学生籍贯信息记录簿
程序设计--学生籍贯信息记录簿一、需求分析为了方便管理和查询,需要对全体学生的籍贯信息进行记录和统计。
本系统需要满足以下功能要求: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查询语句,对数据库进行操作。
课程设计报告-学生籍贯信息记录薄
学生籍贯信息记录薄《学生籍贯信息记录簿》程序设计基础课程设计报告专业:计算机科学与技术系班级:一班姓名:学号:指导教师:完成日期: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-学生籍贯信息记录簿设计
合肥学院计算机科学与技术系课程设计任务书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语言)》南京:东南大学出版社。
课程设计报告 学生籍贯信息记录簿(源程序)
void () //读取文本文件student.dat的信息
{
FILE *fp;
if((fp=fopen("student.dat","r"))==NULL) return ;//以只读的方式打开student.dat文件
n=0;
scanf("%s",&choose);
switch(choose)
{
case '1':{Input();Save1();}break;
case '2':{Readfile();Display();}break;
case '3':{Readfile();Find(1);}break;
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<windows.h> //开始界面
#define MAX 50 //宏定义最多输入人数
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++)
学生籍贯管理系统c语言课程设计
学生籍贯管理系统c语言课程设计学生籍贯管理系统C语言课程设计一、引言学生籍贯管理系统是一种利用计算机技术来管理学生的籍贯信息的系统,通过该系统可以方便地记录、查询和更新学生的籍贯信息。
本文将介绍如何使用C语言来设计实现学生籍贯管理系统。
二、系统需求分析学生籍贯管理系统主要包括以下功能:1. 学生信息的录入:用户可以输入学生的基本信息和籍贯信息,包括学生的姓名、性别、年龄、学号等。
2. 学生信息的查询:用户可以根据学生的姓名、学号等信息来查询学生的籍贯信息。
3. 学生信息的修改:用户可以修改学生的籍贯信息,包括籍贯的省份、城市、详细地址等。
4. 学生信息的删除:用户可以删除学生的籍贯信息。
5. 学生信息的统计:系统可以统计学生的籍贯信息,包括各个省份的学生人数、男女比例等。
三、系统设计1. 数据结构设计:为了存储学生的信息,我们可以定义一个结构体来表示学生的籍贯信息,包括省份、城市和详细地址等字段。
2. 用户界面设计:可以使用命令行界面来实现用户和系统的交互,通过菜单来提供各种功能选项。
3. 功能模块设计:可以将系统的各种功能划分为不同的模块,如录入模块、查询模块、修改模块、删除模块和统计模块等。
四、系统实现1. 数据结构定义:可以使用C语言的结构体来定义学生的籍贯信息,例如:```struct Address {char province[20];char city[20];char detail[50];};struct Student {char name[20];char gender[10];int age;int studentId;struct Address address;};```2. 功能实现:(1) 录入功能:可以使用scanf函数来获取用户输入的学生信息,并将其保存到一个结构体数组中。
(2) 查询功能:可以通过遍历结构体数组,根据用户输入的姓名或学号来查找对应的学生信息,并输出。
课程设计学生籍贯信息薄
课程设计学生籍贯信息薄一、教学目标本课程的教学目标是使学生掌握籍贯信息的定义、分类和收集方法,培养学生对不同籍贯文化的认识和尊重,提高学生运用信息技术整理和分析籍贯信息的能力。
知识目标:学生能够理解籍贯信息的含义,掌握不同籍贯的分类及特点,了解收集、整理和分析籍贯信息的基本方法。
技能目标:学生能够运用信息技术手段,如网络搜索、数据整理等,收集和处理不同籍贯的信息,从而提高信息处理能力。
情感态度价值观目标:通过本课程的学习,学生能够增强对不同地域文化的认识和理解,培养尊重多元文化的态度,增强民族自豪感。
二、教学内容本课程的教学内容主要包括籍贯信息的定义、分类和收集方法,以及如何运用信息技术整理和分析籍贯信息。
1.籍贯信息的定义:介绍籍贯的概念,解释籍贯信息的含义及其在历史、文化研究中的重要性。
2.籍贯信息的分类:分析不同籍贯的分类及其特点,如省份、城市、乡村等,让学生了解不同籍贯的文化差异。
3.籍贯信息的收集方法:介绍收集、整理和分析籍贯信息的基本方法,如查阅历史文献、访问老辈人、利用网络资源等。
4.信息技术在籍贯信息整理中的应用:教授如何运用信息技术手段,如网络搜索、数据整理等,收集和处理不同籍贯的信息。
三、教学方法本课程将采用讲授法、案例分析法、小组讨论法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:教师讲解籍贯信息的定义、分类和收集方法,以及信息技术在籍贯信息整理中的应用。
2.案例分析法:分析具体的籍贯信息案例,让学生了解不同籍贯的特点,培养学生的分析能力。
3.小组讨论法:学生进行小组讨论,分享各自收集的籍贯信息,提高学生的合作能力和沟通能力。
4.实验法:让学生动手操作,运用信息技术手段收集和处理籍贯信息,提高学生的实践能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的教材,为学生提供基础知识。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
学生籍贯信息记录簿课程报告书
合肥学院计算机科学与技术系课程设计报告2013 ~2014 学年第2 学期课程面向过程综合设计课程设计名称学生籍贯信息记录簿设计学生姓名学号专业班级软件工程(2)班指导教师2014 年6 月一、需求分析随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。
开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。
题目要求设计一个学生籍贯信息记录簿系统,该系统要求对学生籍贯信息进行管理和维护。
要求为:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号和姓名查询籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(可选项)二、系统设计(一)算法及说明本程序运用c编写,使用顺序表的数据结构来实现。
程序中定义了一个结构体student。
其中在student结构体中包含了学生的基本信息(学生的学号,姓名,性别,年龄,籍贯)。
程序还定义了几个功能函数(保存、录入、显示、添加、查询),这五个函数是彼此相互独立的功能模块。
(二)各项功能分析(1)学生基本信息的录入:这部分的功能主要包括信息的录入,首先按程序提示输入学生的学号,姓名,性别,年龄,籍贯。
录入完毕后,按任意键回到菜单,主菜单还有显示学生的全部信息,按学号查询学生的籍贯,按姓名查询学生的籍贯,按籍贯查询该籍贯的所有学生,添加学生的籍贯信息,退出程序等功能,并且这些函数用后的信息都会写到你所指定的文本文件中。
(2)显示学生信息:此功能将录入的学生信息独处,并在屏幕上显示出来,并且录入到你所指定的文本文件中。
(3)按学号查询学生籍贯信息此功能可以根据用户输入的选择查出该学生的籍贯信息。
(4)按姓名查询学生的籍贯信息此功能可以更具用户输入的选择查出该学生的籍贯信息。
(5)按籍贯查询学生信息此功能可以根据你输入的信息查询相对应的学生信息。
学生籍贯信息记录簿课程设计报告
山东交通学院面向过程课程设计学生籍贯信息记录簿软件院(系)别信息工程系班级电气102班学号姓名杨其杭指导教师时间2011-8-29—2011-9-2课程设计任务书题目学生籍贯信息记录簿系(部) 信息工程系专业电气类班级102班学生姓名杨其杭学号8 月29 日至9 月 2 日共 1 周指导教师(签字)系主任(签字)年月日一、设计内容及要求编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。
具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;(6)显示输出四川籍和非四川籍学生的信息并可分别存盘。
二、设计原始资料1、链表基础知识2、文件处理基础知识三、设计完成后提交的文件和图表1.计算说明书部分数据库设计分析#include<stdio.h>#include<string.h>#include<stdlib.h>#define LEN sizeof(struct Student)struct Student{char num[21];char name[256];char address[562];struct Student *next;};int n;//n为全局变量,本文件模块中各函数均可使用它struct Student *creat()//定义函数。
此函数返回一个指向链表头的指针{struct Student *p1,*p2;n=0;p1=p2=(struct Student *)malloc(LEN);printf("请依次输入学生的信息,输入学号为零时退出。
\n");printf("请输入学生的学号:\n");gets(p1->num);printf("请输入学生的姓名:\n");gets(p1->name);printf("请输入学生的地址:\n");gets(p1->address);head=NULL;while(p1->num[0]!='0')//当学号是0时,退出{n=n+1;if(n==1)head=p1;elsep2->next=p1;p2=p1;p1=(struct Student *)malloc(LEN);//开辟动态存储区,把起始地址付给p1printf("请输入学生的学号:\n");gets(p1->num);//输入其他学生的学号和成绩printf("请输入学生的姓名:\n");gets(p1->name);printf("请输入学生的地址:\n");gets(p1->address);}p2->next=NULL;system("cls");return(head);}void print_save(struct Student head){FILE *fp;struct Student *p;if(fp==NULL){printf("文件无法打开\n");exit(0);}printf("\n现在,有 %d 条记录,分别是:\n",n);p=&head;if(&head!=NULL)do{printf("\n学号:");puts(p->num);printf("\n姓名:");puts(p->name);printf("\n地址:");puts(p->address);fseek(fp,0,2);if(fwrite(p,sizeof(struct Student),1,fp)!=1)printf("文件无法写入\n");p=p->next;}while(p!=NULL);fclose(fp);//关闭文件getchar();system("cls");}struct Student *pt;//定义一个Student类型的指针char comp[3];//comp为保存输入的变量int main()//一个调用这个creat函数的main函数 c{void ShowView();//界面显示void name_surch();//按姓名查找void num_surch();//按学号查找void NativePlace_surch();//按籍贯查找void Delete_shiyan();//删除学生信息void modification_shiyan();//修改学生信息void fileout(struct Student *p);//文件输出void print_save(struct Student head);while(1){ShowView();if(strnicmp(comp,"1",3)==0)//strnicmp比较两个字符串的函数{pt=creat();//函数返回链表第一个结点的地址}else if(strnicmp(comp,"6",3)==0){print_save(*pt);}else if(strnicmp(comp,"3",3)==0)//输出文件内容{fileout(pt);}else if(strnicmp(comp,"2",3)==0){name_surch();}else if(strnicmp(comp,"7",3)==0){num_surch();}else if(strnicmp(comp,"9",3)==0){//modification();modification_shiyan();//修改学生信息}else if(strnicmp(comp,"4",3)==0){//Delete();Delete_shiyan();}{showSzechwan_No();}else if(strnicmp(comp,"8",3)==0){NativePlace_surch();}else if(strnicmp(comp,"0",3)==0){break;}else{printf("输入错误!!!!!!\n");}getchar();system("cls");}return 0;}void fileout(struct Student *p){FILE *fp;printf("现在有%d条记录,分别是:\n",n);fp=fopen("D:\\stduent.txt","rb");//0x00429af0if(fp==NULL){printf("文件无法打开\n");exit(0);}rewind(fp);while(!feof(fp)){fread(p,sizeof(struct Student),1,fp);//从文件中读取一块数据printf("%-15s",p->num);printf("%-15s",p->address);puts("\n");}fclose(fp);getchar();system("cls");}void ShowView()//主菜单{printf("*********************************************************************** ********\n");printf("**********************欢迎进入学生籍贯信息记录簿*******************************\n");printf("*********************************************************************** ********\n");printf("****1、cin添加*****\n");printf("****2、namesurch按名字搜索*****\n");printf("****3、fileout显示文件中的信息*****\n");printf("****4、delete删除学生信息*****\n");printf("****5、showSzechwan_No分别显示四川和非四川籍学生并非别存盘*****\n");printf("****6、save保存当前信息*****\n");printf("****7、numsurch按学号搜索*****\n");printf("****8、nativeplace安籍贯查询*****\n");printf("****9、modif修改学生信息*****\n");printf("****0、break退出*****\n");********\n");printf("********************请输入您的选择¥¥:");gets(comp);system("cls");//清屏}void name_surch(){FILE *fp;char surch[256];printf("请输入要查询的人的名字:\n");gets(surch);fp=fopen("D:\\stduent.txt","r");//0x00429af0if(fp==NULL){printf("不能打开文件\n");exit(0);}rewind(fp);//指向文件的开始while(!feof(fp))//查找{Student a;while(!feof(fp)){fread(&a,sizeof(Student),1,fp);//从p指向的文件读入一组数据if(!strcmp(,surch)){printf("%s,%s,%s\n",a.num,,a.address);break;}}if(!feof(fp)){return;}else{printf("查无此人····\n");fclose(fp);getchar();system("cls");}void num_surch(){FILE *fp;char surch[256];printf("请输入要查询的人的学号:");gets(surch);fp=fopen("D:\\stduent.txt","rb");//0x0042aab8if(fp==NULL){printf("ERROR");exit(0);}rewind(fp);//指向文件的开始while(!feof(fp))//查找{Student a;while(!feof(fp)){fread(&a,sizeof(Student),1,fp);//从p指向的文件读入一组数据if(!strcmp(a.num,surch)){printf("%s,%s,%s\n",a.num,,a.address);break;}}if(!feof(fp)){return;}else{printf("查无此人····\n");fclose(fp);getchar();system("cls");}void NativePlace_surch()//按籍贯查询{FILE *fp;char surch[256];printf("请输入要查询的人的籍贯:\n");gets(surch);fp=fopen("D:\\stduent.txt","rb");//0x00429af0if(fp==NULL){printf("文件打不开\n");exit(0);}rewind(fp);//指向文件的开始Student a;while(!feof(fp)){fread(&a,sizeof(struct Student),1,fp);//从p指向的文件读入一组数据if(!strcmp(a.address,surch))//相当于strcmp(a.address,surch)==0{printf("%s,%s,%s\n",a.num,,a.address);}}if(!feof(fp)){return;}fclose(fp);getchar();system("cls");}void showSzechwan_No()//分别显示四川和非四川籍学生并非别存盘{FILE *sfp;//指向四川籍学生文件sfp=fopen("D:\\四川stduent.txt","wb");if(sfp==NULL){printf("不能打开文件\n");exit(0);}FILE *ffp;//指向非四川籍学生文件ffp=fopen("D:\\非四川stduent.txt","wb");if(ffp==NULL)//ffp=0x0042aad8{printf("不能打开文件\n");exit(0);}fp=fopen("D:\\stduent.txt","rb");//0x00429af0if(fp==NULL){printf("不能打开文件\n");exit(0);}rewind(fp);//指向文件的开始printf("四川籍学生信息:\n");Student a;while(!feof(fp)){fread(&a,sizeof(struct Student),1,fp);//从p指向的文件读取一组数据if(!strcmp(a.address,"四川")||!strcmp(a.address,"sichuan")||!strcmp(a.address,"sichuansheng")||!strcmp(a.addr ess,"四川省")){printf("%s,%s,%s\n",a.num,,a.address);if(fwrite(&a,sizeof(struct Student),1,sfp)!=1){printf("文件无法写入\n");break;}}else{if(fwrite(&a,sizeof(struct Student),1,ffp)!=1)printf("文件无法写入\n");}}fclose(fp);fclose(ffp);fclose(sfp);printf("非四川籍学生信息:\n");ffp=fopen("D:\\非四川stduent.txt","rb");if(NULL==ffp){printf("文件打不开\n");}while(!feof(ffp)){//此处有问题????????????????????????????????????fread(&a,sizeof(struct Student),1,ffp);//从p指向的文件读取一组数据if(a.num=="0")//ffp=0x0042aab8break;printf("%s,%s,%s\n",a.num,,a.address);}fclose(ffp);getchar();system("cls");}/*编写写入部分,完成修改,删除,四川与非四川籍分别保存的部分freab与fwrite用法的详细区别阐述*/void Delete_shiyan()//删除学生信息{FILE *fp;FILE *fptemp;char surch[256];printf("请输入要删除的人的学号:\n");gets(surch);fp=fopen("D:\\stduent.txt","rb");//0x00429af0fptemp=fopen("D:\\temp.txt","wb");if(fp==NULL){printf("文件打不开\n");exit(0);}Student a;while(!feof(fp)){mark:fread(&a,sizeof(struct Student),1,fp);//从p指向的文件读入一组数据fp=0x0042aab8if(0==strcmp(a.num,surch)){char p;printf("%s,%s,%s\n",a.num,,a.address);printf("如果以上信息与你要删除的人的信息对应,请输入(y/n):\n");scanf("%c",&p);if('Y'==p||'y'==p){goto mark;}}if(strcmp(a.num,surch)!=0){fwrite(&a,sizeof(struct Student),1,fptemp);}}fclose(fp);fclose(fptemp);FILE *aa;FILE *bb;aa=fopen("D:\\stduent.txt","wb");bb=fopen("D:\\temp.txt","rb");while(!feof(bb)){fread(&a,sizeof(struct Student),1,bb);fwrite(&a,sizeof(struct Student),1,aa);}getchar();system("cls");}void modification_shiyan()//修改学生信息{FILE *fp;FILE *fptemp;struct Student a;char surch[256];printf("请输入要修改的人的学号:\n");gets(surch);fp=fopen("D:\\stduent.txt","rb");//0x0042aab8fptemp=fopen("D:\\temp.txt","wb");if(fp==NULL){printf("文件打不开\n");exit(0);}rewind(fp);//指向文件的开始while(!feof(fp)){fread(&a,sizeof(struct Student),1,fp);//从p指向的文件读入一组数据fp=0x0042aab8if(0==strcmp(a.num,surch)){char p;printf("%s,%s,%s\n",a.num,,a.address);printf("如果以上信息与你要修改的人的信息对应,请输入(y/n):\n");scanf("%c",&p);if('Y'==p||'y'==p){printf("请输入要修改成的信息(学号、姓名、籍贯):\n");getchar();printf("学号:");gets(a.num);printf("姓名:");gets();printf("地址:");gets(a.address);}}fwrite(&a,sizeof(struct Student),1,fptemp);}fclose(fp);fclose(fptemp);FILE *bb;FILE *pp;bb=fopen("D:\\stduent.txt","wb");//0x0042aab8pp=fopen("D:\\temp.txt","rb");while(!feof(pp)){fread(&a,sizeof(struct Student),1,pp);fwrite(&a,sizeof(struct Student),1,bb);}getchar();getchar();system("cls");}2.图纸部分:程序流程图四、进程安排(1)第一天完成创建信息链表并以磁盘文件保存,读取磁盘文件并显示输出所有学生的籍贯信息的功能;(2)第二天完成按学号或姓名查询其籍贯,按籍贯查询并输出该籍贯的所有学生的功能;(3)第三天完成显示输出四川籍和非四川籍学生的信息并可分别存盘的功能并修饰;(4)第四天完成能添加、删除和修改学生的籍贯信息的功能并完善;五、主要参考资料[1] 马安鹏.Visual 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语言对文件的各种操作。
学生籍贯信息课程设计报告
学生籍贯信息课程设计报告一、课程目标知识目标:1. 学生能够了解和掌握籍贯的概念,理解籍贯与地理位置、历史文化的关系。
2. 学生能够通过查阅资料、地图等方式,掌握自己和他人的籍贯信息,了解不同地区的风土人情。
3. 学生能够运用所学知识,分析籍贯对个体和群体的影响,提高对地域文化的认识。
技能目标:1. 学生培养运用地图、网络等工具查找和整理籍贯信息的能力。
2. 学生提高观察、分析、总结和表达能力,通过小组讨论、课堂汇报等形式展示对籍贯的了解。
3. 学生学会尊重他人,善于倾听和合作,形成良好的团队协作精神。
情感态度价值观目标:1. 学生培养对家乡的热爱之情,增强对中华文化的认同和自豪感。
2. 学生树立地域平等观,尊重不同地区的文化差异,消除地域歧视。
3. 学生通过了解和关注籍贯,培养对人文地理的兴趣,激发探索世界的热情。
课程性质:本课程以人文地理为主题,结合学生的生活实际,以提高学生的地域文化素养为目标。
学生特点:学生处于好奇心强、求知欲旺的年级,具有一定的地图阅读能力和信息查找能力,但可能对籍贯的概念和地域文化了解有限。
教学要求:教师应注重启发式教学,引导学生主动探究、合作学习,关注学生的个体差异,提高教学效果。
通过本课程的学习,使学生达到上述具体、可衡量的学习成果。
二、教学内容本课程以《人文地理》教材为依托,结合以下教学内容,确保课程的科学性和系统性:1. 籍贯的定义与意义:介绍籍贯的概念、起源及在我国历史文化中的重要性。
- 教材章节:第一章 地理与人文,第三节 人的活动与地理环境2. 地理分布与籍贯:分析我国各地的地理环境、历史文化特点,探讨其对籍贯的影响。
- 教材章节:第二章 地理环境,第一、二节 地理环境概述、地理环境差异3. 籍贯与姓氏:探讨姓氏与籍贯的关系,了解我国姓氏的起源、分布及演变。
- 教材章节:第三章 人口与民族,第一节 人口分布与迁移4. 各地风土人情:介绍我国各地的民风民俗、传统节日、特色美食等,让学生感受地域文化的魅力。
学生籍贯信息记录簿
《学生籍贯信息记录簿》程序设计基础课程设计报告专业:电子信息工程班级: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<<"没有学生信息,请先添加信息。
学生籍贯信息记录簿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("欢迎您再次使用。
学生籍贯信息记录簿C语言课程设计
精品文档程序设计课程设计报告课题名称:学生籍贯信息记录簿专业计算机科学与技术(软件工程)学生姓名___________________________________ 班级_______________________________________ 学号_______________________________________ 指导教师____________________________________ 完成日期___________________________________精品文档------------------------------------------------ 1 ------------------------------------------- 23.2 读 取 磁 盘 文 件 并 显 示 输 出 所 有 学 生 的 籍 贯 信 息 ; ------------------------- 3------------------------------------ 113.6 显 示输出 江 苏籍 和非 江 苏籍 学 生的信 息并 可分别 存 盘 16四 设 计 小 结-------- 17五程 序源 代 码课程设计的目的-1二设计内容与要求-1-三------------主要 技术 ------- 1指标及 特点八、3.0信息描述(注 用流程 图表示)3.1创建信息链表并以磁盘文 3.3 按 学 号 或 姓 名 ------------------- 5查询其籍贯;3.4 按 籍 贯 查 询 并 输 出 该 籍 9贯的所有 学生;3.5能添加 删除和修改学 生的籍贯信息;精品文档183欢迎。
下载六 参 考 文 献-------- 29课程设计的目的1.加深对《C 语言程序设计》课程知识的理解,掌握 C 语言应用程序的开发方法和步骤;2. 进一步掌握和利用C 语言进行课程设计的能力;3. 进一步理解和运用结构化程序设计的思想和方法;4. 初步掌握开发一个小型实用系统的基本方法;5. 学会调试一个较长的程序的基本方法;6. 学会利用流程图或N-S 图表示算法;7. 掌握书写课程设计开发文档的能力(书写课程报告)。
学生籍贯信息记录系统
《软件工程》实验设计报告题目:学生籍贯信息记录簿系统院(系):计算机与软件学院年级:2010级专业:软件工程姓名:学号:教师:学期:学生籍贯信息记录簿第一章课程设计内容和要求1.1 课程设计的目的:通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 进一步加强和提高软件文档编写能力;3. 加强大家的自学能力,为毕业设计做很好的铺垫;4. 培养写作和团队精神。
1.2 课程设计实现的要求:在程序设计中,既可以用传统的结构化程序设计方法,也可以用先进的面向对象程序设计方法。
学生籍贯信息记录簿是一个基于学生籍贯信息的查询、添加、删除、修改、显示功能为一体的程序,本程序需要把记录簿中四川籍贯和非四川籍贯的学生信息分别存储。
1.4进度安排:需求分析:1周概要设计:1到2周详细设计:2周前台编码:3到4周1.5开发环境:编写语言:c语言开发工具:Visual C++ 6.0第二章需求分析2.1 学生籍贯信息记录簿编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。
具体功能:1.创建信息链表并以磁盘文件保存 2.读取磁盘文件并显示输出所有学生的籍贯信息3.按学号或姓名查询其籍贯4.按籍贯查询并输出该籍贯的所有学生;能添加、删除和修改学生的籍贯信息 5.显示输出四川籍和非四川籍学生的信息并可分别存盘。
2.2可行性分析从技术方面,是通过C++来做系统的前台,来实现整个系统的功能;从操作方面,基本的录入、查询、修改等都能满足用户的需求;从经济方面,学生籍贯信息记录簿系统本身是不会直接产生经济效益的,是其应用能够节省人力资源的消耗和浪费,从而节约成本,提高效率,能够起到的作用也是十分可观的。
整个系统不需要特殊设备的支持,只要有计算机即可。
C语言学生籍贯信息课程设计
C语言学生籍贯信息课程设计程序设计课程设计报告学生籍贯信息记录簿专业计算机科学与技术学生姓名冯晨班级 B计算机114学号 1110704403指导教师张静林完成日期 2012年6月一课程设计的目的-----------------------------------------------------------2二设计内容与要求-----------------------------------------------------------2三主要技术指标及特点-----------------------------------------------------23.0 信息描述(注:用流程图表示)---------------------------------------------------33.1主要实现代码--------------------------------------------------------31.主函数-----------------------------------------------------------------------------------------------32.输入函数-------------------------------------------------------------------------------------------4编辑函数接口------------------------------------------------------------------------------------5 3.4.总查询函数---------------------------------------------------------------------------------------8四小结---------------------------------------------------------------------------------------------------9五程序代码-------------------------------------------------------------------10六参考文献--------------------------------------------------------------------141 4一.课程设计的目的1. 加深对《C语言程序设计》课程知识的理解,掌握C语言应用程序的开发方法和步骤;2. 进一步掌握和利用C语言进行课程设计的能力;3. 进一步理解和运用结构化程序设计的思想和方法;4. 初步掌握开发一个小型实用系统的基本方法;5. 学会调试一个较长的程序的基本方法;6. 学会利用流程图或N-S图表示算法;7. 掌握书写课程设计开发文档的能力(书写课程报告)。
学生籍贯信息管理系统c++实验报告
学生籍贯信息管理系统c++实验报告C++班级:学号:姓名:目录一(程序设计思路及步骤(一)程序设计步骤(二)程序设计思路二(流程图三、完整源程序四、运行界面五、存在问题六、心得体会学生籍贯信息管理系统一(程序设计思路及步骤 (一)程序设计思路涉及一个学生籍贯信息系统,能够对高校的学生籍贯进行管理,包括了登记籍贯,查询籍贯,以及籍贯信息管理系统等。
基本要求:1(实现对学生姓名、学号的录入2(实现对学生籍贯信息的录入3(计算并查询学生所对应的籍贯4(修改学生籍贯(二)程序设计步骤。
1(计学生界面。
2(建立类别:学生基本信息类,籍贯信息类3(合理使用继承和多态技术把各类组合起来。
二(流程图开始主界面输入查询增加删除修改三、完整源程序#include <iostream> #include <string> #include <fstream> #include<cstring> using std::string; using std::fstream; using std::cin;using std::cout; using std::endl; using std::ostream; usingstd::iostream; using std::ifstream; using std::ofstream; using std::ios;class STUDENT{private:static NO; //静态变量统计学生人数NOlong int IDno;string Name,JiGuan;public:STUDENT(){}friend ostream& operator<<(ostream& out,STUDENT& a);//运算符<<重载。
使<<直接按照自己的想要的格式自动输出void LR(){cout<<"-----------------学生信息录入------------------"<<endl; SETNAME();SETIDNO();SETJG();}void SETNAME(string name1)//函数重载{Name=name1;}void SETIDNO(int idno1)//函数重载{IDno=idno1;}void SETJG(string JG1)//函数重载{JiGuan=JG1;}string GETNAME()//得到NAME的值{return Name;}string GETJG(){return JiGuan;}long int GETIDNO()//得到学号的值{return IDno;}void SETJG()//函数重载{cout<<"请输入学生籍贯信息:";cin>>JiGuan;cin.clear();cin.sync();}void SHow_s(){cout<<*this;}void SETNAME()//函数重载{cout<<"请输入学生姓名:";cin>>Name;cin.clear();cin.sync();}void SETIDNO()//函数重载{long int id;cout<<"请输入学生证号码:";cin>>id;cin.clear();cin.sync(); if((id>=100000000)&&(id<=999999999)){IDno=id;}else{cout<<"您输入的学生证号码有误,请重新输入!"<<endl; SETIDNO();}}};ostream& operator<<(ostream& out,STUDENT& a1)//运算符<<重载{out<<a1.IDno<<"号"<<<<"学生"<<" "<<"籍贯"<<a1.JiGuan<<" ";return out;};int STUDENT::NO=0;//静态变量NO赋初值class MENU :public STUDENT{public:STUDENT S[100];void cd(){int i;cout<<"---------------学生籍贯信息管理系统-----------------"<<endl;cout<<""<<endl;cout<<"1.录入学生信息"<<endl;cout<<"2.读取学生信息"<<endl;cout<<"3.查询学生信息"<<endl;cout<<"4.修改学生信息"<<endl;cout<<"5.退出学生管理系统"<<endl;cout<<""<<endl;cout<<"----------------------------------------------------"<<endl; cin>>i;cin.clear();cin.sync();switch(i){case 1:Lr();break;case 2:Dr();break;case 3:Cx();break;case 4:Xg();break;case 5:{system("pause");exit(0);}}}void Lr()//录入函数{char m;int n=STUDENT::NO;for(n;n<100;n++){S[n].LR();ofstream fout("E:\\西安工业大学学生学籍表.txt",ios::app); if(!fout){cout<<"错误~~程序结束"<<endl;exit(0);}fout<<S[n].GETIDNO()<<" "<<S[n].GETNAME()<<""<<S[n].GETJG()<<" "<<endl;fout.close();cout<<"是否录入下一个学生的信息(Y/N)"<<endl;cin>>m;cin.clear();cin.sync();STUDENT::NO++;if(m=='N'||m=='n'){cout<<"即将返回主菜单....."<<endl;cd();} }}void Dr()//读取函数{string Name2,JiGuan2;int m;long int IDNO2;ifstream fin("E:\\西安工业大学学生学籍表.txt");if(!fin){cout<<"错误~~~~。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言课程设计学生籍贯信息记录簿系统院(系)别班级学号姓名指导教师时间2010-6-12—2008-6-24课程设计任务书题目学生籍贯信息记录簿考试系统系(部)专业班级学生姓名学号6 月12 日至 6 月24 日共 2 周指导教师(签字)系主任(签字)年月日成绩评定表摘要这次程序设计,我选择的是设计学生籍贯信息记录簿系统的程序,之所以选择要设计这个程序首先因为我自己认为这个程序非常实用,虽然说老师给我们的每一个程序都很实用,但是在平时籍贯信息比较常用。
其次,通过向信息的同学了解,建立这个程序有一个方法就是利用链表,而我们的C语言课还没有学到这一步呢,我自己觉得挺有挑战性的,就打算在同学的帮助下编写这个程序了。
其实,刚拿到这个题目,真的没有什么头绪,但是在同学的帮助下,通过自己看课本,通过上网查资料,通过向老师询问,根据自己制定的进程安排,我还是完成了任务。
通过为期一周的课程设计,我对编程有了更加深刻的认识,也让我学到了一些关于用指针处理链表的知识,增强了自己的动手操作能力。
这一周的课程设计,让我对以前学过的知识有了一个更好的巩固,同时也增加了我的新的知识,使我受益匪浅,也让我对Visual C++ 6.0有了进一步的了解,而且,在编程过程中我也学到了许多的东西,也让我明白了一个道理:不管做什么事情,态度是最重要的。
关键字:学生籍贯信息记录簿,链表,指针AbstractTo increase the capacity of practices we have created more going to be able to operate the knowledge learned, the school has arranged for two weeks, especially our Visual C + + to carry out a practical design courses Masu.Detailed description of this file under Visual C + +6.0 environment, the process of designing a single software, this software is that the number of different data statistics.This software features, users enter a single-stage character, the software records the number of letters in each kind of data, the number of data in English, the number of numeric data, empty data include the number of the number and types of data that shows clear them.The following courses through the design and description, data description and statistical software to adjust the program description, and to develop overall direction, describes the process of making the program more, action , can perform various operations.Keyword:Multiple Choice,Head Files,VC++6.0目录前言 (1)第1章软件设计内容 (2)1.1软件达到的目的 (2)1.2软件功能说明 (2)1.2.1功能分析说明图 (2)1.2.2各项功能说明 (3)第2章软件设计环境与原理 (12)2.1设计环境与模块的划分 (12)2.1.1软件设计环境 (12)2.1.2软件模块的划分 (12)2.2软件设计主要原理 (13)2.2.1采用的主要数据结构类型 (13)第3章软件的设计过程 (14)3.1各软件模块之间的调用方式 (14)3.3数据保存方式以及格式 (14)第4章运行程序并截图以及对应的编程 (14)第5章总结 ................................................................... 错误!未定义书签。
致谢.. (26)前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。
Visual C++6.0 是一种功能强大行之有效的可视化编程工具。
因此此软件是在Visual C++6.0环境下编写的。
对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发。
为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对VisualC++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。
本文档详细叙述了基于Visual C++6.0环境下的字符统计软件的设计过程以及程序源代码。
本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。
此次字符统计软件的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、类的设计和使用以及C++语法。
本文档的安排如下:第一章软件设计内容。
第二章软件设计环境与原理。
第三章软件设计过程。
第四章主要对字符统计软件进行调试,运行程序并截图,显示运行界面和结果。
第五章主要介绍了软件开发过程中遇到的一些问题,对该软件进行的一个总结。
程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,字符统计软件和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。
第1章软件设计内容1.1软件达到的目的该软件主要是编辑一个学生籍贯信息记录簿每个学生信息包括:学号、姓名、籍贯。
具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯(4)按籍贯查询并输出该籍贯的所有学生(5)能添加、删除和修改学生的籍贯信息(6)显示输出四川籍和非四川籍的所有学生的信息并可分别存盘.1.2 软件功能说明1.2.1 功能(分析)说明图该软件功能分析说明图如1-2-1所示:上面是开始菜单中显示的主页面。
1.2.2 各项(功能说明):(1)学生基本信息的录入:这部分的功能主要包括信息的录入,首先按程序提示输入学生的学号,接着是分别输入有关学生的相关信息包括姓名、籍贯等。
在录入数据的同时,系统将对信息的合法性进行检验,若用户录入了不合法的数据系统将会作出提示,并且要求重新输入。
如果合法性成立则录入完毕后系统将返回主业面。
主业面中还有显示学生全部信息,按学号和姓名查询,输出四川籍和非四川籍的学生,退出等功能,并且这些函数用后的信息都会写到你所指定的文本文件中。
(2)显示学生信息:此功能是将原录入的学生信息读出,并在屏幕上显示出来,并且录入到你所指定的文本文件中。
(3)学生信息读取:进入该项功能界面后,用户可以对学生的个人信息进行查看,并且录入到你所指定的文本文件中。
(4)按学号或姓名查找学生信息:此项功能可以根据用户输入的选择查出该学生的所有信息。
并且录入到你所指定的文本文件中。
(5)删除和修改个人信息:选择次项功能后,系统将自动在屏幕上显示按姓名学号录入原来同学的个人信息,输入后进行修改,并且录入到你所指定的文本文件中。
(7)显示输出四川籍和非四川籍的所有学生的信息:选择此项功能后,系统将自动在屏幕上显示四川籍学生分为一组,非四川籍学生分成一组。
(8)退出系统,结束任务。
如果无意按错了则可以按提示重新返回主页面。
第2章软件设计环境与原理2.1 设计环境与模块的划分2.1.1 软件设计环境Microsoft Visual C++ 6.02.1.2 功能(模块层次图):该软件主要组成模块和各个模块之间的调用关系如图2-1:2.2 软件设计主要原理2.2.1 采用的主要数据结构类型该程序采用的是结构体类型来处理学生的所有基本信息,如下所述。
包含的库函数有:#include<stdio.h>#include<string.h>#include<windows.h>用于界面的设计#include <ctype.h>比较字符串#include <stdlib.h>文件的使用包含的函数有:main() //主函数recordplatform()//系统标题函数xuanzekuangjia()//选择框架函数tuichuxitong()//0.退出学生籍贯管理系统函数shuruxinxi()//1.输入学生信息函数Xianshi信息()//2.显示信息函数xinxitongji()//3.学生信息统计函数xiugaishanchuxinxi()//4.学生信息修改删除函数tiaojianchaxun()//5.学生条件查询函数tiaojianshuchu()//6.条件输出函数gengxinxinxi()//7.更新学生信息函数第3章软件的设计过程3.1 各软件模块之间的调用方式程序中各个模块之间的调用方式主要是通过函数的调用实现的。
先使用主函数调用框架函数,然后在框架函数中调用不同功能的函数,达到对学生信息管理的目的。
3.2 数据保存方式以及格式本学生信息系统将能自动把输入的学生信息保存为C://1 .txt文件中,在文件的读取时,系统将能自动把该二进制文件读出,并在屏幕上显示出学生信息。
前提是必须在C盘中创建1 .txt文件。
第4章设计结果与错误分析与错误解决方案对此程序的一些细节和具体的操作方法加以说明,说明如下:利用#include<windows.h>设计的界面。
下面是框架设计代码和所包含的调用函数:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<windows.h>//开始界面#define MAX 50typedef struct{char num[50];char name[50];char address[50];}Student;Student stu[MAX];int n;int t;int s=0;void Input();void Display();void Readfile();void Modify();void Save1();void Save2();void Dis();void Find(int i);void main(){char choose;do{if(s==0){int M=35;Sleep(1);printf("\n");printf(" 现在载入完成\n");Sleep(200);printf("\n");printf("\n");Sleep(10);printf("\n");Sleep(10);printf(" 欢迎大家进入-------☆-【李忠凯】-☆------籍贯管理系统\n");Sleep(200);//延时system("pause"); //暂停system("cls"); //清屏fflush(stdin);s++;}printf("**********************************************************");printf(" 1.输入信息并存档\n"); printf(" 2.读取信息并显示\n");printf(" 3.按学号或姓名查询籍贯\n");printf(" 4.修改(删除)指定姓名或学号的学生的姓名和籍贯\n");printf(" 5.显示输出四川,非四川学生信息\n");printf("**********************************************************");printf("\n");scanf("%s",&choose);switch(choose){case '1':{Input();Save1();}break;case '2':{ Readfile();Display();}break;case '3':{Find(1);Readfile();}break;case '4':{ Find(0);Readfile();}break;case '5':{Readfile();Dis();}break;default:printf("输入错误,请重新输入:\n");}}while(1);}void Save2(int t){FILE* fp;fp=fopen("student.dat","w");fprintf(fp,"%s %s %s\n",stu[t].num,stu[t].name,stu[t].address);fclose(fp);//fp.clear();}上面是我设计的程序的主页面,供使用者选择任务。