1.显示功能中的最后一个数据打印两次2.删除功能中的数据不会被删除,Attend2.txt文件也不会被删除 我正在制作C++的学生考勤程序,由于2个问题没有给出期望的输出。 显示功能工作不正常,最后一个数据显示两次 不会删除attend2.txt主文件 #
1.显示功能中的最后一个数据打印两次2.删除功能中的数据不会被删除,Attend2.txt文件也不会被删除 <>我正在制作C++的学生考勤程序,由于2个问题没有给出期望的输出。1.显示功能中的最后一个数据打印两次2.删除功能中的数据不会被删除,Attend2.txt文件也不会被删除 我正在制作C++的学生考勤程序,由于2个问题没有给出期望的输出。 显示功能工作不正常,最后一个数据显示两次 不会删除attend2.txt主文件 #,c++,c++14,c++17,C++,C++14,C++17,1.显示功能中的最后一个数据打印两次2.删除功能中的数据不会被删除,Attend2.txt文件也不会被删除 我正在制作C++的学生考勤程序,由于2个问题没有给出期望的输出。 显示功能工作不正常,最后一个数据显示两次 不会删除attend2.txt主文件 #包括 #包括 #包括 #包括 #包括 使用名称空间std; 上课 { 公众: int idn; void getdata() { coutWow编译两个不同的语言标准版本和一个主要的语言变体!您让自己太难了,先生。我建议您缩减您的雄心壮志。wh
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
上课
{
公众:
int idn;
void getdata()
{
coutWow编译两个不同的语言标准版本和一个主要的语言变体!您让自己太难了,先生。我建议您缩减您的雄心壮志。while(fin.eof()==0)
。备份您的代码,然后缩减代码,以便一次只攻击一个错误。这样可以更容易地隔离错误(一旦隔离,解决方案往往就在眼前)并证明您确实解决了该漏洞。作为灵感。如果您认为我使用了两种语言,那么先生,请在我的评论部分@user4581301Sir让我知道我的代码正在使用而(fin.eof()==0)
那么我为什么要再次考虑@user4581301
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string>
#include<conio.h>
using namespace std;
class attend
{
public:
int idn;
void getdata()
{
cout<<"ENTER THE ID NUMBER "<<endl;
cin>>idn;
ofstream outf("Attend2.txt",ios::app);
outf<<idn<<endl;
outf.close();
}
void checkdata()
{
int idc,k,m=0;
cout<<"ENTER THE ID TO CHECK "<<endl;
cin>>idc;
ifstream fin("Attend2,txt");
while(fin.eof()==0)
{
fin>>idn;
if(idn==idc)
m=1;
}
if(m==1)
cout<<"RECORD FOUND "<<endl;
else
cout<<"RECORD NOT FOUND "<<endl;
}
void deletedata()
{
int idc,k;
cout<<"ENTER THE ID TO DELETE "<<endl;
cin>>idc;
ifstream fin("Attend2.txt");
while(fin.eof()==0)
{
fin>>idn;
if(idc==idn)
{
cout<<"INSIDE IF "<<endl;
}
else
{
ofstream outf("Attend3.txt",ios::app);
outf<<idn<<endl;
cout<<"ELSE IS RUNNING "<<endl;
}
}
remove("Attend2.txt");
rename("Attend3.txt","Attend4.txt");
remove("Attend4.txt");
}
void displaydata()
{
int k=0;
ifstream fin("Attend2.txt");
while(fin.eof()==0)
{
fin>>idn;
cout<<"THE NUMBER IS "<<idn<<endl;
k++;
}
cout<<"TOTAL NUMBER OF STUDENTS ARE "<<k<<endl;
}
};
int main()
{
int k=1,ch;
attend obj;
cout<<"******************************************************************************"<<endl;
cout<<" WELCOME TO THE ATTENDANCE SHEET "<<endl;
cout<<"******************************************************************************"<<endl;
while(k==1)
{
system("cls");
cout<<"******************************************************************************"<<endl;
cout<<" PRESS 1 TO ADD DATA "<<endl;
cout<<" PRESS 2 TO CHECK THE DATA "<<endl;
cout<<" PRESS 3 TO DELETE DATA "<<endl;
cout<<" PRESS 4 TO DISPLAY DATA "<<endl;
cout<<" PRESS 5 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>ch;
switch(ch)
{
case 1:
obj.getdata();
cout<<" PRESS 1 TO CONTINUE "<<endl;
cout<<" PRESS 2 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>k;
break;
case 2:
obj.checkdata();
cout<<" PRESS 1 TO CONTINUE "<<endl;
cout<<" PRESS 2 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>k;
break;
case 3:
obj.deletedata();
cout<<" PRESS 1 TO CONTINUE "<<endl;
cout<<" PRESS 2 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>k;
break;
case 4:
obj.displaydata();
cout<<" PRESS 1 TO CONTINUE "<<endl;
cout<<" PRESS 2 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>k;
break;
case 5:
exit(0);
default:
cout<<" WRONG CHOICE "<<endl;
cout<<" PRESS 1 TO CONTINUE "<<endl;
cout<<" PRESS 2 TO EXIT "<<endl;
cout<<" ENTER YOUR CHOICE "<<endl;
cin>>k;
}
}
}