C语言课程设计 学生籍贯信息记录簿设计.docx
- 文档编号:3738837
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:13
- 大小:103.20KB
C语言课程设计 学生籍贯信息记录簿设计.docx
《C语言课程设计 学生籍贯信息记录簿设计.docx》由会员分享,可在线阅读,更多相关《C语言课程设计 学生籍贯信息记录簿设计.docx(13页珍藏版)》请在冰豆网上搜索。
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一次只能声明一个命名空间成员,using
namespacestd声明了在本作用域中要用的命名空间std中的成员。
break语言
break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句。
其作用为使流程从循环体内跳出循环体,即提前结束循环,接着执行循环体下面的语句。
break语句只能用于循环语句和switch语句内,不能单独使用或用于其他语句中。
】
四.调试与测试
在VisualC++6.0环境下输入代码并进行调试和正确运行
五.源程序清单和执行结果
#include
#include
#include
usingnamespacestd;
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)
{
cout< cout<<"1添加一个学生到数组"< cout<<"2显示数组中所有学生"< cout<<"3加数组学生到文件"< cout<<"4显示文件中所有学生"< cout<<"5按学号查询学生"< cout<<"6按籍贯查询学生"< cout<<"7按姓名查询学生"< cout<<"8删除一个学生"< cout<<"9修改一个学生"< cout<<"10文件输入数组"< cout<<"0完成"< cout<<"选择上面一个数字: ";cin>>k; 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<<"籍贯: ";cin>>province1; ifstreamiFile(fileName.c_str()); while(iFile>>id>>province2) { if(province1==province2) cout< } iFile.close(); return0; } intFindID() { intid1,id2; stringprovince; cout<<"学号: ";cin>>id1; ifstreamiFile(fileName.c_str()); while(iFile>>id2>>province) { if(id1==id2) { cout< break; } } iFile.close(); return0; } intFindProvince() { intname; stringprovince1,province2; cout<<"籍贯: ";cin>>province1; ifstreamiFile(fileID.c_str()); while(iFile>>name>>province2) { if(province1==province2) cout< } iFile.close(); return0; } intFindName() { intname1,name2; stringprovince; cout<<"姓名: ";cin>>id1; ifstreamiFile(fileID.c_str()); while(iFile>>name2>>province) { if(name1==name2) { cout< break; } } iFile.close(); return0; } intRemove() { intid,i,j; cout<<"学号: ";cin>>id; ReadFile(); for(i=0;i { if(student[i].getID()==id) { n--; for(j=i;j student[j]=student[j+1]; } } SaveFile(); return0; } intAddStudent() { intid; stringprovince; cout<<"学号,籍贯: ";cin>>id>>province; student[n].setID(id); student[n].setProvince(province); n++; return0; } intAddToFile() { ofstreamoFile(fileName.c_str(),ios: : app); inti; for(i=0;i oFile< "< oFile.close(); return0; } intSaveFile() { ofstreamoFile(fileName.c_str()); inti; for(i=0;i oFile< oFile.close(); return0; } intReadFile() { intid; stringprovince; ifstreamiFile(fileName.c_str()); n=0; while(iFile>>id>>province) { student[n].setID(id); student[n].setProvince(province); n++; } iFile.close(); return0; } intLoop() { inti; cout<<"显示所有学生: "< for(i=0;i cout<<"学号="< return0; } intShowFile() { intid; stringprovince; ifstreamiFile(fileName.c_str()); while(iFile>>id>>province) cout< iFile.close(); return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课程设计 学生籍贯信息记录簿设计 语言 课程设计 学生 籍贯 信息 记录簿 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)