C语言课程设计 学生籍贯信息记录簿设计_第1页
C语言课程设计 学生籍贯信息记录簿设计_第2页
C语言课程设计 学生籍贯信息记录簿设计_第3页
C语言课程设计 学生籍贯信息记录簿设计_第4页
C语言课程设计 学生籍贯信息记录簿设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言与程序设计课程设计学生籍贯信息记录簿设计学 院 信息工程 班 级 物联1301班 学 号 131408119 姓 名 滕玲 一设计目的该软件主要是编辑一个学生籍贯信息记录簿记录每个学生信息,包括:学号、姓名、籍贯。具体功能:1.创建信息链表并以磁盘文件保存;2.读取磁盘文件并显示输出所有学生的籍贯信息;3.按学号或姓名查询其籍贯;4.按籍贯查询并输出该籍贯的所有学生;5.能添加、删除和修改学生的籍贯信息;二总体设计1.设置输入输出流及将程序由磁盘文件保存,构件类stu,其主要包括:学号,姓名,籍贯;2.构建无返回值main函数,输出由与程序相关操作构成的信息链表;3.根据链表设置利用sw

2、itch函数和循环函数将链表中的内容一一实现;三详细设计1.学生基本信息的录入这部分的功能主要包括信息的录入,首先按程序提示输入学生的学号,姓名,籍贯等。在录入数据的同时,系统将对信息的合法性进行检验。若用户输入不合法的信息,则被系统要求重新输入;若合法性成立则录入完毕后系统将返回主页面。主页面还有显示学生的全部信息,并且这些信息都会写到你所指定的文本文件中。2.显示学生信息此功能是将原录入的学生信息读出,并在屏幕上显示出来,并且录入到你所指定的文本文件中。3.学生信息读取进入该项功能界面后,用户可以对学生的个人信息进行查看,并且录入到你所指定的文本文件中。4.按学号或姓名查找学生信息此项功能

3、可以根据用户输入的选择查处该学生的所有信息,并且录入到你所指定的文本文件中。5.删除和修改个人信息选择此项功能后,系统将会自动在屏幕上显示按学号录入原来同学的个人信息,输入后进行修改,并且录入到你所指定的文本文件中。6.退出系统,结束任务【注:main()主函数每一C 程序都必须有一main()函数, 可以根据自己的爱好把它放在程序某个地方。程序之前输入学生信息,main()申明主函数,输出相应的功能函数。 #include<>头文件iostream意为输入输出流,包含了对输入输出流进行操作所需的基本信息;string意为字符串,用于定义程序中的字符串;fstream用于用户管理的

4、文件的I/O操作。 using namespace 命名空间名using namespace一次只能声明一个命名空间成员,usingnamespace std声明了在本作用域中要用的命名空间std中的成员。 break语言break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。其作用为使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句。break语句只能用于循环语句和switch语句 内,不能单独使用或用于其他语句中。】四调试与测试在Visual C+6.0环境下输入代码并进行调试和正确运行五源程序清单和执行结果#include<iostr

5、eam>#include<string>#include<fstream>using namespace std;class CStudent private:int ID; /学号string Province; /籍贯string Name; /姓名 public:void setID(int id) ID=id;void setProvince(string province) Province=province;void setName(string name) Name=name; int getID() return ID;string getProv

6、ince() return Province;string getName() return Name;CStudent student1000;int n = 0; /数组学生总数string fileName="students.txt"int AddStudent(); /添加一个学生到数组int Loop(); /显示数组中所有学生int AddToFile(); /加数组学生到文件int SaveFile(); /数组到文件int ShowFile(); /显示文件所有学生int FindID(); /按学号查询学生int Findname(); /按姓名查询学生

7、int FindProvince(); /按籍贯查询学生int Delete (); /删除一个学生int ReadFile(); /文件输入数组int Remove (); /修改一个学生int Rediscovername(); /重新输入学生int ReadFile(); /文件输入数组void main()int k=-1;while(k!=0) cout<<endl; cout<<"1 添加一个学生到数组" <<endl; cout<<"2 显示数组中所有学生" <<endl; cou

8、t<<"3 加数组学生到文件" <<endl; cout<<"4 显示文件中所有学生" <<endl; cout<<"5 按学号查询学生" <<endl;cout<<"6 按籍贯查询学生" <<endl;cout<<"7 按姓名查询学生" <<endl;cout<<"8 删除一个学生" <<endl;cout<<"

9、;9 修改一个学生" <<endl; cout<<"10 文件输入数组" <<endl; cout<<"0 完成" <<endl; cout<<"选择上面一个数字:" cin>>k; if (k=1) AddStudent(); else if(k=2) Loop(); else if(k=3) AddToFile(); else if(k=4) ShowFile(); else if(k=5) FindID();else if(k=6) F

10、indProvince();else if(k=7) Delete();else if(k=8) Remove(); else if(k=9) ReadFile(); else if(k=0) printf("完成!n"); else printf("你输入了个错误的数字!n");return;int FindProvince() int id; string province1,province2; cout<<"籍贯:" cin>>province1; ifstream iFile(fileName.c_s

11、tr(); while(iFile>>id>>province2) if(province1=province2) cout<<id<<" "<<province2<<endl; iFile.close(); return 0;int FindID() int id1,id2; string province; cout<<"学号:" cin>>id1;ifstream iFile(fileName.c_str(); while(iFile>>id

12、2>>province) if(id1=id2) cout<<id2<<" "<<province<<endl; break; iFile.close(); return 0;int FindProvince() int name; string province1,province2;cout<<"籍贯:" cin>>province1;ifstream iFile(fileID.c_str(); while(iFile>>name>>provi

13、nce2) if(province1=province2) cout<<name<<" "<<province2<<endl; iFile.close(); return 0;int FindName() int name1,name2; string province; cout<<"姓名:" cin>>id1;ifstream iFile(fileID.c_str(); while(iFile>>name2>>province) if(name1=name

14、2) cout<<name2<<" "<<province<<endl; break; iFile.close(); return 0;int Remove() int id,i,j; cout<<"学号:" cin>>id; ReadFile(); for(i=0;i<n;i+) if(studenti.getID()=id) n-; for(j=i;j<n;j+) studentj=studentj+1; SaveFile(); return 0;int AddStu

15、dent() int id; string province; cout<<"学号,籍贯: " cin>>id>>province;studentn.setID(id); studentn.setProvince(province); n+; return 0;int AddToFile() ofstream oFile(fileName.c_str(),ios:app); int i; for(i=0;i<n;i+) oFile<<studenti.getID()<<""<<

16、studenti.getProvince()<<endl; oFile.close(); return 0;int SaveFile() ofstream oFile(fileName.c_str(); int i; for(i=0;i<n;i+) oFile<<studenti.getID()<<" "<<studenti.getProvince()<<endl; oFile.close(); return 0;int ReadFile() int id; string province; ifstream iFile(fileName.c_str(); n = 0; while(iFile>>id>>province) studentn.setID(id); studentn.setProvince(province); n+; iFile.close(); return 0;int Loop() int i; cout<<"显示所有学生:"<<endl; for(i=0;i<n;i+) cout<<"学号= "<<studenti.getID()<<&q

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论