学生籍贯信息管理系统C 实验报告

合集下载

学籍管理系统实验报告(C#语言)

学籍管理系统实验报告(C#语言)
usingSystem;
usingSystem.Data.SqlClient;
usingSystem.Collections.Generic;
ponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
2、实验现象、数据及结果
(1).打开sql2005,新建数据库a,新建一个表“学籍”。
(2).新建一个Windows应用程序,建立表
(3).给各个表添加相应代码如下:
usingSystem;
usingSystem.Collections.Generic;
ponentModel;
DataSetthisDataSet =newDataSet();
thisAdapter.Fill(thisDataSet,"学籍");
DataColumn[] keys =newDataColumn[1];
keys[0] = thisDataSet.Tables["学籍"].Columns["StuNo"];
MessageBox.Show("please complete the information");
else
{
SqlConnectionthisConnection =newSqlConnection(@"Server=00b758efb68a400;Integrated Security=sspi;"+"Database=a");
thisDataSet.Tables["学籍"].PrimaryKey = keys;

c++实现学籍信息管理系统实训报告材料

c++实现学籍信息管理系统实训报告材料

实训任务书一、题目1、电话簿管理系统2、商品销售管理系统3、基于内存的学籍管理系统(以windows系统实现为主,尝试Linux平台下的程序实现)二、实训的性质和任务1、巩固和强化学生的程序设计基本知识和基本技能,尤其是C语言的基本数据类型、构造类型、函数、指针、文件等等方面的基本知识和技能。

2、培养和训练学生综合利用所学基本知识和基本技能进行小型应用程序开发的技能。

3、培养学生适应岗位需要,独立分析问题、解决问题的基本能力,以及团队合作精神。

三、实训的基本要求通过本次实训,学生应达到以下几个方面的要求:1、素质要求以积极认真的态度对待本次实训,遵章守纪,团队协作。

善于发现问题,分析问题,解决问题,努力培养自己的独立工作能力。

2、知识要求熟练账务C语言的集成开发环境的使用,以及C语言的数据类型、语法、基本结构等。

熟练掌握C语句的功能、用法以及函数的调用使用和头文件的使用等。

3、能力要求学生应具有一定的项目分析能力、任务分解能力、组织实施能力以及理论练习实际应用的能力。

学生应具有一定的查阅教材、各类相关资料及工具书的能力,进而养成自我学习的习惯。

通过本次实训使学生基本能够把握C语言的精髓,并能够熟练使用C语言编写简单的程序和通过实际的分析、理论练习实际能够编制出现实生活或模拟现实生活中简单的、常见的系统。

四、实训内容及要求五、考核指标及成绩评定实训成绩由下面构成:平时成绩(10%)+作品(70%)+实训报告(20%)=总评成绩作品成绩评定标准:1、全部完成90-1002、主要功能完成70-903、部分功能完成60-704、少部分完成40-605、几乎没做0-40完成期限:年月日指导教师签章:专业负责人签章:教学院长签章年月日目录1 实训简介1.1 实训任务1.2 题目介绍1.3 主要内容1.4 基本要求2 整体设计流程2.1 整体设计思路2.2 设计流程2.3 包含的模块3 详细设计以及设计的实现3.1.录入信息模块的设计与实现3.2.输出信息的设计与实现3.3.修改信息模块的设计与实现3.4.插入信息的设计与实现3.5 查询信息的设计与实现3.6 排序信息的设计与实现3.7 删除信息的设计与实现4 总结5 参考文献6 附录(源代码)正文1实训简介1.1实训任务对程序设计的基本知识与基本技能有进一步的掌握,能用基本的语言以自己的逻辑实现自定义的功能来进行小型应用程序开发。

c语言学籍管理系统实训报告

c语言学籍管理系统实训报告

目录1 实训目的 ........................................................................................... - 1 -2系统简介 ............................................................................................ - 1 -3 系统的需求分析 ............................................................................... - 1 -4 系统的概要设计 ............................................................................... - 2 -4.1系统功能结构图 (2)4.2数据结构设计 (2)4.3函数设计 (3)5 详细设计 ........................................................................................... - 5 -6 实现代码 ........................................................................................... - 9 -7程序测试 .......................................................................................... - 15 -8 个人总结 ......................................................................................... - 17 -1 实训目的(1)进一步掌握和利用C语言进行程设计的能力。

学生籍贯信息管理系统c++实验报告

学生籍贯信息管理系统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<<"错误~~~~。

(完整word版)C学籍管理系统实验报告

(完整word版)C学籍管理系统实验报告

山东理工大学计算机学院课程设计(数据库设计实践)班级姓名学号指导教师二○一年月日课程设计任务书及成绩评定课题名称学生学籍管理系统Ⅰ、题目的目的和要求通过数据库设计实践的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力,具体掌握的基本能力有以下几方面:1、学习和巩固《数据库系统原理》的基本知识。

2、关系数据库管理系统的基本使用方法。

3、熟悉SQL语言的主要功能及SQL语句的使用操作。

4、熟悉数据库管理系统的设计过程,培养解决实际问题的能力。

5、小型数据库应用系统的设计方法。

要求独立完成该课题设计.Ⅱ、设计进度及完成情况Ⅲ、主要参考文献及资料[1]王珊,萨师煊主编。

数据库系统概论(第四版).北京:高等教育出版社,2006。

5[2]蒋文沛主编。

SQL Server 2005实用教程 .人民邮电出版社,2009.6 [3]罗福强,杨剑,张敏辉主编。

C#程序设计经典教程 .清华大学出版社,2011。

10学科部主任___________Ⅳ、成绩评定设计成绩:指导老师:二○一三年十二月六日(完整word版)C学籍管理系统实验报告目录第一章系统概述 (1)第二章系统分析 (2)第三章功能分析 (4)第四章系统实现 (6)第五章调试过程中的问题及系统测试情况 (14)第六章结束语 (17)第一章概述1。

前言学校大多要管理成千上万学生的信息,但仍有很多学校然传统的管理模式……使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:出错可能性小、处理效率高、易于管理等等.本系统为学生学籍管理系统,是一个的信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面.……经过分析,使用了VS2010开发工具,利用其提供的各种面向对象的开发工具,在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统.2.可行性研究①目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。

C语言课程设计实验报告学生信息管理系统

C语言课程设计实验报告学生信息管理系统

C语言课程设计实验报告学生信息管理系统语言程序设计实验报告C报告人:孟凡超指导老师:姜林报告日期:XX年x月x日C语言程序设计实验报告C语言课程设计实验报告1设计目的:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-等试设计一学生信息管理系统,使之能提供以下功能: 1 系统以菜单方式工作 2 学生信息录入功能---输入 3 学生信息浏览功能---输出 4 查询、排序功能---算法按学号查询按姓名查询5 学生信息的删除与修改2总体设计:程序设计组成框图学生信息录入学生信息浏览主菜单学分查询信息编辑信息添加信息删除信息查询信息添加姓名查询信息编辑信息删除2C语言程序设计实验报告流程图开始清屏n=1判断n>0?NYpr输入选择chch1调用2 调用3 调用 pr24N=0结束3C语言程序设计实验报告3详细设计:1>函数入口说明 pr 输出主菜单pr2 输出检索菜单界面文件操作:打开文件操作:保存( n) 编辑子菜单:对姓名编辑 ( n) 编辑子菜单:对年龄编辑 ( n) 编辑子菜单:对性别编辑 ( n) 编辑子菜单:对出生年月编辑 ( n) 编辑子菜单:对住址编辑 ( n) 编辑子菜单:对电话进行编辑( n) 编辑子菜单:对电子邮件地址编辑 ( n) 显示翻页致末尾的信息 ( n) 信息编辑函数 ( n) 删除信息的函数 ( n) 输出编辑界面检索:按学号检索:按姓名录入、添加信息学生信息查看主函数 2>调用关系( n) ( n)pr( n)pr2( n)( n)( n)( n) (同上)( n)( n) ( n) ( n) ( n) ( n)3>参数说明( n)、( n)、( n) 、( n) 、( n) 、( n)、( n)、( n)、( n)、( n)、( n) 函数中的n都为检索中确定的学生数组下标4C语言程序设计实验报告4调试与测试:1>调用pr2函数一闪而过解决方法:添加语句使程序暂停2>无法有效的控制输出函数循环终止解决方法:添加全局变量“”使用该全局变量来记录学生总数,从而控制输出循环的次数3>查询函数数据量过多时同时输出,先输出的内容无法查看,或需用户自行查看解决方法:添加语句使程序暂停,当用户按时继续4>文件在打开和保存时有问题解决方法:调整文件的打开方式,从原来的单纯的w+修改为添加一个语句,当没有文件时执行w+的操作,否则执行r+避免了原存储文件被覆盖的问题5C语言程序设计实验报告5源程序清单和执行结果:#<> #<> #<> #<> =0; { id; [30]; ; [2]; [9]; [80]; [15];[25]; }[];pr { (""); ("******学生信息管理系统******"); ("\n----------V ----------"); ("\n您想要:"); ("\n 1录入学生信息"); ("\n 2浏览学生信息"); ("\n 3检索学生信息"); ("\n 4退出信息管理"); ("\n----- 孟凡超-----"); ("\n****************************\n"); }pr2 { ; ; a; ch; (a) { (""); ("******学生信息管理系统******"); ("\n----------检索----------"); ("\n您想要:"); ("\n 1按学号检索"); ("\n 2按姓名检索"); ("\n 3返回主菜单"); ("\n\n----- 孟凡超-----"); ("\n****************************\n"); ch=; (ch) { '1':;; '2':;; '3':a=0;; } } }{ *fp; n; ((fp=("""r+"))==) fp=("""w+"); (n=0;n<;n++) (&[n]( )1fp);(&41fp);(fp); }{ n; *fp; fp=("""r+");6C语言程序设计实验报告(n=0;n<;n++) (&[n]( )1fp); (&41fp); (fp); }( n) { ("\n新姓名:"); ("%s"[n]); }( n) { ("\n新年龄:"); ("%d"&[n]); }( n) { ("\n新性别:"); ("%s"[n]); }( n) { ("\n新出生年月"); ("%s"[n]); }( n) { ("\n新地址:"); ("%s"[n]); }( n) { ("\n新电话:"); ("%s"[n]); }( n) { ("\n新E-:"); ("%s"[n]); }( n) { (n==) (""); //清屏 ("******学生信息管理系统******"); ("\n----------检索----------"); ("\n已检索到末尾"); ("\ "); ("\n\n----- 孟凡超-----"); ("\n****************************\n"); }( n) { ch; a=1b; (a) { (""); ("******学生信息管理系统******"); ("\n----------修改----------"); ("\n请输入你想修改的内容:"); ("\n1姓名 2年龄 3性别 4出生年月 5地址 6电话 \n"); ("\n\n----- 孟凡超-----"); ("\n****************************\n"); ; ch=; (ch) {7C语言程序设计实验报告'1':(n);; '2':(n);; '3':(n);; '4':(n);; '5':(n);; '6':(n);; '7':(n);; } b=1; (b) { ("\n确认吗?(y/n)"); ; ch=; (ch) { 'Y': 'y':b=0;a=0;; 'N': 'n':b=0;; } } } }( n) { a; (a=n;a<;a++) { ([a][a+1]); [a]=[a+1]; ([a][a+1]); ([a][a+1]); ([a][a+1]); ([a][a+1]); ([a][a+1]); } --; ("删除成功!"); }( n) { a=1; ch; (a) { ; ("\n您想要:"); ("\n\n1修改学生信息"); ("\n2删除该条信息"); ("\n3返回上级菜单"); ("\n4查看下条信息"); ch=; (ch) { '1':(n)a=0;; '2':(n)a=0;; '3':a=0;(0);; '4':a=0;; } } }{ nij=0; (""); ("******学生信息管理系统******"); ("\n----------检索----------"); ("\n请输入想要检索的学号:"); ("%d"&n); (n<=) { n=n--; //拷贝后一个学生信息到前一个人上8C语言程序设计实验报告("学号姓名年龄性别出生年月\n"); ("%4d "[n]id); ("%12s "[n]); ("%4d "[n]); ("%4s "[n]); ("%8s \n"[n]); ("\n\n\n学号电话E- 地址\n"); ("%4d "[n]id); ("%15s "[n]); ("%15s "[n]); ("%s\n" [n]); j=(n); i++; } (i==0) { ("\:无此学生"); ("\n----- 孟凡超-----"); ("\n****************************\n"); } { (j==0) ; { (""); (n); ; } }:; }{ nji=0; m[30]; (""); ("******学生信息管理系统******"); ("\n----------检索----------"); ("\n请输入想要检索的姓名:"); ("%s"m); (n=0;n<;n++) { ((m[n])==0) { (""); ("学号姓名年龄性别出生年月\n"); ("%4d "[n]id); ("%8s "[n]); ("%4d "[n]); ("%4s "[n]); ("%8s \n"[n]); ("\n\n\n学号电话 E- 地址\n"); ("%4d "[n]id); ("%15s "[n]); ("%15s "[n]); ("%s\n" [n]); i++; ((j=(n))==0) ; } } (i==0) ("\:无此学生"); (j!=0) (n); ; ; }{ an=1m;9C语言程序设计实验报告ch; (n) { a=; (""); ("ID:"); [a]id=(a+1); ("%d"[a]id); ("\:"); ("%s"&[a]); ("\:"); ("%d"&[a]); ("\:"); ("%s"&[a]); ("\( ):"); ("%s"&[a]); ("\:"); ("%s"&[a]); ("\:"); ("%s"&[a]); ("\nE-:"); ("%s"&[a]); m=1; (m) //做一个循环,直到m=0时跳出{ (""); ("ID:"); ("%d"[a]id); ("\:"); ("%s"[a]); ("\:"); ("%d"[a]); ("\:"); ("%s"&[a]); ("\:"); ("%s"[a]); ("\:"); ("%s"[a]); ("\:"); ("%s"[a]); ("\nE-"); ("%s"[a]); ("\n请选择:1确认并继续 2重新填写 3放弃并返回 4确认并返回"); ch=; (ch) { '1':m=0;++;; '2':m=0;; '3':m=0n=0;; //选择此项时,m=0,循环终止 '4':m=0n=0;a=++;; } } } }{ =1in=1=1=/5+1; //设定变量控制翻页 ch; (n) { (""); ("学号姓名年龄性别出生年月\n"); (i=-1;i<+4&&i<;i++) { ("%4d "[i]id); ("%12s "[i]); ("%4d "[i]); ("%4s "[i]); ("%8s\n"[i]); } ("\n\n\n学号电话 E- 地址\n"); (i=-1;i<+4&&i<;i++)10C语言程序设计实验报告{ ("%4d "[i]id); ("%15s "[i]); ("%15s "[i]); ("%s\n" [i]); } ("\n1上一页 2下一页 0退出共学生%d人第%d页共%d页\n"); ch=; (ch) { '1':--; (==0) =(-1)*5+1=; =(-1)*5+1;; '2':++; (>) =1=1; =(-1)*5+1;; '0':n=0;; } } }。

学生学籍管理系统c++课程设计报告书

学生学籍管理系统c++课程设计报告书

《学生学籍管理系统》程序设计基础课程设计报告专业:班级:学号:姓名:指导教师:二OO八年六月二十六日C++课程设计——学籍管理系统实验报告1、对C++设计的《学生学籍管理系统》总体说明我这次做的课程设计是《学生学籍管理系统》,本程序采用C++程序语言编写,运用了基于对象和面向对象的程序设计。

它主要是完成对学生的基本信息和成绩进行录入、查询和删除功能。

实施起来简单快捷,虽然程序简单,但可以作为老师的辅助软件对学生的基本信息和各科成绩进行管理。

2、总体设计本程序的流程图如下:3、对《学生学籍管理系统》的介绍(1)具体功能:a)数据录入功能:对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算(2)查询功能:分为学生基本情况查询和成绩查询两种:A:学生基本情况查询:A1----输入一个学号或(可实现选择),查出此生的基本信息并显示输出。

A2---输入一个宿舍,可查询出本室所有的学生的基本信息并显示输出。

B:成绩查询:B1:输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx………………………共修:xx科,实得总学分为: xxxb)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。

c)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。

