基于VC++的学生信息管理系统

合集下载

基于VC的学生信息管理系统设计与开发

基于VC的学生信息管理系统设计与开发
●查找学生信息。
教师信息管理
●信息,包括教师号、教师姓名、性别、职称、研究方向;
●修改教师信息;
●删除教师信息;
●查找教师信息。
课程信息管理
●课程信息,包括课程号、课程名、学分、课程类别等;
●修改课程信息;
●删除课程信息;
●查找课程信息。
成绩查询管理
●按学号查询:
●按课程查询。
在具体实现的时候要注意系统的安全性、协调性和完整性。当用户添加学号时,要保证学号不能重复,同样课程号也不能重复,这样才能实现查询功能和各个信息模块的协调;对数据进行添加、修改、删除、查询时要进行监控,进行出错提示及处理。
2.4据库的创建………………………………………………………8
3.统各功能模块的设计和实现………………………………………..9
3.1Visual C++6.0简介……………………………………………9
3.2创建学生信息管理模块………………………………………..10
3.3创建教师信息管理模块………………………………………...15
目录……………………………………………………………………….1
摘要……………………………………………………………………….2
前言……………………………………………………………………….3
1.系统分析……………………………………………………………..4
1.1功能需求分析…………………………………………………...4
类型:课程设计
题目:基于VC的学生信息管理系统设计与开发
运用VisualC++6.0和Micorsoft SQL Sever 2000实现一个学生管理系统的开发过程。系统的结构采用当前流行的C/S模式。系统前端界面以VisualC++6.0为开发工具,主要运用ActiveX控件ADO Data Control和DataGrid Control实现;系统后端数据库用Micorsoft SQL Sever 2000来创建。在系统的开发过程中, 灵活地运用了ADO对象操纵数据库的技术和OLE DB的数据库链接方法。本系统的开发是对陆良县职业中学学生管理工作信息化的一种尝试。

基于VC++数据库的学生信息管理系统

基于VC++数据库的学生信息管理系统

摘要:随着社会的发展与科技的全面进步,使得人们越来越向信息化、数字化发展,管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和实用的系统,必然会代替过去大量的、繁琐的手工操作。

对于学校来说,对学生的各种信息进行统计并显示是非常重要的。

本文通过Visual C++ 6.0的编程环境编写学生信息管理系统,利用Microsoft Office Access 2003数据库系统编写数据表,采用ADO数据库访问技术,用模块化设计方式将系统各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现功能,详细的定义了各个模块的具体功能。

开发主要包括后天数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生信息的创建及学生信息的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。

关键词:信息管理;Visual C++ 6.0 ;Access ;ADOAbstract: With the development of society and the progress of technology, cause the people more and more to the information, the digitized develop, the management information system composed by people and computer is a system which can collect, transmit, store, process and maintenance the information. It inevitably can massively replace the numerous and diver manual operation. For a school, it is very important to impose the information of the students and show them out. This article through the environment of Visual C++ 6.0 to compile the students information management system, uses Microsoft Office Access 2003 database system design database tables, uses the ADO technology contact the database, the systematic each function module layer upon layer will decompose with the way of the modular design, designs the modular structure of the system. The function of each modular will found according to the specific request of the system. The develops mainly includes two aspects, the backstage establishment and maintenance of database as well as the front end development of application procedure, has realized foundation, input, browsing, maintenance and statistics, enables the system to has the characteristics that formidable function and friendly surface.Key words: Information management; Visual C++6.0;Access; ADO目录1 引言 (1)2 系统概述 (2)2.1 系统需求分析.................................................................................... 错误!未定义书签。

学生信息管理系统 vc6.0 c语言

学生信息管理系统 vc6.0 c语言

