用户:
IDF哲宇MIKE查看:5 回复:5 评论:5 创建时间:2021-09-21T17:12:24
先放个万能头(要你说?是个人都知道......)
#include <bits/stdc++.h>
接下来就是我那乱七八糟的变量(也不知道你们能不能看得懂......)
struct p{
int a;//a一共有多少题
string b;//b是标题
}d[100005];
int f,g,h,l,m,ans,c[1005][1005],axs,axy,cxy[1005];//c是每题多少分
string e[1005][1005],ee[1005][1005],k,n,bxy,exy[1005],eexy[1005];//e是内容
接下来就是美化一下窗口
system("color f4"); //设置窗口的颜色(前景色和背景色)
system("title tanzi v-1");//设置窗口的标题
system("mode con:cols=100 lines=100");//设置窗口的大小
最重要的就是读入了
ifstream fin("D:/百度2.txt");
你觉得就只会有这一点?看下面
fin>>f;
for(int i=0;i<f;i++){
if(g==0){
fin>>d[i].b;
g++;
}
if(g==1){
fin>>d[i].a;
for(int j=0;j<d[i].a;j++){
fin>>e[i][j];
fin>>ee[i][j];
fin>>c[i][j];
}
g++;
}
g=0;
}
结束读入(不结束好像也没啥关系......)
fin.close();
那题库里的那些题目又是从哪来的呢?看下面
cout<<"请输入考卷名:";
cin>>bxy;
cout<<endl;
cout<<"请输入共有几题:";
cin>>axy;
cout<<endl;
for(int i=0;i<axy;i++){
cout<<"第"<<i+1<<"道题"<<endl;
cout<<"请输入题目:";
cin>>exy[i];
cout<<endl;
cout<<"请输入答案:";
cin>>eexy[i];
cout<<endl;
cout<<"请输入分数:";
cin>>cxy[i];
cout<<endl;
}
ofstream fout("D:/百度2.txt");
f++;
fout<<f<<" ";
g=0;
for(int i=0;i<f-1;i++){
if(g==0){
fout<<d[i].b<<" ";
g++;
}
if(g==1){
fout<<d[i].a<<" ";
for(int j=0;j<d[i].a;j++){
fout<<e[i][j]<<" ";
fout<<ee[i][j]<<" ";
fout<<c[i][j]<<" ";
}
g++;
}
g=0;
}
fout<<bxy<<" ";
fout<<axy<<" ";
for(int i=0;i<axy;i++){
fout<<exy[i]<<" ";
fout<<eexy[i]<<" ";
fout<<cxy[i]<<" ";
}
fout.close();
接着下面就是完整的代码啦
#include <bits/stdc++.h>
using namespace std;
struct p{
int a;//a一共有多少题
string b;//b是标题
}d[100005];
int f,g,h,l,m,ans,c[1005][1005],axs,axy,cxy[1005];//c是每题多少分
string e[1005][1005],ee[1005][1005],k,n,bxy,exy[1005],eexy[1005];//e是内容
int main(){
system("color f4"); //设置窗口的颜色(前景色和背景色)
system("title tanzi v-1");//设置窗口的标题
system("mode con:cols=100 lines=100");//设置窗口的大小
ifstream fin("D:/百度2.txt");
fin>>f;
for(int i=0;i<f;i++){
if(g==0){
fin>>d[i].b;
g++;
}
if(g==1){
fin>>d[i].a;
for(int j=0;j<d[i].a;j++){
fin>>e[i][j];
fin>>ee[i][j];
fin>>c[i][j];
}
g++;
}
g=0;
}
fin.close();
cout<<"请输入选择,1代表做题,2代表增加题库:";
cin>>h;
cout<<endl;
if(h==1){
cout<<"以下是考卷名:"<<endl;
for(int i=0;i<f;i++){
cout<<d[i].b<<" ";
}
cout<<endl;
cin>>k;
cout<<endl;
for(int i=0;i<f;i++){
if(d[i].b==k){
l++;
m=i;
}
}
if(l==0){
cout<<"抱歉,题库里暂无此卷"<<endl;
}else{
for(int i=0;i<d[m].a;i++){
cout<<"问题:"<<e[m][i]<<endl;
cout<<"请输入你的答案:";
cin>>n;
cout<<endl;
if(ee[m][i]==n){
ans+=c[m][i];
}
axs+=c[m][i];
}
cout<<"你获得了"<<ans<<"分,总分共"<<axs<<"分";
}
}else if(h==2){
cout<<"请输入考卷名:";
cin>>bxy;
cout<<endl;
cout<<"请输入共有几题:";
cin>>axy;
cout<<endl;
for(int i=0;i<axy;i++){
cout<<"第"<<i+1<<"道题"<<endl;
cout<<"请输入题目:";
cin>>exy[i];
cout<<endl;
cout<<"请输入答案:";
cin>>eexy[i];
cout<<endl;
cout<<"请输入分数:";
cin>>cxy[i];
cout<<endl;
}
ofstream fout("D:/百度2.txt");
f++;
fout<<f<<" ";
g=0;
for(int i=0;i<f-1;i++){
if(g==0){
fout<<d[i].b<<" ";
g++;
}
if(g==1){
fout<<d[i].a<<" ";
for(int j=0;j<d[i].a;j++){
fout<<e[i][j]<<" ";
fout<<ee[i][j]<<" ";
fout<<c[i][j]<<" ";
}
g++;
}
g=0;
}
fout<<bxy<<" ";
fout<<axy<<" ";
for(int i=0;i<axy;i++){
fout<<exy[i]<<" ";
fout<<eexy[i]<<" ";
fout<<cxy[i]<<" ";
}
fout.close();
}
return 0;
}
不喜勿喷
不知道你们有没有学C++呢?
编译失败
8:8: error: size of 'e' 32320800 bytes exceeds maximum object size 5242880 [-Werror=larger-than=] 8 | string e[1005][1005],ee[1005][1005],k,n,bxy,exy[1005],eexy[1005];//e是内容 | ^ 8:22: error: size of 'ee' 32320800 bytes exceeds maximum object size 5242880 [-Werror=larger-than=] 8 | string e[1005][1005],ee[1005][1005],k,n,bxy,exy[1005],eexy[1005];//e是内容 | ^~ cc1plus: all warnings being treated as errors
代码编译错误,再检查一下吧
点赞1
评论