学生信息数据系统及文本格式的保存读取.docx

上传人:牧羊曲112 文档编号:3424163 上传时间:2023-03-13 格式:DOCX 页数:15 大小:38.40KB
返回 下载 相关 举报
学生信息数据系统及文本格式的保存读取.docx_第1页
第1页 / 共15页
学生信息数据系统及文本格式的保存读取.docx_第2页
第2页 / 共15页
学生信息数据系统及文本格式的保存读取.docx_第3页
第3页 / 共15页
学生信息数据系统及文本格式的保存读取.docx_第4页
第4页 / 共15页
学生信息数据系统及文本格式的保存读取.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《学生信息数据系统及文本格式的保存读取.docx》由会员分享,可在线阅读,更多相关《学生信息数据系统及文本格式的保存读取.docx(15页珍藏版)》请在三一办公上搜索。

1、学生信息数据系统及文本格式的保存读取#include<iostream>#include<fstream>#include<string >#include<stdlib.h>#include<conio.h>#include<iomanip>using namespace std;int n=0,m;typedef struct Studentstring num;string name;double score;struct Student *next;Stu;Stu *head;void MainMenusystem(cls);for(in

2、t i=0;i<24;i+) cout<<=;cout<<n|t1.添加学生tt|n|t2.查询学生tt|n|t3.编辑学生tt|n|t4.删除学生tt|n<<|t5.打印全部tt|n|t6.总人数tt|n|t7.存盘tt|n|t8.读取数据t|n|t9.存盘t|n|t0.读取数据t|n|ta. 退出ttt|n;for(i=0;i<24;i+) cout<<=;int Compare(string s1,string s2)int i,t=0;char a100,b100;for(i=0;i<s1.length;i+) ai=s1i;ai=0;for

