Go Back   VN-Zoom Forum > Chia sẻ kiến thức > Lập trình > Pascal | C/C++

 



Trả lời Gửi Ðề Tài Mới
 
Ðiều Chỉnh Xếp Bài
Old 11-09-2008, 23:08   #1
Búa Gỗ
 
tommygun's Avatar
 
Tham gia: Sep 2008
Bài: 16
VZD: 422
Điểm: 0/0 bài viết
Exclamation giúp mình về function trong visual studio 05/08

mình gặp vấn đề về so sánh 2 dữ liệu với nhau, mình ko bít là nên dùng function nào, có ai giúp mình với
ví dụ:

teacher answer : abcdef

student1: abcdef
student2: abcdff

nếu mà so sánh 2 dữ liệu lại với nhau thì nó sẽ cho ra là

student1: 6 (tức có nghĩa là đúng hết)
student2: 5 ( 1 sai=e)

mình ko bít là dùng function nào để so sánh 2 dữ liệu lại,
đây là code của mình:

indata.open(exam.dat);
a=indata.get(prevchar); //teacher answer
b=indata.get(curchar); // student answer

if(a=b)
{cout<<" 6 "<<endl;}

đây là code của mình nhưng nó ko chạy, có ai chỉ dùm
tommygun vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2008, 05:02   #2
Búa Gỗ
 
tommygun's Avatar
 
Tham gia: Sep 2008
Bài: 16
VZD: 422
Điểm: 0/0 bài viết
Default

ko ai giúp đỡ mình hết ah , mình đang cần giúp về vấn đền này đây
tommygun vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2008, 05:10   #3
Rìu Sắt Đôi
 
darling's Avatar
 
Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
Default

Bạn chắc học hơn hướng đối tượng rồi phải ko?

Đây là code đơn giản, còn nếu sử dụng cấp phát động sẽ so sánh chính xác nhiều hơn
Code:
void SoSanh2Chuoi (char a[10], char b[10])
{
	int dem = 0;
	for (int i=0; i<10; i++)
	{
		if (a[i] != b[i] )
		{
			printf("%c != %c" ,a[i], b[i]);
			dem++;
		}
	}
	printf("chuoi b sai %d ki tu", dem);
}
__________________
http://it9x.co.cc

darling vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2008, 12:01   #4
Búa Gỗ
 
tommygun's Avatar
 
Tham gia: Sep 2008
Bài: 16
VZD: 422
Điểm: 0/0 bài viết
Default

cảm ơn nhìu đã giúp mình, vấn đề mình cần hỏi đây là so sánh dữ liệu lấy được trong file text hoặc là file dat, ví dụ:
trong file text mình có:
teacher answer : abcdef

student1: abcdef
student2: abcdff

sau khi mình cho chạy chương trình xong thi nó sẽ cho ra 1 file khác cứ cho là answer.txt, trong đó sẽ có
student1: 6 (tức có nghĩa là đúng hết)
student2: 5 (sai 1 chữ)
vậy thì mình làm sao dể gọi
tommygun vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2008, 12:02   #5
Búa Gỗ
 
tommygun's Avatar
 
Tham gia: Sep 2008
Bài: 16
VZD: 422
Điểm: 0/0 bài viết
Default

đây là code của mình sau khi đã làm wa
Trích:
#include<fstream>
#include<iostream>
#include<string>
using namespace std;

//int grade(string,string,int);
int main()
{ int correct;
string ansKeys;
string lesser=" Too few Answers";
string more=" Too many answers";
string invalid= " Invalid answers";
int studId;
string studAns;
int i;

ifstream in;
ofstream out;

in.open("exams.txt");
out.open("scores.txt");

if(!in)
{
cout<<"The file can not be opened."<<endl;
return 1;
}

else
in>>ansKeys>>studId>>studAns;


while(in)
{ correct=0;
i=0;

if (studAns.length()==20)
{while(i < 20)
{
if (ansKeys[i]==studAns[i])

{
correct++;
}



i++;

}


out<<studId<<" "<<correct<<endl;
in>>studId>>studAns;
}
else
if (studAns.length()<20)
{
out<<studId<<lesser<<endl;
in>>studId>>studAns;
}
else
if (studAns.length()>20)
{
out<<studId<<more<<endl;
in>>studId>>studAns;
}
else
{
out<<studId<<invalid<<endl;
in>>studId>>studAns;
}

}





in.close();
out.close();
return 0;
}
tommygun vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-09-2008, 12:08   #6
Búa Gỗ
 
tommygun's Avatar
 
Tham gia: Sep 2008
Bài: 16
VZD: 422
Điểm: 0/0 bài viết
Default

và file exams.txt của mình
Trích:
abcdefabcdefabcdefabcdefab

123456 abcdefabcdefabcdefabcdefab
456789 abcdefabcdefabcdefabcdef
987654 abcdefabcdefabcdefabcdefabcdef
854712 abcdefjklabcdefjkabcdefjka
và sao khi chạy chương trình nó sẽ cho ra

Trích:

123456 20
456789 Too few answer
987654 Too many answer
854712 Too many answer
nhưng mà ko phải vậy, học sinh với số 854712 phải là invalid answer ( tại vì chương trình chỉ cho chạy abcdef thôi ko cần những chữ cái khác, nếu chữ cái khác có trong phần trả lời thì sẽ cho ra là invalid answer, nhưng mà mình lại ko bít làm sao ? có thể chỉ dùm mình thêm lần nữa ko cảm ơn
tommygun vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời Gửi Ðề Tài Mới

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
Bạn không thể gửi chủ đề mới
Bạn không thể gửi trả lời
Bạn không thể gửi file đính kèm
Bạn không thể tự sửa bài viết của bạn

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt
Chuyển đến


Múi giờ GMT +7. Hiện tại là 16:05.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Từ điển được cung cấp bởi VDict.com - Hosting được tài trợ bởi Rao vặt 123