/***************************************************************************** * 这是电话本管理程序的功能文件。

实现电话本信息的增加、查询、修改、删除和显示**本单元所列所有函数均需处理人机交互,即需要负责以下功能:* ①现完成界面生成。

* ②从输入设备获取内容。

* ③将结果输出到输出设备上。

* ④完成每一分功能的业务流程控制。

** 文件名:TONGXUN.cpp* 作者:lwj,,,* 创建日期:2011-04-25* 完成日期:2011-* 版本:1.0* 修改记录:*******************************************************************************/ #include <stdio.h>#include <stdlib.h>/*与malloc.h差不多*/#include <string.h>#include<conio.h>#define maxlen 100struct persons{ char name[10];/*定义结构体数组用于缓存数据*/char addr[20];char phnum[15];char email[25];}persons[maxlen];;;;typedef struct lnode{ /*通讯录结构中结点的定义*/char name[10];/*姓名*/char addr[20]; /*地址*/char phnum[15];/*电话*/char email[25];struct lnode *next;}listnode,*linklist;;;;linklist head=NULL,r=NULL; /*定义头指针和尾指针*/listnode *s,*p0,*p1,*p2,*p3,*p4,*p5,*p6,*p7;int i;char name1[10],name2[10],name3[10],name4[10],ch;char str1[20];FILE *fp; /*定义文件指针*/;;void creat()/*将文件的信息读入结构体数组在转存入链表中*/{int j;int k;fp=fopen("people.txt","r+t"); /*打开文件*/if(fp!=NULL){for(i=1;i<maxlen;i++){j=fgetc(fp);if(j==EOF)return;k=i-1;fseek(fp,k*sizeof(struct persons),0);/*读取一个人的信息*/fread(&persons[i],sizeof(struct persons),1,fp);s=(linklist)malloc(sizeof(listnode)); /*装存入链表中*/strcpy(s->name,persons[i].name);strcpy(s->addr,persons[i].addr);strcpy(s->phnum,persons[i].phnum);strcpy(s->email,persons[i].email);if(head==NULL) /*用尾插法将其插入链表中*/head=s;else{r->next=s;}/*连接*/r=s;r->next=NULL;/*末尾化*/}}else { printf("\n*\t\t\t\1There's no file!");fp=fopen("people.txt","w+");/*不能打开另开辟一个文件*/printf("\n*\t\t\t\1Bulid people.txt!!!!!!!!!!");i=1; }};;void Show() /*显示所有的信息*/{p1=head;while(p1!=NULL){printf("\n\t\t\t* name:%s *",p1->name);printf("\n\t\t\t* addr:%s *",p1->addr);printf("\n\t\t\t* phnum:%s *",p1->phnum);printf("\n\t\t\t* email:%s",p1->email);printf("\n\t\t\t***********************************");p1=p1->next;}};;;void Delete()/*定义一个删除的函数*/{printf("\n\n\t\t\t*please input the name:");gets(name1); /*输入要删除人的姓名*/p4=head;if(strcmp(p4->name,name1)==0){p5=p4;p4=p4->next; /*根据各种情况判断可能性*/head=p4;free(p5);printf("\n\t\t\t\1Delete completed!\n");}else{while(p4->next!=NULL){if(strcmp(p4->next->name,name1)==0){p5=p4->next;p4->next=p4->next->next;free(p5);printf("\n\t\t\t\1Delete completed!\n");break;}else{ p4=p4->next;if(p4->next==NULL)break;}break;} if(p4->next==NULL)printf("\n\n\t\t\t*It is not exit in the addr-book!");}};;;void Find() /*查找的函数定义*/{printf("\n\t\t\t*please input the name:");p0=head;gets(name2); /*查找人的姓名输入*/while(strcmp(name2,p0->name)!=0){ p0=p0->next;if(p0==NULL)/* 未查到,结束循环*/break;}if(p0==NULL)printf("\n\t\t\tIt is not exit in the addr-book!");else{ printf("\n\t\t\t***********************************");printf("\n\t\t\t* name:%s *",p0->name);printf("\n\t\t\t* addr:%s *",p0->addr);printf("\n\t\t\t* phnum:%s *",p0->phnum);printf("\n\t\t\t* email:%s",p0->email);printf("\n\t\t\t***********************************");}};;;void Input()/*向通讯录中输入一个人的信息*/{ s=(linklist)malloc(sizeof(listnode));printf("\n\n\t\t\t*please input the sb's meg:");printf("\n\n\t\t\t*name:"); scanf("%s",s->name);printf("\n\n\t\t\t*Addr:");scanf("%s",s->addr);printf("\n\n\t\t\t*phnum:");scanf("%s",s->phnum);printf("\n\n\t\t\t*email:");scanf("%s",s->email);if(head==NULL)head=s;elser->next=s;r=s;r->next=NULL;};;;void Alter()/*改变一个人的信息*/{int j;printf("\n\n\t\t\t*Please input the name:");gets(name3); /*输入要人的姓名*/p3=head;while(strcmp(name3,p3->name)!=0){p3=p3->next;if(p3==NULL)break;}if(p3==NULL)printf("\n\n\t\t\t*It is not exit in the addr-book!");else{printf("\n\n\t\t\t*please input the new meg!"); /*输入要改人的新信息*/ printf("\n\n\t\t\t*name:");scanf("%s",name1);strcpy(p3->name,name1);printf("\n\n\t\t\t*Addr:");scanf("%s",name1);strcpy(p3->addr,name1);printf("\n\n\t\t\t*phnum:");scanf("%s",name1);strcpy(p3->phnum,name1);printf("\n\n\t\t\t*email:");scanf("%s",name1);strcpy(p3->email,name1);}};;;void Save() /*保存信息*/{int j;fp=fopen("people.txt","w");p2=head;j=0;do/*将信息装出入结构体数组在出入链表中*/{strcpy(persons[j].name,p2->name);strcpy(persons[j].addr,p2->addr);strcpy(persons[j].phnum,p2->phnum);strcpy(persons[j].email,p2->email);fwrite(&persons[j],sizeof(struct persons),1,fp);p2=p2->next;j++;}while(p2!=NULL);};;;void ps()/*功能结尾清屏*/{printf("\n\t\t\tPress any key to continue:");getch();system("cls");printf("\n\t\t\t***********************************"); };;;void main(){creat();system("color 80");/*改变颜色*/do{printf("\n\n\n\n\t\t\t WELCOME TO USE OUR Address book");/*显示提示的信息*/printf("\n\n\n\t\t\t***********************************"); printf("\n\t\t\t* Please make a choice below: *");printf("\n\t\t\t* 1.Show all the meg *");printf("\n\t\t\t* 2.Delete a piece of meg *");printf("\n\t\t\t* 3.Find a piece of meg *");printf("\n\t\t\t* 4.Insert a piece of meg *");printf("\n\t\t\t* 5.Alter a piece of meg *");printf("\n\t\t\t* 6.Save and Exit *");printf("\n\t\t\t***********************************");printf("\n\n\n\t\t\t*Input Your Choice:");ch= getch();system("cls");printf("\n\n\n\n\t\t\t***********************************"); switch(ch)/*调用函数*/{ case '1': Show();ps();break;case '2': Delete();ps();break;case '3': Find();ps();break;case '4': Input();system("cls");printf("\n\t*********************************\n");break;case '5': Alter();ps();break;case '6': Save();printf("\n\t\t\t\1save completed!\n");printf("\n\t\t\tThank you!Press any key to continue:");getch();fclose(fp);exit(0);break;default:printf("\n\t\t\t***********************************");printf("\n\t\t\t The num should 1-6!!! \n");printf("\n\t\t\t***********************************");break;}}while(1);}。

基于VC++的学生信息管理系统课设报告

基于VC++的学生信息管理系统课设报告

1 绪论随着信息技术在管理上越来越深入而广泛地应用,管理信息系统的实施在技术上已经逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量学要有信息管理系统来提高学生信息管理系统的效率。

通过这样的系统可以做到信息的规管理,科学统计和快速查询,修改,添加,删除等,从而减少管理方面的工作量。

本次课程设计的学生管理系统主要用于学校学生信息管理,其主要任务是用计算机对学生各种信息进行日常管理,如添加,修改,删除,查询和排序等等。

根据这些要求我通过在Visual C++6.0的环境下进行系统的设计,数据库设计,窗口及相应的程序设计来完成设计学生管理系统。