3、(i=0;i<s2.length;i+) bi=s2i;bi=0;if(atol(a)>atol(b) return 1;else if(atol(a)=atol(b) return 0;else return 2;void Add(Stu *h)system(cls);Stu *p,*p1=h,*p2=h;p2=p2->next;int flag=1;p=new Stu;cout<<=n输入学生信息:n学号:;cin>>p->num;while(p->num).size!=4|(p->num)=0000)cout<<输入非法:学号必须是4位且不

4、能为0000,请重新输入!n学号:;cin>>p->num;cout<<姓名:;cin>>p->name;cout<<成绩:;cin>>p->score;while(p1->next!=NULL)if(Compare(p2->num,p->num)=1)p1->next=p;p->next=p2;p2->next=NULL;flag=0;break;else if(Compare(p2->num,p->num)=2)p1=p2;p2=p2->next;else if(Compare(p2->num,p-

5、>num)=0) cout<<学号已存在,请重新输入!;cin>>p->num;if(flag=1)p1->next=p;p->next=NULL;n+;void Print(Stu *h)system(cls);int i=0;Stu *p,*p1;p=h;p1=h->next ;cout<<=n所有学生信息:n;while(p->next!=NULL)i+;cout<<i<<: <<p1->num<<, <<p1->name<<, <<p1->score<<endl;

6、p=p->next;p1=p1->next;cout<<=;void Query(Stu *h)system(cls);string num;int i=0;Stu *p=h,*p1=h->next;Print(head);cout<<n=n输入要查找学生的学号:n学号:;cin>>num;while(num.size!=4)cout<<输入非法:学号必须是4位,请重新输入!;cin>>num;while(p->next!=NULL)if(p1->num=num) cout<<学号为<<num<<的学生信息:姓

7、名,分数n; else i+;p=p->next;p1=p1->next;if(i=n) cout<<没有找到学号为<<num<< 的学生,请确认学号是否输入正确!n;cout<<=;void Edit(Stu *h)system(cls);Stu *p=h,*p1=h->next;int i=0;char c;string num;Print(head);cout<<n=n输入学生学号:n学号:;cin>>num;while(p->next!=NULL)if(p1->num=num) cout<<学号为<<n

8、um<<的学生信息:姓名,分数n请选择修改项目:n1. 姓名n2. 分数;c=getch;if(c=1) cout<<n新名:;cin>>p1->name;else if(c=2)cout<<n新分数:;cin>>p1->score;else cout<<error!;else i+;p=p->next;p1=p1->next;if(i=n) cout<<没有找到学号为<<num<< 的学生,请确认学号是否输入正确!n;cout<<=;void Delete(Stu *h)system(cls);P

9、rint(head);string num;Stu *p=h,*p1=p->next;int i=0;cout<<nn=n输入要删除学生的学号:(如果删除所有学生请输入0000)n学号:;cin>>num;if(num=0000) h->next=NULL;n=0;cout<<n=;else while(p->next!=NULL)if(p1->num=num)p->next=p1->next;m=n-;break;else i+;p=p->next;p1=p1->next;if(i=m) cout<<没有找到学号为<<n

10、um<< 的学生,请确认学号是否输入正确!n;cout<<=; void Keep1(Stu *h)system(cls);char str100;string string;Stu *p=h,*p1=h->next;cout<<输入文件路径:;cin>>string;for(int i=0;i<string.size;i+) stri=stringi;stri=0;ofstream myfile(str);if(myfile.fail)cout<<存盘失败!n按任意键返回操作.n;else cout<<数据已成功保存在:<<st

11、ring<<n按任意键返回操作.n;int j=1;while(p->next!=NULL)myfile<<j<<:<<p1->num<<,<<p1->name<<,<<p1->score<<endl;p=p->next;p1=p1->next;j+;myfile.close;void Read1(Stu *h)system(cls);Stu *p=h,*p1=h->next;string str1100,str3;/double a100;/int aa100;char str100;cout

12、<<输入文件路径:;cin>>str3;for(int i=0;i<str3.size;i+) stri=str3i;stri=0;ifstream gettxt(str,ios_base:in);if(gettxt.fail)cout<<文件不存在!n;return;i=0;while(p->next!=NULL)gettxt>>str1i;/gettxt>>ai;p=p->next;p1=p1->next;i+;int n=i;/cout<<Num <<Name <<Scoren;for(i=0;i<n;i

13、+)cout<<str1i<<endl;void Keep2(Stu *h)system(cls);char str100;string string;Stu *p=h,*p1=h->next;cout<<输入文件路径:;cin>>string;for(int i=0;i<string.size;i+) stri=stringi;stri=0;ofstream myfile(str,ios_base:binary);if(myfile.fail)cout<<存盘失败!n按任意键返回操作.n;else cout<<数据已成功保存在:<&

14、ltstring<<n按任意键返回操作.n;int j=1;while(p->next!=NULL)myfile<<j<<:<<p1->num<<,<<p1->name<<,<<p1->score<<endl;p=p->next;p1=p1->next;j+;myfile.close;void Read2(Stu *h)system(cls);Stu *p=h,*p1=h->next;string str1100,str3;/double a100;/int aa100;char str100;

15、cout<<输入文件路径:;cin>>str3;for(int i=0;i<str3.size;i+) stri=str3i;stri=0;ifstream gettxt(str,ios_base:binary);if(gettxt.fail)cout<<文件不存在!n;return;i=0;while(p->next!=NULL)gettxt>>str1i;/gettxt>>ai;p=p->next;p1=p1->next;i+;int n=i;/cout<<Num <<Name <<Scoren;for(i=0

16、;i<n;i+)cout<<str1i<<endl;/<<ai<<endl;void Totalsystem(cls);cout<<=n学生总人数:<<n<<n=;void mainchar ch;head=new Stu;head->next=NULL;while(1)MainMenu;ch=getch;if(ch=a) cout<<endl;break;switch(ch)case 1: Add(head);break;case 2: Query(head);getch;break;case 3: Edit(head);getch;break;case 4: Delete(head);getch;break;case 5: Print(head);getch;break;case 6: Total;getch;break;case 7: Keep1(head);getch;break;case 8: Read1(head);getch;break;case 9: Keep2(head);getch;break;case 0: Read2(head);getch;break;default: break;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号