收藏 分销(赏)

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

上传人:快乐****生活 文档编号:2727277 上传时间:2024-06-05 格式:DOC 页数:16 大小:130.54KB 下载积分:8 金币
下载 相关 举报
C语言专业课程设计学生籍贯信息记录簿设计.doc_第1页
第1页 / 共16页
C语言专业课程设计学生籍贯信息记录簿设计.doc_第2页
第2页 / 共16页


点击查看更多>>
资源描述
C语言和程序设计课程设计 学生籍贯信息统计簿设计 学 院 信息工程 班 级 物联1301班 学 号 姓 名 滕玲 一.设计目标 该软件关键是编辑一个学生籍贯信息统计簿统计每个学生信息,包含:学号、姓名、籍贯。具体功效: 1.创建信息链表并以磁盘文件保留; 2.读取磁盘文件并显示输出全部学生籍贯信息; 3.按学号或姓名查询其籍贯; 4.按籍贯查询并输出该籍贯全部学生; 5.能添加、删除和修改学生籍贯信息; 二.总体设计 1.设置输入输出流及将程序由磁盘文件保留,构件类stu,其关键包含:学号,姓名,籍贯; 2.构建无返回值main函数,输出由和程序相关操作组成信息链表; 3.依据链表设置利用switch函数和循环函数将链表中内容一一实现; 三.具体设计 1.学生基础信息录入 这部分功效关键包含信息录入,首先按程序提醒输入学生学号,姓名,籍贯等。在录入数据同时,系统将对信息正当性进行检验。若用户输入不正当信息,则被系统要求重新输入;若正当性成立则录入完成后系统将返回主页面。主页面还有显示学生全部信息,而且这些信息全部会写到你所指定文本文件中。 2.显示学生信息 此功效是将原录入学生信息读出,并在屏幕上显示出来,而且录入到你所指定文本文件中。 3.学生信息读取 进入该项功效界面后,用户能够对学生个人信息进行查看,而且录入到你所指定文本文件中。 4.按学号或姓名查找学生信息 此项功效能够依据用户输入选择查处该学生全部信息,而且录入到你所指定文本文件中。 5.删除和修改个人信息 选择此项功效后,系统将会自动在屏幕上显示按学号录入原来同学个人信息,输入后进行修改,而且录入到你所指定文本文件中。 6.退出系统,结束任务 【注: main()主函数 每一C 程序全部必需有一main()函数, 能够依据自己爱好把它放在程序某个地方。程序之前输入学生信息,main()申明主函数,输出对应功效函数。 #include<>头文件 iostream意为输入输出流,包含了对输入输出流进行操作所需基础信息;string意为字符串,用于定义程序中字符串;fstream用于用户管理文件I/O操作。 using namespace 命名空间名 using namespace一次只能申明一个命名空间组员,using namespace std申明了在本作用域中要用命名空间std中组员。 break语言 break语句能够使步骤跳出switch结构,继续实施switch语句下面一个语句。其作用为使步骤从循环体内跳出循环体,即提前结束循环,接着实施循环体下面语句。break语句只能用于循环语句和switch语句 内,不能单独使用或用于其它语句中。 】 四.调试和测试 在Visual C++6.0环境下输入代码并进行调试和正确运行 五.源程序清单和实施结果 #include<iostream> #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 getProvince() {return Province;} string getName() {return Name;} }; CStudent student[1000]; int n = 0; //数组学生总数 string fileName="students.txt"; int AddStudent(); //添加一个学生到数组 int Loop(); //显示数组中全部学生 int AddToFile(); //加数组学生到文件 int SaveFile(); //数组到文件 int ShowFile(); //显示文件全部学生 int FindID(); //按学号查询学生 int Findname(); //按姓名查询学生 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; cout<<"3 加数组学生到文件" <<endl; cout<<"4 显示文件中全部学生" <<endl; cout<<"5 按学号查询学生" <<endl; cout<<"6 按籍贯查询学生" <<endl; cout<<"7 按姓名查询学生" <<endl; cout<<"8 删除一个学生" <<endl; cout<<"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) FindProvince(); 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_str()); while(iFile>>id>>province2) { if(province1==province2) cout<<id<<" "<<province2<<endl; } iFile.close(); return 0; } int FindID() { int id1,id2; string province; cout<<"学号:"; cin>>id1; ifstream iFile(fileName.c_str()); while(iFile>>id2>>province) { if(id1==id2) { cout<<id2<<" "<<province<<endl; break; } } iFile.close(); return 0; } int FindProvince() { int name; string province1,province2; cout<<"籍贯:"; cin>>province1; ifstream iFile(fileID.c_str()); while(iFile>>name>>province2) { 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==name2) { 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(student[i].getID()==id) { n--; for(j=i;j<n;j++) student[j]=student[j+1]; } } SaveFile(); return 0; } int AddStudent() { int id; string province; cout<<"学号,籍贯: "; cin>>id>>province; student[n].setID(id); student[n].setProvince(province); n++; return 0; } int AddToFile() { ofstream oFile(fileName.c_str(),ios::app); int i; for(i=0;i<n;i++) oFile<<student[i].getID()<<" "<<student[i].getProvince()<<endl; oFile.close(); return 0; } int SaveFile() { ofstream oFile(fileName.c_str()); int i; for(i=0;i<n;i++) oFile<<student[i].getID()<<" "<<student[i].getProvince()<<endl; oFile.close(); return 0; } int ReadFile() { int id; string province; ifstream iFile(fileName.c_str()); n = 0; while(iFile>>id>>province) { student[n].setID(id); student[n].setProvince(province); n++; } iFile.close(); return 0; } int Loop() { int i; cout<<"显示全部学生:"<<endl; for(i=0;i<n;i++) cout<<"学号= "<<student[i].getID()<<"籍贯= "<<student[i].getProvince()<<endl; return 0; } int ShowFile() { int id; string province; ifstream iFile(fileName.c_str()); while(iFile>>id>>province) cout<<id<<" "<<province<<endl; iFile.close(); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服