2 系统设计用SQL Sever 2008设计学生信息数据库,数据库表项中包括学号,,年龄,性别,出生年月,地址,,E-mail。

连接数据库,编写VC++程序,实现以下功能:(1)学生信息的录入功能(2)学生信息的浏览功能(3)学生信息的查询功能(可以按学号,进行查询)(4)学生信息的排序(可以按学号,进行排序)(5)学生信息的删除和修改功能系统结构图如图1:图1 系统结构图说明:在主窗口可以直接排序、删除和浏览。

查询条件、修改信息和添加信息都需要在弹出的模态对话框中输入,在主窗口显示。

实现功能总程序流程图如图2:图2 程序流程图流程图说明:首先进行初始化,进入主窗口,在主窗口有进入各种操作的按钮,判断是什么功能的按钮按下,进入相应功能。

若是删除、排序或者浏览按钮,则直接在主窗口显示相应的结果;若是添加按钮被按下,则弹出对话框,在对话框中输入要添加的学生的信息,确定后保存;若是修改按钮被按下,则弹出对话框,在对话框中填写修改后希望保存的信息,确定后保存修改;若是查询按钮被按下,弹出对话框,输入查询条件,确认后在主窗口显示信息。

基于VC++的学生信息管理系统

基于VC++的学生信息管理系统

《Visual C++程序设计》课程设计报告班级:计算机系软件 Z102班 姓名:曹立红 学号:104431一•引言该次课程设计后台数据库连接 ACCESS^创建数据库应用程序。

创建支持数据库的单文档的应用程序 使用ListControl 控件显示并操作原数据库表格内容,其功能可实现表格中信息项目的添加、修改、删除、 刷新、查询,其中查询功能分为单条件查询和多条件查询两种。

二•系统设计1•主页面如下:运行之后 ACCESS 表中的数据就会在 List Control 控件中显示通过主页面可以对表格中 信息项目进行简单的刷新,删除,单条件查询(按姓名,学号,所在系,性别,出生年份的单独查询)和多 条件查询(按姓名,学号,所在系,性别,出生年份的组合查询)。

添加一行,并且可以进行多次添加,点击确定之后刷新即可在2•点击添加按钮即可进入添加对话框如下:可以输入相关数据点击添加按钮之后即可在原数据表中进行 List Con trol 控件中显示。

3•点击修改按钮即可进入修改对话框如下:可以对已有的相关数据进行修改点击确定按钮之后即可改变原数据表中数据行,刷新即可在List Co ntrol 控件中显示。

三.系统实现1.运行界面图及各模块主要代码:支嵐n 辐口记曇向科刘" ”|直八H ?两姑舸擄舒瞧甥颤础姐电趾生轴2S19C9/1HT nlvsMlq a1ML/1/1B CSBSL9K/9/15B5m/^ialMO/VlO!bim/fA<JF101 陽15GTa.刷新功能的实现:void CKeView::O nshuaxi n(){if(m_pSet->lsOpe n())m_pSet->Close();〃如果此时数据库表打开则进行关闭。

CStri ng str="select * from stude nt";m_pSet->Ope n(AFX_DB_USE_DEFAULT_TYPE,str);〃然后以S 所示条件对数据库表进行打开。

VC++学生信息管理系统课程设计报告

VC++学生信息管理系统课程设计报告

目录1绪论 (1)1.1项目简介 (1)1.2设计目的 (1)1.3设计内容 (1)2需求分析 (1)2.1数据需求 (1)2.2事务需求 (2)3概要设计 (2)3.1系统的大致流程图 (2)4详细设计 (2)4.1系统的流程图 (2)4.2整体逻辑数据库结构 (3)4.3涉及算法的思想 (3)5用户使用说明 (4)5.1开发运行环境 (4)5.2数据库的名称及内容 (4)6关键源程序 (5)6.1建立工程 (5)6.2模块1 (5)6.3模块2 (9)6.5模块4 (12)7测试结果及运行界面 (19)8总结 (23)8.1系统实现程度 (23)8.2问题及难点 (23)8.3收获与体会 (23)参考文献 (24)1绪论1.1项目简介本系统主要实现学生信息管理功能,为老师与同学提供一个可以快速查找信息的平台。

1.2设计目的方便老师与同学查看学生信息,提高学生信息管理的效率,节省时间,从而实现学校工作的边界管理。

1.3设计内容主要包括:用户的登陆于注册,对学生信息的增加删除修改。

2需求分析2.1数据需求系统需要处理哪些数据总体分为用户输入的数据和从数据库中获得的数据。

主要数据类型包括:CString类型数据、double类型数据、int类型数据和CTime类型数据。

2.2事务需求用户:登陆、注册,对数据的增删改3概要设计3.1系统的大致流程图4详细设计4.1系统的流程图4.2整体逻辑数据库结构4.3涉及算法的思想4.3.1建立数据库通过ADO建立两个数据库(新建 Microsoft Office Access 应用程序)存放登陆信息和学生信息。

4.3.2数据录入在新建学生信息数据库中录入学生信息。

4.3.3登录框的设计4.3.3.1 建立变量Sname,Spsw,通过格式变幻,将CString格式转换成数据库规定的格式4.3.3.2 通过compare函数将输入的用户名与密码与数据库比较4.3.4注册框的设计先判定输入框里的名字在数据库里不存在,然后将输入的信息替换入数据库4.3.5添加记录4.3.5.1建立一个新的窗口,包含姓名,学号,年龄等基本信息录入框 4.3.5.2用户录入要添加记录信息,如果要添加记录和已有记录不冲突就会把录入信息添加到新建 Microsoft Office Access 应用程序记录集中。

基于VC++的学生信息管理系统课设报告

基于VC++的学生信息管理系统课设报告

1 绪论随着信息技术在管理上越来越深入而广泛地应用,管理信息系统的实施在技术上已经逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机的组织起来,就必须建立与自身特点相适应的管理信息系统。

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量学要有信息管理系统来提高学生信息管理系统的效率。