(2)源程序说明:源程序清单及注释如下:#include<iostream>#include<fstream>#include<iomanip>using namespace std;class Basic{public:virtual int input(ifstream &its)=0;virtual void input()=0;virtual void display(ofstream &its)=0;virtual void display()=0;virtual void display_1(){}friend class College;protected://把这些数放在这,方便调用Basic *next;//指针int number;//学号char name[40];//int dom_number;//宿舍号double mark; //综合成绩int credit; //实得学分};class Student:virtual public Basic{public:int input(ifstream &its)//输入流{its>>number;if(number==-1)return 0;else{its>>name>>sex>>dom_number>>phone_number;return 1;}}void input()//输入{cout<<"学号:";cin>>number;cout<<" :";cin>>name;cout<<"性别:";cin>>sex;cout<<"宿舍:";cin>>dom_number;cout<<":";cin>>phone_number;}void display(ofstream &its)//输出流{its<<number<<" "<<name<<" "<<sex<<" "<<dom_number<<" "<<phone_number<<endl;}void display()//输出{cout<<number<<setw(10)<<name<<setw(6)<<sex<<setw(10)<<dom_number<<setw(13)< <phone_number<<endl;}private:char sex[5];//性别char phone_number[20];//};class Course:virtual public Basic{public:int input(ifstream &its)//输入流函数{its>>number;if(number==-1)return 0;else{its>>chass_number>>chass_name>>chass_mark>>peacetime_mark>>experiment_mark>>txt_mark;account();return 1;}}void input()//输入函数{cout<<"学号=";cin>>number;cout<<"课程编号=";cin>>chass_number;cout<<"课程名称=";cin>>chass_name;cout<<"学分=";cin>>chass_mark;cout<<"平时成绩=";cin>>peacetime_mark;cout<<"实验成绩=";cin>>experiment_mark;cout<<"卷面成绩=";cin>>txt_mark;account();}void account()//计算综合成绩和实得学分{int i;if(experiment_mark==-1)mark=peacetime_mark*0.15+experiment_mark*0.15+txt_mark*0.7;else mark=peacetime_mark=peacetime_mark*0.3+txt_mark*0.7;i=mark/10;switch(i){case 10: credit=chass_mark;break;case 9: credit=chass_mark;break;case 8: credit=chass_mark*0.8;break;case 7: credit=chass_mark*0.7;break;case 6: credit=chass_mark*0.6;break;default:credit=0;break;}}void display(ofstream &its)//输出流函数{its<<number<<" "<<chass_number<<" "<<chass_name<<" "<<chass_mark<<" "<<peacetime_mark<<" "<<experiment_mark<<" "<<txt_mark<<endl;}void display()//输出函数{cout<<number<<setw(10)<<chass_number<<setw(11)<<chass_name<<setw(5)<<chass_ mark<<setw(7)<<peacetime_mark<<setw(10)<<experiment_mark<<setw(10)<<txt_mark<<setw(10)<<ma rk<<setw(10)<<credit<<endl;}void display_1(){cout<<"课程编号:"<<chass_number<<" "<<"课程名称:"<<chass_name <<" "<<"综合成绩:"<<mark<<" "<<"实得学分:"<<credit<<endl;}private:char chass_number[30];//课程编号char chass_name[30];//课程名称int chass_mark; //学分int peacetime_mark;//平时成绩int experiment_mark;//实验成绩int txt_mark; //卷面成绩};class College//链表类{public:College(int i)//构造函数建立初链,i=0建立Student链表,i=1建立Course 链表{ji=0;Basic *p;int t;PL=i;if(PL==0)//根据PL,打开相应的文件{f.open("A.txt",ios::in);head=new Student;p=new Student;}else{f.open("B.txt",ios::in);head=new Course;p=new Course;}if(!f)//判断f是否打开文件{cout<<"错误"<<endl;abort();}t=head->input(f);head->next=p;p->next=NULL;for(;;)//读入文件数据,并将数据插入链表中{if(i==0)p=new Student;else p=new Course;t=p->input(f);if(t==0)break;head=Build(p);}f.close();//关闭文件}~College(){save();}Basic *Build(Basic *p)//插入函数,将p有序的插入链表中{Basic *p1=head,*p2=head;int i;for(i=0;p1->next!=NULL;i++){if(i==0&&p->number<p1->number)//处理头链{p->next=p1;head=p;ji++;break;}else if(p->number<p1->number)//处理中间{p2->next=p;p->next=p1;ji++;break;}else if(i==ji)//处理尾{p2=p1;p1=p1->next;p2->next=p;p->next=p1;ji++;break;}p2=p1;p1=p1->next;}return head;}void display()//输出链表信息{Basic *a=head;for(;a->next!=NULL;a=a->next)a->display();}void find_number()//查找学号(student) {int i;Basic *h=head;cout<<"请输入你想找的学号:";cin>>i;for(;h->next!=NULL;h=h->next){if(h->number==i){h->display();break;}}}void find_name()//查找(student){char i[40];Basic *h=head;cout<<"请输入你想找的:";cin>>i;for(;h->next!=NULL;h=h->next){if(strcmp(h->name,i)==0){h->display();break;}}}void find_dom_number()//查找宿舍(student){int i;Basic *h=head;cout<<"请输入你想找的宿舍:";cin>>i;for(;h->next!=NULL;h=h->next)if(h->dom_number==i)h->display();}Basic *get_head(){return head;}void find(Basic *a)//输入一个学号时,查询出此生的所有课程情况(Course) {int i;Basic *h=head;cout<<"请输入你想查的学号:";cin>>i;for(;a->next!=NULL;a=a->next){if(a->number==i){cout<<"学号:"<<i<<" ";cout<<"姓名:"<<a->name<<endl;break;}}for(;h->next!=NULL;h=h->next)if(h->number==i)h->display_1();}void Delete(int j)//删除,j表示学号{Basic *p1=head,*p2=head;int i=0;for(;p1->next!=NULL;){if(i==0&&p1->number==j)//处理头{head=p1->next;i=-1;//保证下次还可以删除头链}else if(p1->number==j)//处理尾{p2->next=p1->next;}p2=p1;p1=p1->next;i++;}}void delete_student(College &b)//当在 A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息(student){int i;cout<<"请输入你想删除的学生的学号:";cin>>i;Delete(i);b.Delete(i);}void taxis_mark()//综合成绩排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark>m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->mark<m[k]->mark){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按综合成绩降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void taxis_credit()//学分排序(Course){Basic *a=head;Basic *m[90],*t;int i,j,k,b;cout<<"升序-1 降序-2"<<endl;cin>>b;if(b==1)//升序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit>m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分升序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}else if(b==2)//降序{for(i=0;a->next!=NULL;i++){m[i]=a;a=a->next;}for(j=0;j<i;j++)for(k=j;k<i;k++){if(m[j]->credit<m[k]->credit){t=m[j];m[j]=m[k];m[k]=t;}}cout<<"按学分降序排序为"<<endl;for(j=0;j<i;j++)m[j]->display();}}void save() //保存函数{Basic *h=head;int i=-1;if(PL==0)s.open("A.txt",ios::out);else if(PL==1)s.open("B.txt",ios::out);for(;h->next!=NULL;h=h->next)h->display(s);s<<i<<endl;s.close();}private:ifstream f;ofstream s;Basic *head;//链表的头指针int ji;//计算插入的数int PL;//判断建立怎样的链表};int main(){int i,k[10];Course *c;College a(0),b(1);cout<<" ************************* 欢迎进入!**********************"<<endl;cout<<" *************************学籍管理系统**********************"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** ********"<<endl;to:cout<<" ******** <1> 录入 <2> 查询 <3> 删除********"<<endl;cout<<" ******** ********"<<endl;cout<<" ******** <4> 排序 <5> 全部输出 <其他> 结束********"<<endl;cout<<" ******** ********"<<endl;cout<<"****************"<<endl;cout<<"***********************************************************"<<endl;cin>>i;if(i==1){c=new Course;c->input();b.Build(c);goto to;}else if(i==2){cout<<"1-学生基本情况查询 2-成绩查询"<<endl;cin>>k[0];if(k[0]==1){cout<<"1-学号查询 2-查询 3-宿舍查询"<<endl;cin>>k[1];if(k[1]==1)a.find_number();else if(k[1]==2)a.find_name();else if(k[1]==3)a.find_dom_number();goto to;}else if(k[0]==2)b.find(a.get_head());goto to;}else if(i==3){a.delete_student(b);goto to;}else if(i==4){cout<<"1-综合成绩排序 2-实得学分排序"<<endl;cin>>k[2];if(k[2]==2)b.taxis_credit();else if(k[2]==1)b.taxis_mark();goto to;}else if(i==5){cout<<"学号性别宿舍 "<<endl;a.display();cout<<endl;cout<<"学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分"<<endl;b.display();goto to;}return 0;}4、遇到问题及解决方案本程序是运用类编写但与平时作业不同的是难度较大,涉及容较广。

