-1
我有一個程序,旨在從2個獨立的文本文件中獲取數據,將它們放在數組中,將它們相互比較,並輸出特定結果。但是,當我從文件中讀取數據並嘗試顯示數據時,在最終顯示文本文件中的所有數據之前,我會遇到許多奇怪的符號。這是代碼。從文件讀取數據時奇怪的符號?
// Ch07-Exam Grader.cpp : Defines the entry point for the console application.
//
//Libraries
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
//Prototypes
void initialization(void);
void proccess(void);
void eoj(void);
void writeIt(void);
void readIt(void);
void calculate(void);
//Global Variables
ifstream student;
ifstream correct;
int main()
{
initialization();
return 0;
}
//This function opens the files and calls the function to send the data into the array
void initialization (void){
correct.open("CorrectAnswers.txt");
readIt();
student.open("StudentAnswers.txt");
readIt();
}
void proccess (char c[], char s[], int length){
int correctCount = 0;
int incorrectCount = 0;
for (int i = 0; i< length; i++){
if (s[i] == c[i]){
correctCount = correctCount + 1;
} else {
incorrectCount = incorrectCount + 1;
}
}
}
void eoj (void){
}
void writeIt (void){
}
//This function will take the data and place it into seperate arrays
void readIt (void){
char studentArray[20]; //Array to hold the student answers
char correctArray[20]; //Array to hold the correct answers
//Loops to place data to seperate arrays
for (int i = 0; !correct.eof(); i++){
correct >> correctArray[i];
}
for (int j = 0; !student.eof(); j++){
student >> studentArray[j];
}
for (int i = 0; i < 20; i++){
cout << studentArray[i] <<endl;
}
proccess(correctArray, studentArray, 20);
}
void calculate (void){
}
這是結果:
只有字母是文本文件的一部分。
顯示至少一部分輸入文件....並請編譯所有警告並學習使用調試器。 –
'readIt()'從'correct'和'student'中讀取,但是在打開'student'之前調用它。 – Barmar
多麼簡單的錯誤。非常感謝您的幫助。我已經修好了。 – tserran