通过这样的系统可以做到信息的规范管理,科学统计和快速查询,修改,添加,删除等,从而减少管理方面的工作量。

本次课程设计的学生管理系统主要用于学校学生信息管理,其主要任务是用计算机对学生各种信息进行日常管理,如添加,修改,删除,查询和排序等等。

根据这些要求我通过在Visual C++6.0的环境下进行系统的设计,数据库设计,窗口及相应的程序设计来完成设计学生管理系统。

2 系统设计用SQL Sever 2008设计学生信息数据库,数据库表项中包括学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。

连接数据库,编写VC++程序,实现以下功能:(1)学生信息的录入功能(2)学生信息的浏览功能(3)学生信息的查询功能(可以按学号,姓名进行查询)(4)学生信息的排序(可以按学号,姓名进行排序)(5)学生信息的删除和修改功能系统结构图如图1:图1 系统结构图说明:在主窗口可以直接排序、删除和浏览。

查询条件、修改信息和添加信息都需要在弹出的模态对话框中输入,在主窗口显示。

实现功能总程序流程图如图2:图2 程序流程图流程图说明:首先进行初始化,进入主窗口,在主窗口有进入各种操作的按钮,判断是什么功能的按钮按下,进入相应功能。

若是删除、排序或者浏览按钮,则直接在主窗口显示相应的结果;若是添加按钮被按下,则弹出对话框,在对话框中输入要添加的学生的信息,确定后保存;若是修改按钮被按下,则弹出对话框,在对话框中填写修改后希望保存的信息,确定后保存修改;若是查询按钮被按下,弹出对话框,输入查询条件,确认后在主窗口显示信息。

C课程设计学生信息管理系统

C课程设计学生信息管理系统

查询模块:根据条件查询学生信息
系统管理模块:系统设置、权限管理 等功能
01
系统实现
系统开发环境与工具
开发语言:Java 开发工具:Eclipse 数据库:MySQL
前端框架:Bootstrap 版本控制工具:Git 测试工具:JUnit
系统关键技术实现
数据库设计:使用SQL Server 或MySQL等数据库管理系统进 行数据存储和管理
稻壳公司
C课程设计学生信息 管理系统
单击此处添加副标题
汇报人:
目录
单击添加目录项标题
01
系统概述
02
系统需求分析
03
系统设计
04
系统实现
05
系统评估与总结
06
01
添加章节标题
01
系统概述
系统的目标与功能
目标:实现学生信息的高效管理 功能:学生信息录入、查询、修改、删除 功能:课程信息录入、查询、修改、删除 功能:成绩信息录入、查询、修改、删除 功能:用户权限管理,确保信息安全
01
系统设计
系统架构设计
前端:使用HTML、CSS、 JavaScript等技术进行 页面布局和功能实现
后端:使用Java、 Spring Boot等技术进 行业务逻辑处理和数据库 操作
数据库:使用MySQL、 Oracle等关系型数据库 进行数据存储和管理
接口:使用RESTful API 进行前后端数据交互
风险评估:系统可能面临 的风险及应对措施
系统性能评估
响应时间:系统处理用户请求所需的时 间
可靠性:系统在运行过程中出现故障 的概率
吞吐量:系统在单位时间内处理的请 求数量
可扩展性:系统适应未来业务增长的 能力

学生信息管理系统(vc)