c语言学生信息管理系统实验报告

c语言学生信息管理系统实验报告

C语言学生信息管理系统实验报告C语言课程设计学生信息管理系统姓名洪伟生院系计算机学院日期年 7 月 5 日目录第一章设计要求………………………………………………第二章算法分析1.理论依据…………………………………………………2.主要实现方法……………………………………………2.1整体流程图………………………………………2.2函数功能和函数之间的调用关系………………第三章代码(源代码)………………………………………第四章分析说明………………………………………………第五章总结……………………………………………………第一章、设计要求1、利用所学的知识、理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;2、经过C语言各个函数功能来实现对学生信息的管理,学生信息包括学生姓名,学号,各科成绩;管理方式包括对学生信息的录入,保存,排序,查找、修改、删除等功能。

第二章、算法分析1、程序理论依据经过C语言的程序设计基础的掌握,对学生成绩管理系统进行编写程序。

首先,经过链表这一数据结构来对学生的信息进行录入以及操作,在其过程中,经过各个功能语句以及选择结构,循环结构等方式的结合来达到所要实现的程序功能。

最后经过对C 语言中对文件的操作,对已有学生成绩的读取和新建学生成绩的录入保存。

2、主要实现方法2.1整体流程图2.2、函数功能和函数之间的调用关系2.2.1、函数功能:void Menu_1(); //主菜单void Menu_2(); //二级菜单学生信进退出学生信学生信学生信学生信学生信学生信返回主void swap(struct student * phead,struct student * pback);// 链表节点互换void Save(struct student * head); // 写入磁盘void Search(struct student * head); // 查找学生信息void Read(struct student * head); // 显示学生信息void Sort(struct student * head); // 链表节点排序struct student * Create(); //学生信息手动录入struct student * Readpoint(); //磁盘文件写入内存struct student * Modify(struct student * head); // 链表结构体成员修改struct student * Add(struct student * head); // 链表节点插入struct student * Delete(struct student * head); // 链表节点删除。

