您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > C语言课程设计-学生籍贯信息记录簿设计
C语言与程序设计课程设计学生籍贯信息记录簿设计学院信息工程班级物联1301班学号131408119姓名滕玲一.设计目的该软件主要是编辑一个学生籍贯信息记录簿记录每个学生信息,包括:学号、姓名、籍贯。具体功能: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操作。usingnamespace命名空间名usingnamespace一次只能声明一个命名空间成员,usingnamespacestd声明了在本作用域中要用的命名空间std中的成员。break语言break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。其作用为使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句。break语句只能用于循环语句和switch语句内,不能单独使用或用于其他语句中。】四.调试与测试在VisualC++6.0环境下输入代码并进行调试和正确运行五.源程序清单和执行结果#includeiostream#includestring#includefstreamusingnamespacestd;classCStudent{private:intID;//学号stringProvince;//籍贯stringName;//姓名public:voidsetID(intid){ID=id;}voidsetProvince(stringprovince){Province=province;}voidsetName(stringname){Name=name;}intgetID(){returnID;}stringgetProvince(){returnProvince;}stringgetName(){returnName;}};CStudentstudent[1000];intn=0;//数组学生总数stringfileName=students.txt;intAddStudent();//添加一个学生到数组intLoop();//显示数组中所有学生intAddToFile();//加数组学生到文件intSaveFile();//数组到文件intShowFile();//显示文件所有学生intFindID();//按学号查询学生intFindname();//按姓名查询学生intFindProvince();//按籍贯查询学生intDelete();//删除一个学生intReadFile();//文件输入数组intRemove();//修改一个学生intRediscovername();//重新输入学生intReadFile();//文件输入数组voidmain(){intk=-1;while(k!=0){coutendl;cout1添加一个学生到数组endl;cout2显示数组中所有学生endl;cout3加数组学生到文件endl;cout4显示文件中所有学生endl;cout5按学号查询学生endl;cout6按籍贯查询学生endl;cout7按姓名查询学生endl;cout8删除一个学生endl;cout9修改一个学生endl;cout10文件输入数组endl;cout0完成endl;cout选择上面一个数字:;cink;if(k==1)AddStudent();elseif(k==2)Loop();elseif(k==3)AddToFile();elseif(k==4)ShowFile();elseif(k==5)FindID();elseif(k==6)FindProvince();elseif(k==7)Delete();elseif(k==8)Remove();elseif(k==9)ReadFile();elseif(k==0)printf(完成!\n);elseprintf(你输入了个错误的数字!\n);}return;}intFindProvince(){intid;stringprovince1,province2;cout籍贯:;cinprovince1;ifstreamiFile(fileName.c_str());while(iFileidprovince2){if(province1==province2)coutidprovince2endl;}iFile.close();return0;}intFindID(){intid1,id2;stringprovince;cout学号:;cinid1;ifstreamiFile(fileName.c_str());while(iFileid2province){if(id1==id2){coutid2provinceendl;break;}}iFile.close();return0;}intFindProvince(){intname;stringprovince1,province2;cout籍贯:;cinprovince1;ifstreamiFile(fileID.c_str());while(iFilenameprovince2){if(province1==province2)coutnameprovince2endl;}iFile.close();return0;}intFindName(){intname1,name2;stringprovince;cout姓名:;cinid1;ifstreamiFile(fileID.c_str());while(iFilename2province){if(name1==name2){coutname2provinceendl;break;}}iFile.close();return0;}intRemove(){intid,i,j;cout学号:;cinid;ReadFile();for(i=0;in;i++){if(student[i].getID()==id){n--;for(j=i;jn;j++)student[j]=student[j+1];}}SaveFile();return0;}intAddStudent(){intid;stringprovince;cout学号,籍贯:;cinidprovince;student[n].setID(id);student[n].setProvince(province);n++;return0;}intAddToFile(){ofstreamoFile(fileName.c_str(),ios::app);inti;for(i=0;in;i++)oFilestudent[i].getID()student[i].getProvince()endl;oFile.close();return0;}intSaveFile(){ofstreamoFile(fileName.c_str());inti;for(i=0;in;i++)oFilestudent[i].getID()student[i].getProvince()endl;oFile.close();return0;}intReadFile(){intid;stringprovince;ifstreamiFile(fileName.c_str());n=0;while(iFileidprovince){student[n].setID(id);student[n].setProvince(province);n++;}iFile.close();return0;}intLoop(){inti;cout显示所有学生:endl;for(i=0;in;i++)cout学号=student[i].getID()籍贯=student[i].getProvince()endl;return0;}intShowFile(){intid;stringprovince;ifstreamiFile(fileName.c_str());while(iFileidprovince)coutidprovinceendl;iFile.close();return0;}
本文标题:C语言课程设计-学生籍贯信息记录簿设计
链接地址:https://www.777doc.com/doc-5107492 .html