学生信息管理系统(vc)
void InsertAfter(Student*);/* 将s插入链表尾部 */
void SaveToFile();/* 保存到文件 */
void LoadFile();/* 从文件中读入记录 */
void CopyFile(); /* 复制文件 */
void InsertToFile();/* 追加记录到文件中 */
OutList();
break;
/* 查找记录 */
case 5:
SearchPrintNode();
SWITCH[6] = 0;
printf("追加完毕!\n");
break;
/* 索引 */
case 13:
{
switch (n)
{
/* 执行初始化 */
case 1:
head = Init();
void InputList(); /*读取多个学生信息*/
void OutputNodeInfo(Student*);/*显示学生信息*/
void OutList();/*显示多个学生信息*/
Student* SearchFrontNode(Student*);/*查找前一结点*/
void SearchPrintNode();/* 按姓名查找记录并打印 */
if (SWITCH[8])
{
head = Sort(CmpID, 0);
system("cls");
void Compute();/* 计算总分和均分 */
int CmpID(Student*, Student*, int);/*比较两个id*/

vc课程设计学生管理系统

vc课程设计学生管理系统

vc 课程设计学生管理系统一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握学生管理系统的基本概念、设计原理和实现方法。

技能目标要求学生能够运用面向对象的设计方法,独立完成学生管理系统的需求分析、设计、实现和测试。

情感态度价值观目标培养学生对软件工程的热爱,提高学生解决实际问题的能力,培养学生的团队协作精神和创新意识。

通过对学生特点和教学要求的分析,将课程目标分解为具体的学习成果。

学生特点方面,考虑到学生已具备一定的编程基础,但对学生管理系统的设计和实现尚不熟悉。

教学要求方面,课程目标既要符合教材内容,又要具有一定的挑战性,以激发学生的学习兴趣和主动性。

二、教学内容根据课程目标,选择和教学内容,确保内容的科学性和系统性。

教学大纲如下:1.学生管理系统的基本概念:介绍学生管理系统的发展历程、功能需求和设计原则。

2.面向对象的设计方法:讲解面向对象的三大特性(封装、继承、多态),并介绍如何运用这些特性进行学生管理系统的设计。

3.学生管理系统的实现:分析学生管理系统的功能模块,讲解各模块的设计思路和实现方法。

4.学生管理系统的测试与优化:介绍软件测试的基本方法,分析学生管理系统的测试策略,讨论如何优化系统性能。

教学内容将紧密结合教材,注重理论与实践相结合,使学生在学习过程中能够逐步掌握学生管理系统的设计与实现方法。

三、教学方法选择合适的教学方法,如讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解学生管理系统的基本概念、设计原则和实现方法。

2.讨论法:学生就学生管理系统的功能需求、设计思路和实现方法进行讨论,促进学生思考和交流。

3.案例分析法:分析实际案例,使学生更好地理解学生管理系统的设计与实现过程。

4.实验法:安排实验课程,让学生动手实践,培养学生的实际操作能力。

通过多样化的教学方法,使学生在学习过程中保持积极的态度,提高学习效果。

设计一个C语言课程的学生信息管理系统

设计一个C语言课程的学生信息管理系统

1. 设计一个C语言课程的学生信息管理系统在计算机编程领域,学生信息管理系统是一种常见且重要的工具。

针对C语言课程,设计一个学生信息管理系统可以使教师和学生更有效地管理和跟踪课程进展。

本文将基于这一需求,介绍一个设计方案,并讨论其实现和应用。

1.1 系统需求分析设计学生信息管理系统的首要步骤是确定系统的需求。

在C语言课程中,我们通常需要管理学生的基本信息(例如尊称、学号、通信方式等),以及他们的课程成绩、作业提交情况等。

针对这些需求,我们可以将学生信息管理系统的功能分为以下几个方面:1.学生信息录入:教师或管理员可以将学生的基本信息录入系统,包括尊称、学号、通信方式等。

2.成绩管理:系统可以记录和管理学生的课程成绩,并提供查询和统计功能。

3.作业管理:学生可以通过系统提交作业,教师可以查看和评分。

4.考勤管理:记录学生的出勤情况,方便教师管理课堂纪律。

1.2 系统设计与实现1.2.1 数据结构设计为了有效地管理学生信息,我们需要设计合适的数据结构。

在C语言中,可以使用结构体来表示学生的信息,其中包括尊称、学号、通信方式等字段。

为了便于管理多个学生,可以使用链表或数组来组织学生信息。

typedef struct Student {char name[50];int studentId;char contact[50];float grade;struct Student* next;} Student;在上述代码中,我们定义了一个Student结构体,包含了学生的尊称、学号、通信方式、课程成绩以及一个指向下一个学生的指针。

1.2.2 功能实现为了实现学生信息管理系统的各个功能,我们需要编写相应的函数。

下面是几个基本功能的示例代码:1.2.2.1 学生信息录入Student* createStudent(char name[50], int studentId, char contact[50]) { // 创建一个新的学生结构体Student* student = (Student*)malloc(sizeof(Student));// 设置学生的基本信息strcpy(student->name, name);student->studentId = studentId;strcpy(student->contact, contact);student->grade = 0.0;student->next = NULL;return student;}void addStudent(Student** head, Student* newStudent) {if (*head == NULL) {// 如果链表为空,则直接将新学生作为头节点*head = newStudent;} else {// 找到链表的尾节点,并将新学生添加到末尾Student* current = *head;while (current->next != NULL) {current = current->next;}current->next = newStudent;}}void inputStudentInformation(Student** head) {char name[50], contact[50];int studentId;printf("请输入学生尊称:");scanf("%s", name);printf("请输入学生学号:");scanf("%d", &studentId);printf("请输入学生通信方式:");scanf("%s", contact);// 创建新的学生信息Student* newStudent = createStudent(name, studentId, contact);// 将学生信息添加到链表addStudent(head, newStudent);printf("学生信息录入成功!\n");}在上述代码中,我们首先定义了一个createStudent函数,用于创建一个新的学生结构体并初始化其基本信息。

vc++6.0学生信息管理系统

vc++6.0学生信息管理系统

1引言1.1项目的开发背景学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System).它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的基本情况.在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率.随着科学技术的不断提高,计算机科学日渐成熟, 使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。

这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件.1.2系统调研与可行性分析基于VC课程的学生信息管理系统的设计与开发,主要是利用Visual C++6。

0和Access 数据库制作一个有特色的管理系统.本系统的设计主要从以下几方面做起:系统的开发环境、系统需求分析、系统的数据库结构设计、系统的页面设计等。

做这些工作需了解Visual C++6.0的使用和管理系统的相关知识。

(1)技术可行性:本系统主要是用Visual C++6。

0作为网站的开发工具,使用了Access 数据库来实现。

虽然本次开发使用的工具和技术是目前比较旧的,但是微软出的产品最大的好处就是快速入门、益于上手,所以从这方面来看,技术上是可行的。

VC++学生信息管理系统

VC++学生信息管理系统

vc学生信息管理系统悬赏分:0 - 解决时间:2008-6-11 16:461)能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。

2)能够将指定的信息从文件中删除。

3)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。

4)可以统计全部学生的总成绩,及其在班上的排名。

5)能够统计各科的平均成绩及及格率。

6)要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。

7)如果检索不到相应的信息应提示用户。

#include <iostream.h>#include <iomanip.h>#include <fstream>#include <vector>#include <malloc.h>#include <stdlib.h>#include <string>#include <process.h>#include <stdio.h>//#define NULL 0int const Q=20;#define LEN sizeof(struct student)using namespace std;int n=0; //定义一个全局变量统计学生人数//——--------->定义一个学生考试信息的结构体struct student{char name[Q]; //用来存放姓名的char sex[Q]; //用来存放性别的long int id; //用来存放准考证号的int score[4]; //用来存放分数的int total; //用来存放总分数的struct student *next;};//student向量容器vector <student> stu;//-------------->学生类class Information{public:Information() ; //构造函数.~Information() ; //析构函数.student *creat();//建立链表函数。

VC++实训--学生信息管理系统

VC++实训--学生信息管理系统

信息科学与工程学院报告书专业:计算机科学与技术课程名称:《VC++实训》题目:学生信息管理系统班级:设计者:完成时间:学生信息管理系统一系统总体方案系统基本实现了对学生信息的查询,添加,修改,删除,保存功能。

二设计思路和主要步骤思路主要是设计一个单文档用来实现主界面,然后在菜单栏添加一个菜单项,下面包含录入学生基本信息,查询学生基本信息,和修改学生基本信息等多项子菜单,每项子菜单都对应一个对话框对数据进行处理。

在主对话框中添加列表控件用来显示学生的基本信息,以方便学生信息的修改,具体修改哪一项。