北华大学C++实习报告(学生学籍管理系统)

北华大学C++实习报告(学生学籍管理系统)

北华大学C++实习报告——学生学籍管理系统姓名:曹均富班级:电子15-1学号:201516050121院系:电气信息工程学院指导教师:高玉峰实习日期:12.12~12.16目录一、实习目的和任务 (3)二、软件介绍 (3)三、实习题目 (4)四、系统分析 (5)五、系统实现 (10)六、结论 (17)七、心得与体会 (17)八、参考文献 (18)九、老师评语 (19)一、实习目的和任务1. 【摘要】学籍管理系统设计涉及学生信息的录入,显示,查找,删除,修改,统计,保存,退出等功能,从而能够对信息进行处理。

程序中运用了相关类的知识,同时定义了一定数量的数据及成员函数。

程序使用了数组记录统计的相关数据,运用了指针实现相应功能函数的功能,运用了student ,school两个类实现面向对象的要求。

程序的完成涉及到程序的分析,模块的分解,程序的控制,程序的调试。

2.【关键词】学籍管理 vc++6.0 面向对象程序控制类二、软件介绍1.软件简介Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft 公司推出的以C++语言为基础的开发Windows环境程序,面向对象的可视化集成编程系统。

它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过的设置就可使其生成的程序框架支持数据库接口、OLE2.0,WinSock网络。