对于学生信息的录入,查询,修改,删除都用按钮控件,并为每个按钮添加消息响应函数用来处理学生的信息操作。

接下来就是要把学生的基本信息能够保存下来,因此要用到文件的操作,fstream可以满足要求。

综上所述,必须先掌握按钮控件,列表控件,新对话框的构建,编辑控件和消息的响应与处理原理!三各功能模块和流程图1.功能模块实现主界面对话框一对话框2对话框3四设计代码1.主体框架代码:int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||!m_wndToolBar.LoadToolBar(ID R_MAINFRAME)){TRACE0("Failed to create toolbar\n");return -1; // fail to create}If(!m_wndStatusBar.Create(this)||!m_wndStatusBar.SetIndicat ors(indicators,sizeof(indicators)/sizeof(UINT))){TRACE0("Failed to create status bar\n");return -1; // fail to createm_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);EnableDocking(CBRS_ALIGN_ANY);DockControlBar(&m_wndToolBar);return 0;}void CMainFrame::OnMenuitemadd(){CMyDlgAdd dlg1;dlg1.DoModal();}void CMainFrame::OnMenuitemmodify(){CMyDlgModify dlg2;dlg2.DoModal();}void CMainFrame::OnMenuitemseek(){CMyDlgSeek dlg3;dlg3.DoModal();}2.录入消息对话框的消息映射:HBRUSH CMyDlgAdd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if(nCtlColor == CTLCOLOR_BTN || nCtlColor == CTLCOLOR_STATIC){pDC->SetTextColor(RGB(0,0,255));pDC->SetBkMode(TRANSPARENT);}pDC->SetTextColor(RGB(0,0,255));pDC->SetBkMode(TRANSPARENT);return hbr;}void CMyDlgAdd::OnPaint()CPaintDC dc(this); // device context for paintingLOGFONT lf;memset(&lf,0,sizeof(LOGFONT));lf.lfHeight=28;lf.lfCharSet=GB2312_CHARSET;strcpy((LPSTR)&(lf.lfFaceName),"华文新魏");CFont cf;cf.CreateFontIndirect(&lf);m_Title.SetFont(&cf);}void CMyDlgAdd::OnOK(){UpdateData();struct Record *re=per;fstream file;C;("record.txt",ios::in|ios::out|ios::app);int nIndex=m_Speciality.GetCurSel();int i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);const int size=sizeof(struct Record);if((re)->id==0||(re)->name==0||re->speciality==0||re->grade==0||i==0 )MessageBox("输入不完整,不能提交!");else{strcpy((re)->id,m_Num);strcpy((re)->name,m_Name);CString str;int y,m,d;y=m_Birth.GetYear();m=m_Birth.GetMonth();d=m_Birth.GetDay();str.Format("%d-%d-%d",y,m,d);strcpy(re->date,str);if(i==IDC_RADIO1)strcpy(re->sex,"男");if(i==IDC_RADIO2)strcpy(re->sex,"女");if(nIndex==0)strcpy(re->speciality,"计算机");if(nIndex==1)strcpy(re->speciality,"数学");strcpy(re->grade,m_Grade);file<<re->id<<" "<<re->name<<" "<<re->sex<<" "<<re->speciality<<" "<<re->grade<<" "<<re->date<<endl;}();CDialog::OnOK();MessageBox("添加成功!",MB_OK,MB_ICONASTERISK);}2.学生信息修改对话框消息映射:BOOL CMyDlgModify::OnInitDialog(){CDialog::OnInitDialog();UpdateData(false);const int nColumns=6;m_list1.InsertColumn(0,"学号");m_list1.InsertColumn(1,"姓名");m_list1.InsertColumn(2,"性别");m_list1.InsertColumn(3,"专业");m_list1.InsertColumn(4,"年级");m_list1.InsertColumn(5,"出生日期");CRect rect4;m_list1.GetClientRect(rect4);for(int i=0;i<nColumns;i++)m_list1.SetColumnWidth(i,rect4.Width()/nColumns);fstream file;struct Record per;memset(&per,0,sizeof(struct Record));("record.txt",ios::in|ios::out);if(!file){MessageBox("Open error!");}for(int j=0;!();j++){file>>per.id>>>>per.sex>>per.speciality>>per.grade>>per.date;m_list1.InsertItem(j,per.id);m_list1.SetItemText(j,1,);m_list1.SetItemText(j,2,per.sex);m_list1.SetItemText(j,3,per.speciality);m_list1.SetItemText(j,4,per.grade);m_list1.SetItemText(j,5,per.date);strcpy(per.id,"");strcpy(,"");strcpy(per.sex,"");strcpy(per.speciality,"");strcpy(per.grade,"");strcpy(per.date,"");}();ListView_SetExtendedListViewStyle(m_list1.m_hWnd,LVS_EX_FU LLROWSELECT|LVS_EX_GRIDLINES); //设置可以选整行return TRUE;}void CMyDlgModify::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult){UpdateData();struct Record per;memset(&per,0,sizeof(struct Record));CListCtrl* pListCtrl = (CListCtrl*) GetDlgItem(IDC_LIST1);ASSERT(pListCtrl != NULL);POSITION pos = m_list1.GetFirstSelectedItemPosition();if(pos!=NULL){nItem = m_list1.GetNextSelectedItem(pos);m_Id=m_list1.GetItemText(nItem,0);m_Name=m_list1.GetItemText(nItem,1);if(m_list1.GetItemText(nItem,2)=="男")CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);elseCheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO2);m_Speciality=m_list1.GetItemText(nItem,3);m_Grade=m_list1.GetItemText(nItem,4);m_Date=m_list1.GetItemText(nItem,5);m_Num.Format("%d",nItem+1);UpdateData(false);}*pResult = 0;}void CMyDlgModify::OnOK(){if(IDNO == MessageBox("确定要修改吗?","提问",MB_YESNO|MB_ICONQUESTION)){return ;}UpdateData();fstream ;struct Record per;("record.txt",ios::in);("record1.txt",ios::out);if(!){MessageBox("Open error!");return ;}int n =0 , m = 0;while(!()){n++ ;file1>>per.id>>>>per.sex>>per.speciality>>per.grade>>per.date;}n--; m = n ;();("record.txt",ios::in);int nIndex = m_list1.GetSelectionMark();char id[20]="0";strcpy(id,m_list1.GetItemText(nIndex,0));memset(&per,0,sizeof(struct Record));while(n){file1>>per.id>>>>per.sex>>per.speciality>>per.grade>>per .date;if(strcmp(per.id,id) != 0 ){file2<<per.id<<" "<<<<" "<<per.sex<<" "<<per.speciality<<" "<<per.grade<<" "<<per.date<<endl;}else //要修改的记录{strcpy(per.id,m_Id);strcpy(,m_Name);int i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO2);if(i==IDC_RADIO1){strcpy(per.sex,"男");}if(i==IDC_RADIO2){strcpy(per.sex,"女");}strcpy(per.speciality,m_Speciality);strcpy(per.grade,m_Grade);strcpy(per.date,m_Date);file2<<per.id<<" "<<<<" "<<per.sex<<" "<<per.speciality<<" "<<per.grade<<" "<<per.date<<endl;}n--;}();();remove("record.txt");rename("record1.txt","record.txt");m_Num = "";m_Name = "";m_Speciality = "";m_Grade = "";UpdateData(FALSE);RefreshData(m);}void CMyDlgModify::RefreshData(int m ){struct Record per;fstream file;("record.txt",ios::in);memset(&per,0,sizeof(struct Record));m_list1.DeleteAllItems();m_list1.SetRedraw(FALSE);int i = 0 ;while( i < m ){file>>per.id>>>>per.sex>>per.speciality>>per.grade>>per.date;m_list1.InsertItem(i,per.id);m_list1.SetItemText(i,1,);m_list1.SetItemText(i,2,per.sex);m_list1.SetItemText(i,3,per.speciality);m_list1.SetItemText(i,4,per.grade);m_list1.SetItemText(i,5,per.date);i++;}();m_list1.SetRedraw(TRUE);}4.学生信息查找代码:void CMyDlgSeek::OnButton1(){UpdateData();fstream ;struct Record per;("record.txt",ios::in);("record1.txt",ios::out);if(!){MessageBox("Open error!");return ;}int n =0;while(!()){n++ ;file1>>per.id>>>>per.sex>>per.speciality>>per.grade>> per.date;}n--;();("record.txt",ios::in);char id[20]="0";strcpy(id,m_Num);memset(&per,0,sizeof(struct Record));while(n){file1>>per.id>>>>per.sex>>per.speciality>>per.grade>>per. date;if(strcmp(per.id,id) != 0 ){file2<<per.id<<" "<<<<" "<<per.sex<<" "<<per.speciality<<" "<<per.grade<<" "<<per.date<<endl;}n--;}if(IDNO == MessageBox("确定要删除吗?","提问",MB_YESNO|MB_ICONQUESTION)){return ;}();();remove("record.txt");rename("record1.txt","record.txt");m_Num = "";m_Name = "";m_Speciality = "";m_Grade = "";m_Birth = "";UpdateData(FALSE);}void CMyDlgSeek::OnButton2(){CDialog::OnCancel();}void CMyDlgSeek::OnOK(){UpdateData();fstream file;("record.txt",ios::in|ios::out);struct Record per;int flag;if(!file){MessageBox("Error!");return ;}flag=0;while(!()&&!flag){file>>per.id>>>>per.sex>>per.speciality>>per.grade>>per.date;if(m_Num==per.id){m_Name=;if(strcmp(per.sex,"男")==0)CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);elseCheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO2);m_Speciality=per.speciality;m_Grade=per.grade;m_Birth=per.date;flag=1;}}if(flag==0)MessageBox("查无此人!");();UpdateData(false);}五心得体会和参考资料工程中还存在很多不足,不是很完善。

学生证信息管理系统c语言

学生证信息管理系统c语言

学生证信息管理系统1. 简介学生证信息管理系统是一款基于C语言的应用程序,旨在提供方便快捷的学生证信息管理功能。

该系统可以通过输入学生的基本信息,实现学生证的注册、查询、修改和删除等操作,方便学校或其他教育机构对学生证信息的管理。

2. 功能概述学生证信息管理系统主要包含以下功能:2.1 学生证注册学生可以通过该系统进行学生证的注册,输入个人基本信息并生成学生证号码。

系统将根据输入的信息进行验证,并在验证通过后生成学生证号码。

2.2 学生证查询系统提供了学生证信息查询功能,通过输入学生证号码或学生姓名等关键字进行查询,可以快速找到学生的个人信息和学生证号码。

2.3 学生证修改如果学生个人信息发生改变,可以通过该系统进行学生证信息的修改。

学生可以选择要修改的信息项,并输入新的信息进行更新,系统将自动更新学生证信息。

2.4 学生证删除在某些情况下,学生可能需要注销学生证,系统提供了学生证删除功能。

学生可以输入学生证号码进行删除操作,系统将删除该学生的学生证信息。

3. 系统设计3.1 数据结构系统使用了以下数据结构来存储学生证信息: - 学生姓名:字符串类型,用于存储学生的姓名; - 学生证号码:字符串类型,用于存储学生的学生证号码; - 学生性别:字符类型,用于存储学生的性别; - 学生年龄:整型,用于存储学生的年龄; - 学生班级:字符串类型,用于存储学生的班级信息。

3.2 界面设计系统有以下几个界面: - 主菜单:显示系统的各项功能选项,供用户选择; - 学生证注册界面:用于输入学生的基本信息进行注册; - 学生证查询界面:用于输入关键字进行学生证信息查询; - 学生证修改界面:显示学生的当前信息,并提供修改选项; - 学生证删除界面:用于输入学生证号码进行删除操作。

3.3 系统流程系统的主要流程如下: - 用户进入系统后,系统显示主菜单; - 用户根据需要选择相应的功能选项; - 系统根据用户选择执行对应的功能; - 功能执行完毕后,系统返回主菜单,等待用户下一次操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
obj.m_xm =m_pSet->m_column2;
obj.m_vc1=m_pSet->m_column3;
obj.m_vrq=m_pSet->m_column4;
obj.m_vc2 =m_pSet->m_column5;//将需要修改的的行中的各列的内容传递给修改对话框的各变量中
if(obj.DoModal()==IDOK)//修改完毕点击确定后则将修改后的修改对话框的各变量中的值传
if(n<0)//如果没有进行选择则给出提示
{
AfxMessageBox("请选择修改项!");
return;
}
CString str,str1,s;
str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即学号列
if(m_pSet->IsOpen())
m_pSet->Close();如果此时数据库表打开则进行关闭
m_Clist.SetItemText(i,4,m_pSet->m_column5);
i++;
m_pSet->MoveNext();//m_pSet所指向的行下移。
}
int n=m_Clist.GetItemCount();
if(n==0)//如果List Control控件中的显示的内容为空
AfxMessageBox("sorry!没有找到匹配项!");
m_pSet->m_column5=obj.m_vc2;
m_pSet->Update();
}
}
d. 添加功能的实现:
在主页面的“添加”按钮中写入下面的代码:
void CKeView::Ontianjia()
{
CTjDlg obj;//定义添加对话框类的对象
obj.DoModal();//打开添加对话框;
{
m_Clist.InsertItem(i,m_pSet->m_column1);
m_Clist.SetItemText(i,1,m_pSet->m_column2);
m_Clist.SetItemText(i,2,m_pSet->m_column3);
int year=m_pSet->m_column4.GetYear();
}
(3)按性别查询:
在按性别查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun3()
{
UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s,s1;
if(m_vr1==0)//如果单选按钮中选中第一个按钮
s1="男";//则令单选按钮的变量赋值为“男”;
二.系统设计
1.主页面如下:运行之后ACCESS表中的数据就会在List Control控件中显示通过主页面可以对表格中信息项目进行简单的刷新,删除,单条件查询(按姓名,学号,所在系,性别,出生年份的单独查询)和多条件查询(按姓名,学号,所在系,性别,出生年份的组合查询)。
2.点击添加按钮即可进入添加对话框如下:可以输入相关数据点击添加按钮之后即可在原数据表中进行添加一行,并且可以进行多次添加,点击确定之后刷新即可在List Control控件中显示。
}
(2)按学号查询:
在按学号查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun1()
{
UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s;
s="select * from student where 学号='"+m_ve2+"'";//在表中查询学号列与edit中的输入的变量相匹
m_pSet->Close();//如果此时数据库表打开则进行关闭。
CString str="select * from student";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str);//然后以S所示条件对数据库表进行
打开。
m_Clist.DeleteAllItems();//将List Control控件现有的数据项目全部删除。
else s1="女";//否则赋值为“女”;
s="select * from student where 性别='"+s1+"'";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);
m_pSet->Requery();
m_Clist.DeleteAllItems();
str1="select * from studentwhere 学号='"+str+"'";
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,str1);以S所示条件对数据库表进行
打开。
CXgDlg obj;//修改对话框中建立的类的对象
obj.m_xh=m_pSet->m_column1;
int month=m_pSet->m_column4.GetMonth();
int day=m_pSet->m_column4.GetDay();
str1.Format("%d/%d/%d",year,month,day);//将原数据库表格的第i行的相应列列的
m_Clist.SetItemText(i,3,str1);内容插到List Control控件的i行各列中;
m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,s);配的行。并以该条件打开数据表。
m_pSet->Requery();
m_Clist.DeleteAllItems();//将List Control控件现有的数据项目全部删除。
Disp();//调用Disp()函数将原数据库表中的内容重新显示。
m_cc1.GetLBText(n,s1);//获取当前选中项的值并赋给变量s1;
m_vc1=s1;//并将该变量赋给组合框的变量。
UpdateData(0);
s="select * from student where 系='"+m_vc1+"'";
3.点击修改按钮即可进入修改对话框如下:可以对已有的相关数据进行修改点击确定按钮之后即可改变原数据表中数据行,刷新即可在List Control控件中显示。
三.系统实现
1.运行界面图及各模块主要代码:
a. 刷新功能的实现:
void CKeView::Onshuaxin()
{
if(m_pSet->IsOpen())
Disp();
}
(4)按所在系查询:
在按所在系查询组框的查询按钮中写如以下代码:
void CKeView::Onchaxun2()
{
//UpdateData(1);
if(m_pSet->IsOpen())
m_pSet->Close();
CString s,s1;
int n=m_cc1.GetCurSel();//n为当前选中项的下标;
void CKeView::OnRadio6()
{
GetDlgItem(IDC_BUTTON10)->EnableWindow(FALSE);//获取对应按钮的ID并设定相应按钮的
GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE); EnableWindow属性FALSE为不可用TRUE为GetDlgItem(IDC_BUTTON6)->EnableWindow(TRUE);可用;
m_pSet2.Open();//在进行打开
m_pSet2.AddNew();//为原数据添加新的一行
m_pSet2.m_column1=m_xingming;
m_pSet2.m_column2=m_xuehao;
m_pSet2.m_column3=m_xb;
m_pSet2.m_column4=m_time;
{递给数据表中对应行中的各列
m_pSet->Edit();
UpdateData(1);
m_pSet->m_column1=obj.m_xh;
m_pSet->m_column2=obj.m_xm;
m_pSet->m_column3=obj.m_vc1;
m_pSet->m_column4=obj.m_vrq;
Disp();//调用Disp()函数将原数据库表中的内容重新显示。
}
void CKeView::Disp()
{
int i=0;
CString str,str1;
while(!m_pSet->IsEOF())//m_pSetCSet类的指针用于指向原数据库表格内容。m_column1,m_column2,m_column3,m_column4,m_column5分别对应原数据库表格的学号,姓名,性别,出生日期,系所在列。
if(m_pSet->IsOpen())
m_pSet->Close();/如果此时数据库表打开则进行关闭
str=m_Clist.GetItemText(n,0);//取出第n行的第0列的字段即学号列
相关文档
最新文档