[1]Microsoft Visual C++ 6.0,简称VC6.0,是微软于1998年推出的一款C++编译器,集成了MFC 6.0,包含标准版(Standard Edition)、专业版(Professional Edition)与企业版(Enterprise Edition)[2]。

发行至今一直被广泛地用于大大小小的项目开发。

(但是,这个版本在Windows XP下运行会出现问题,尤其是在调试模式的情况下(例如:静态变量的值并不会显示)。

C语言学生信息管理系统实验报告

C语言学生信息管理系统实验报告

C语言学生信息管理系统实验报告 -C语言学生信息管理系统实验报告一、实验目的本次实验旨在通过C语言编程实现一个简单的学生信息管理系统,以帮助学生更好地理解和掌握C语言的基本语法、数据类型、程序控制结构以及文件操作等知识点。

同时,通过实际操作,提高学生的编程能力和问题解决能力。

二、实验内容1、系统的基本功能:实现学生信息的输入、存储、查询、修改和删除等操作。

2、数据存储方式:使用文件存储学生信息,保证数据的持久性。

3、用户界面:实现一个简单的命令行界面,方便用户进行操作。

三、实验步骤及实现1、打开一个新文件,命名为“student_info.txt”,用于存储学生信息。

2、定义一个结构体,包含学生的基本信息,如学号、姓名、年龄、性别等。

3、编写程序,实现学生信息的输入、存储和输出。

4、编写程序,实现学生信息的查询、修改和删除操作。

5、在命令行界面中,使用scanf函数获取用户输入的指令,并根据指令执行相应的操作。

6、在操作结束后,将结果显示在命令行界面上。

四、实验结果与分析1、学生信息管理系统的基本功能已经实现,可以正常进行学生信息的输入、存储、查询、修改和删除等操作。

2、使用了文件操作函数,可以将学生信息持久化存储,避免了每次运行程序都需要重新输入信息的麻烦。

3、通过实际操作,学生对C语言的基本语法、数据类型、程序控制结构以及文件操作等知识点有了更深入的理解和掌握。

五、实验总结与建议1、在实现学生信息管理系统时,需要注意数据的正确性和完整性,尤其是输入数据时需要做好错误处理。

2、在实现系统功能时,可以进一步优化代码,提高程序的效率和可读性。

3、可以增加更多的功能,如统计学生人数、打印学生信息等,以使系统更加完善。

4、在实际应用中,需要考虑系统的安全性和稳定性,如数据的备份和恢复、系统的异常处理等。

通过本次实验,学生对C语言有了更深入的理解和掌握,同时提高了编程能力和问题解决能力。

建议在今后的实验中,注重理论与实践相结合,提高学生的实际应用能力。

C语言学生管理系统综合实验报告

C语言学生管理系统综合实验报告

C语言学生管理系统综合实验报告##一、实验目的本实验旨在设计和实现一个简单的学生管理系统,使用C语言编写,帮助学生了解C语言常用的数据结构和文件操作,并能够实际应用在实际的学生管理中。

##二、实验内容本实验要求设计一个学生管理系统,能够完成以下功能:1.添加学生信息:包括学号、姓名、性别、年龄等基本信息;2.修改学生信息:根据学号修改学生的基本信息;3.删除学生信息:根据学号删除学生的信息;4.查询学生信息:根据学号或姓名查询学生的信息;5.显示全部学生信息:将所有学生的信息显示出来;6.保存学生信息到文件:将学生的信息保存到文件中;7.从文件读取学生信息:从文件中读取学生的信息。

##三、实验设计###数据结构设计在设计学生管理系统时,我们需要选择合适的数据结构来存储学生的信息。

本实验中,我们选择使用结构体来表示学生的信息,代码如下:```cstruct Studentint id; // 学号char name[20]; // 姓名char gender[5]; // 性别int age; // 年龄};```###功能实现根据实验要求,我们需要实现添加、修改、删除、查询、显示和文件操作等功能。

以下是具体实现的思路:1.添加学生信息:从用户输入获取学生的信息,并将其添加到学生数组中;2.修改学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并更新其基本信息;3.删除学生信息:根据用户输入的学号,在学生数组中找到对应的学生信息,并将其删除;4.查询学生信息:根据用户输入的学号或姓名,在学生数组中找到对应的学生信息,并将其显示出来;5.显示全部学生信息:遍历学生数组,将所有学生的信息显示出来;6.保存学生信息到文件:将学生数组中的所有学生信息保存到文件中;7.从文件读取学生信息:从文件中读取学生信息,并将其存储到学生数组中。

##四、实验结果经过实验的设计与实现,我们成功完成了学生管理系统的编写,并进行了测试。

C语言学生信息管理系统设计实验报告

C语言学生信息管理系统设计实验报告
6
通过本次实验对 C 语言有了初步了解,但如果想要进一步了解,还应加强练习, 组员之间的配合在设计过程中是很重要的。 参考资料:C 程序设计 C 语言程序基础
7
Main 函数

















退

































7.各模块功能简介 信息浏览模块:用导入函数调入信息,用 for 循环依次输出学生信息。
3
信息的增添模块:先确定增添人数,用 for 循环输入指针数组数据,调用保存函 数进行保存。 信息的录入模块:确定人数,for 循环依次输入信息,调用保存函数保存。 信息的修改模块:用 if(strcmp(work[i].name,name)==0) 先找出要修改的学生信息,用 switch 确定修改那一项,输入修改的数据进行保 存。 信息的查询模块:用 if(strcmp(work[i].name,name)==0)查找学生姓名,用 if(num1==work[i].num)对学号查找。 退出:用 goto 语句指向固定行。 8.主要函数流程图 修改函数
录入学生个数
文件
work_list.txt
保存学生信息
2
函数
baicun()、type_in()、 保存 录入 删除 del()、change()、add 修改 查找 插入 ()、scan()search() 显示学生信息、查

学生籍贯信息记录簿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("欢迎您再次使用。

C程实验报告(学籍管理系统)

C程实验报告(学籍管理系统)

实验题目:使用 C 编程实现一个学籍管理系统1. 程序设计与分析1.1程序实现的功能主要用于学籍管理,实现对于多个学生信息(姓名、班级、学号、成绩)的输入、删除、查找、排序和输出,达到基本的学籍管理的功能。

同时,在学生数量过多或者在一定范围内的不正常的操作时,给出警告。

1.2采用的数据类型采用结构体“Result”来存储每个学生的信息,其中Id为字符型数组,班级(cla)为整型,姓名(nam)为字符型数组,三门功课的分数(s)为浮点型数组,总分(sum)为浮点型。

鉴于学生数和课程数在整个程序中是恒定的,为程序的可扩充性,将学生数和课程数设为符号常量.1.3核心算法存储:采用结构体,储存信息。

输入:设一个暂时的结构数组元素,再将其导入正式的结构数组中,使得程序方便修改,并且方便输出.删除:首先用string.h中的strcmp完成查找。

调用deleteRecord()函数,以完成对于信息的删除,即将后面是的信息覆盖代替选中的学生的信息,期间调用cpyRecord()函数完成覆盖。

查找:启用flag做标记,已达到若输入的信息难以匹配,警告。

用string.h中的strcmp 和strcpy完成查找,用printRecord()函数输出.排序:将比较与交换分开,用dicSort()函数完成比较,再调用exchange()函数完成交换,期间用选择法进行排序。

输出:再次调用printRecord()函数,输出所要值。

自定义函数的各项功能:void input(int x):根据输入的选择数字进行不同的调用void informationInput():将信息导入暂存结构体数组void put2result(struct Result tmp):将暂存数组导入正式数组void deleteInformation():进入删除的过程,完成比较void deleteRecord(int iRecord):完成需要改变位置的数组的循环void cpyRecord(int dst, int src):完成相应两个数组的覆盖void selectInformation():完成转换和比较void orderInformation():完成相应数组的循环int dicSort(int dst, int src):比较int exchange(int x, int y):交换void printRecord(int i):暂时输出void printInformation():最终输出2. 程序设计中存在的问题和解决思路2.1 出现的主要问题a。

c语言学生信息管理系统实训报告

c语言学生信息管理系统实训报告

c语言学生信息管理系统实训报告
C语言学生信息管理系统是以C语言为编程语言开发的数据管理系统,该系统基于数
据库技术,实现了人事档案管理、班级管理、成绩管理、考勤管理及学生信息管理等功能。

本次实训,我使用C语言编程,在Visual Studio2017环境下,实现了一种自定义的
学生信息管理系统。

该系统实现学生信息的查询、删除、添加及修改功能。

在项目的开发
过程中,我也使用了文件读取与保存、数据结构训练、数据处理等编程技术。

其中,采用
C语言处理文本文件,用链表结构组织数据,并实现增删改查等功能;使用链表结构处理学生信息,实现数据的添加、修改和删除等操作;使用文件读取及保存,在开发过程中
记录及复用学生信息,并按要求输出学生信息报表;使用数据结构进行数据处理,通过
数据的排序、查找等操作,实现提高学生管理的效率。

实训过程运用C语言基础知识和结构化编程思想,巩固了编写程序的知识和编程技术,让我更加深入地理解面向对象思想。

在实训过程中,我熟练掌握了if语句、while语句、switch语句等基础编程语句,加深了对编程概念的理解,同时也学会了在实际编程中如何把这些概念运用到编程中,从而熟练掌握C语言的编程技巧。

实训结束时,我认为自己在编程方面有了很大的进步,对C语言的编程也有了更深的
理解,同时自己也掌握了一套独立的编程思维,并能够利用面向对象思想,实现学生信息
管理系统客户端最新需求。

学生信息管理系统C语言报告

学生信息管理系统C语言报告

学生信息管理系统C语言报告简介学生信息管理系统是一种可以对学生信息进行管理的软件系统。

通过该系统,可以方便地添加、修改、查询和删除学生信息,提高学生信息管理的效率和准确性。

本报告将介绍学生信息管理系统的设计和实现过程,包括系统功能、技术选型和代码结构等方面。

通过该报告的阅读,读者可以了解到该系统的开发背景和主要功能,以及查看源代码和运行效果。

系统功能学生信息管理系统的主要功能如下:1. 添加学生信息:可以输入学生的姓名、年龄、性别、学号等基本信息,并保存到系统中。

2. 修改学生信息:可以根据学生的学号或姓名,修改学生的基本信息。

3. 查询学生信息:可以根据学生的学号、姓名、年龄、性别等条件,查询学生的基本信息。

4. 删除学生信息:可以根据学生的学号或姓名,将学生的基本信息从系统中删除。

技术选型为了实现学生信息管理系统的需求,我们选择使用C语言进行开发。

C语言是一种高效、可靠的编程语言,有着丰富的开发资源和庞大的用户群体。

在开发过程中,我们采用了以下技术选型:- 编程语言:C语言C语言作为一种结构化的编程语言,具有强大的计算能力和灵活的控制语句,非常适合开发类似学生信息管理系统这样的小规模应用。

代码结构学生信息管理系统的代码结构如下:cinclude <stdio.h>struct Student {char name[50];int age;char gender[10];int student_id;};void add_student(struct Student *students, int *count) {添加学生信息的代码逻辑}void modify_student(struct Student *students, int count) {修改学生信息的代码逻辑}void query_student(struct Student *students, int count) {查询学生信息的代码逻辑}void delete_student(struct Student *students, int *count) {删除学生信息的代码逻辑}int main() {struct Student students[100];int count = 0;主程序逻辑,包括用户界面等}在代码结构中,我们定义了一个`Student`结构体,用于存储学生的基本信息。

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

{ 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()//函数重载 {
static NO; 变量 统计学生人数 NO
long 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 的值
C++课程设计报告
学生籍贯信息管理系统
班级: 学号: 姓名:
目录
一.程序设计思路及步骤 (一)程序设计步骤 (二)程序设计思路 二.流程图 三、完整源程序 四、运行界面 五、存在问题 六、心得体会
学生籍贯信息管理系统
一.程序设计思路及步骤 (一)程序设计思路
涉及一个学生籍贯信息系统,能够对高校的学生籍贯进行管理,包括了登记籍贯, 查询籍贯,以及籍贯信息管理系统等。 基本要求: 1.实现对学生姓名、学号的录入 2.实现对学生籍贯信息的录入 3.计算并查询学生所对应的籍贯 4.修改学生籍贯
if(S[m].GETIDNO()==n) {
cout<<" 请 修 改 "<<S[m].GETIDNO()<<" "<<S[m].GETNAME()<<"同学的信息"<<endl;
S[m].SETIDNO();S[m].SETNAME();S[m].SETJG(); } } cd(); }
};
void main() {
"<<a1.JiGuan<<" "; return out; };
int STUDENT::NO=0;//静态变量 NO 赋初值 class MENU :public STUDENT { public:
STUDENT S[100]; void cd()
{ int i; cout<<"--------------- 学 生 籍 贯 信 息 管 理 系 统
STUDENT::NO++; if(S[m].GETIDNO()==S[m-1].GETIDNO()) {
STUDENT::NO=STUDENT::NO-1; break; }
}
fin.close(); cout<<"导入成功"<<endl; cd(); }
void Cx()//查询函数 {
cout<<"目前注册了"<<STUDENT::NO<<"位学生"<<endl; long int n;int k; cout<<" 请 输 入 查 询 学 生 的 学 号:";cin>>n;cin.clear();cin.sync(); for(int m=0;m<STUDENT::NO;m++) {
MENU c1; c1.cd(); system("pause"); } 四、运行界面
五、存在问题
(一)水平有限,不能够完全的实现全部的功能。 (二)程序写的有点复杂。 (三)程序之间的衔接不是很好。
六、心得体会
这次课程设计中基本运用到了我们所学的所有知识点,这样不仅加深了对 C++的各个知识点有了更深的理解,而且从中我也感受到了编写这样的大程序给 我带来的无比的成就感,在这次课程设计中培养了我独立工作的能力,树立了对 自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大 大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜 悦。虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次课程设 计的最大收获和财富,使我终身受益。
cout<<"请输入学生姓名:"; cin>>Name;cin.clear();cin.sync(); } void SETIDNO()//函数重载 { long int id; cout<<"请输入学生证号码:";cin>>id;cin.clear();cin.sync(); if((id>=100000000)&&(id<=999999999)) {
if(S[m].GETIDNO()==n) {
k=1; S[m].SHow_s(); } } if(k!=1) { cout<<"查无此人"<<endl;
} cd();
} void Xg()//修改函数 {
long int n; cout<<" 请 输 入 修 改 学 生 的 学 号:";cin>>n;cin.clear();cin.sync(); for(int m=0;m<100;m++) {
(二)程序设计步骤。
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; using std::iostream; using std::ifstream; using std::ofstream; using std::ios; class STUDENT { private:
IDno=id; } else {
cout<<"您输入的学生证号码有误,请重新输入!"<<endl; SETIDNO(); } } }; ostream& operator<<(ostream& out,STUDENT& a1)// 运 算 符 << 重 载 { out<<a1.IDno<<"号"<<<<"学生"<<" "<<"籍贯
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++) {
"<<endl; cout<<"5. 退 出 学 生 管 理 系 统 "<<endl;
cout<<" "<<endl; cout<<"----------------------------------------------------"<<endl; cin>>i;cin.clear();cin.sync();
-----------------"<<endl; cout<<" "<<endl; cout<<"1. 录 入 学 生 信 息 "<<endl; cout<<"2. 读 取 学 生 信 息 "<<endl; cout<<"3. 查 询 学 生 信 息 "<<endl; cout<<"4. 修 改 学 生 信 息
S[n].LR(); ofstream fout("E:\\ 西 安 工 业 大 学 学 生 学 籍 表.txt",ios::app); if(!fout)
{ cout<<"错误!!程序结束"<<endl; exit(0);
相关文档
最新文档