imdeveloper
چهارشنبه 09 دی 1394, 23:06 عصر
سلام
من سورس کد زیر رو برای شبیه سازی دفتر نمره نوشتم حالا مشکلی که الان داره اینه که اولا موقع ثبت دانش آموزش اگر کاربر شماره دانشآموزی رو حرف هم وارد بکنه برنامه به کاربر پیغامی نمیده و اینکه توی ذخیره در فایل و خواندن از فایل مشکل دارم
ممنون میشم راهنمایی کنید :
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "windows.h"
#include "fstream"
#include "vector"
using namespace std;
int i, j, x;
void addpresent(void);
class Student {
private:
string id;
string FullName;
bool Present[16];
int score;
public:
void setName(string);
string getName();
void setid(string);
string getid();
void setscore(int);
int getscore();
void setPresent(int, bool);
void getpresent();
};
Student student;
vector<Student> Student_Vector;
void Student::setName(string n) {
FullName = n;
}
string Student::getName() {
return FullName;
}
void Student::setid(string b) {
id = b;
}
string Student::getid() {
return id;
}
void Student::setscore(int s) {
score = s;
}
int Student::getscore() {
return score;
}
void Student::setPresent(int k, bool p){
Present[k] = p;
}
void Student::getpresent(){
cout << "\t________________________\n";
for (int i = 0; i < 16; i++)
{
if (i+1 <= 9)
cout << "\t| Session " << i + 1 << ":" << Present[i] << " |\n";
else if (i+1 >= 10)
cout << "\t| Session " << i + 1 << ":" << Present[i] << " |\n";
}
cout << "\t|_______________________";
}
void addpresent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
cout << "\n\tEnter session(between 1 to 16):";
cin >> j;
while (j<1 || j> 16)
{
cout << "\n\n\tWrong number\n";
cout << "\n\tEnter session(between 1 to 16):";
cin >> j;
}
j--;
for (int i = 0; i <Student_Vector.size(); i++)
{
cout << "\n\tPlease Enter Student " << Student_Vector[i].getName() << " Present: ";
bool p = false;
cin >> p;
Student_Vector[i].setPresent(j, p);
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void addscore() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
for (int i = 0; i <Student_Vector.size(); i++)
{
int s;
cout << "\n\tPlease Enter Student " << Student_Vector[i].getName() << " Score: ";
cin >> s;
Student_Vector[i].setscore(s);
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void studentlist() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
cout << "\n\tStudent List: \n";
for (int i = 0; i < Student_Vector.size(); i++)
{
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << Student_Vector[i].getscore();
cout << "\n";
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void removestudent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
int menu3;
cout << "\n\t\t" << "1.Search By Id" << endl;
cout << "\n\t\t" << "1.Search By Name" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) ";
cin >> menu3;
switch (menu3) {
case 1:
{
string index;
cout << "\n\tEnter Student Id:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Removed ...: \n";
Student_Vector.erase(Student_Vector.begin() + i);
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
string index;
cout << "\n\tEnter Student Name:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Removed ...: \n";
Student_Vector.erase(Student_Vector.begin() + i);
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
}
void searchstudent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
int menu4;
cout << "\n\t\t" << "1.Search By Id" << endl;
cout << "\n\t\t" << "1.Search By Name" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) ";
cin >> menu4;
switch (menu4) {
case 1:
{
string index;
cout << "\n\tEnter Student Id:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Found ...: \n";
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << "\t" << Student_Vector[i].getscore();
cout << "\n";
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
string index;
cout << "\n\tEnter Student Name:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getName() == index) {
cout << "\n\n\t Item Found ...: \n";
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << "\t" << Student_Vector[i].getscore();
cout << "\n";
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
}
void WritingFileV1() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
fstream myfile;
myfile.open("Student.txt", ios::out || ios::binary);
for (int i = 0; i < Student_Vector.size(); i++)
{
myfile.write((char*)&Student_Vector[i], sizeof(Student));
}
myfile.close();
cout << "\n\n\tSaved ...: \n";
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void ReadFileV1()
{
string line;
int i = 0;
cout << "\n\n\tLoading ....: \n";
ifstream myfile("Student.txt");
if (myfile.is_open())
{
while (getline(myfile, line))
{
cout << "\n\t" << line << "\n";
// FullName[i] = line;
// i++;
}
myfile.close();
}
else cout << "Unable to open file" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
void AddStudent()
{
system("cls");
int menu2;
cout << "\n\t\t" << "1.Add One student" << endl;
cout << "\n\t\t" << "2.Add Some student" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) : ";
cin >> menu2;
switch (menu2) {
case 1:
{
string n;
string b;
cout << "\n\t" << "Please Enter Student " << i + 1 << " Id: ";
cin >> b;
cout << "\n\t" << "Please Enter Student " << i + 1 << " FullName: ";
cin >> n;
student.setName(n);
student.setid(b);
Student_Vector.push_back(student);
cout << "\n\t" << "One student was successfully added!!" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
int k;
cout << "\n" << "Plese Enter Student Number:";
cin >> k;
for (j = 0; j < k; j++) {
string n;
string b;
cout << "\n\t" << "Please Enter Student " << j + 1 << " Id: ";
cin >> b;
cout << "\n\t" << "Please Enter Student " << j + 1 << " FullName: ";
cin >> n;
student.setName(n);
student.setid(b);
Student_Vector.push_back(student);
}
cout << "\n\t" << k << " student was successfully added!!" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
int Menu()
{
int input;
cout << "\n\n" << endl;
cout << "\t\t" << "--- WELCOME ---" << "\n" << endl;
cout << "\t\t" << "| 1.Add Student " << endl;
cout << "\t\t" << "| 2.Add Present " << endl;
cout << "\t\t" << "| 3.Add Score " << endl;
cout << "\t\t" << "| 4.Student List " << endl;
cout << "\t\t" << "| 5.Search " << endl;
cout << "\t\t" << "| 6.Remove " << endl;
cout << "\t\t" << "| 7.Save To File " << endl;
cout << "\t\t" << "| 8.Open File " << endl;
cout << "\t\t" << "| 9.Exit " << "\n" << endl;
cout << "\t\t" << "_______________________" << endl;
cout << "\n\n" << endl;
cout << "\t\t" << "Please Enter Your Choice (1-7) : ";
cin >> input;
return input;
}
int Login()
{
string Username;
string Password;
cout << "\n\n" << endl;
cout << "\t\t" << "--- Please Enter Username & Password ---" << endl;
cout << "\n\t\t" << "| Username : ";
cin >> Username;
cout << "\n\t\t" << "| Password : ";
cin >> Password;
if (Username == "Admin" && Password == "Admin")
return 1;
else
return 0;
}
int main() {
int i = 0;
int j;
while (true)
{
switch (Login())
{
case 1:
{
while (true) {
system("cls");
switch (Menu())
{
case 1:
AddStudent();
break;
case 2:
addpresent();
break;
case 3:
addscore();
break;
case 4:
studentlist();
break;
case 5:
searchstudent();
break;
case 6:
removestudent();
break;
case 7:
WritingFileV1();
break;
case 8:
ReadFileV1();
break;
case 9:
return 0;
break;
default:
return 0;
break;
}
cin.get();
cin.get();
}
case 0:
system("cls");
cout << "\n\t\t" << "**wrong!!" << endl;
cout << "\t\t" << "The Username and Password you entered don't match. " << endl;
break;
default:
break;
}
}
}
}
من سورس کد زیر رو برای شبیه سازی دفتر نمره نوشتم حالا مشکلی که الان داره اینه که اولا موقع ثبت دانش آموزش اگر کاربر شماره دانشآموزی رو حرف هم وارد بکنه برنامه به کاربر پیغامی نمیده و اینکه توی ذخیره در فایل و خواندن از فایل مشکل دارم
ممنون میشم راهنمایی کنید :
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "windows.h"
#include "fstream"
#include "vector"
using namespace std;
int i, j, x;
void addpresent(void);
class Student {
private:
string id;
string FullName;
bool Present[16];
int score;
public:
void setName(string);
string getName();
void setid(string);
string getid();
void setscore(int);
int getscore();
void setPresent(int, bool);
void getpresent();
};
Student student;
vector<Student> Student_Vector;
void Student::setName(string n) {
FullName = n;
}
string Student::getName() {
return FullName;
}
void Student::setid(string b) {
id = b;
}
string Student::getid() {
return id;
}
void Student::setscore(int s) {
score = s;
}
int Student::getscore() {
return score;
}
void Student::setPresent(int k, bool p){
Present[k] = p;
}
void Student::getpresent(){
cout << "\t________________________\n";
for (int i = 0; i < 16; i++)
{
if (i+1 <= 9)
cout << "\t| Session " << i + 1 << ":" << Present[i] << " |\n";
else if (i+1 >= 10)
cout << "\t| Session " << i + 1 << ":" << Present[i] << " |\n";
}
cout << "\t|_______________________";
}
void addpresent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
cout << "\n\tEnter session(between 1 to 16):";
cin >> j;
while (j<1 || j> 16)
{
cout << "\n\n\tWrong number\n";
cout << "\n\tEnter session(between 1 to 16):";
cin >> j;
}
j--;
for (int i = 0; i <Student_Vector.size(); i++)
{
cout << "\n\tPlease Enter Student " << Student_Vector[i].getName() << " Present: ";
bool p = false;
cin >> p;
Student_Vector[i].setPresent(j, p);
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void addscore() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
for (int i = 0; i <Student_Vector.size(); i++)
{
int s;
cout << "\n\tPlease Enter Student " << Student_Vector[i].getName() << " Score: ";
cin >> s;
Student_Vector[i].setscore(s);
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void studentlist() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
cout << "\n\tStudent List: \n";
for (int i = 0; i < Student_Vector.size(); i++)
{
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << Student_Vector[i].getscore();
cout << "\n";
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void removestudent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
int menu3;
cout << "\n\t\t" << "1.Search By Id" << endl;
cout << "\n\t\t" << "1.Search By Name" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) ";
cin >> menu3;
switch (menu3) {
case 1:
{
string index;
cout << "\n\tEnter Student Id:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Removed ...: \n";
Student_Vector.erase(Student_Vector.begin() + i);
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
string index;
cout << "\n\tEnter Student Name:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Removed ...: \n";
Student_Vector.erase(Student_Vector.begin() + i);
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
}
void searchstudent() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
system("cls");
int menu4;
cout << "\n\t\t" << "1.Search By Id" << endl;
cout << "\n\t\t" << "1.Search By Name" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) ";
cin >> menu4;
switch (menu4) {
case 1:
{
string index;
cout << "\n\tEnter Student Id:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getid() == index) {
cout << "\n\n\t Item Found ...: \n";
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << "\t" << Student_Vector[i].getscore();
cout << "\n";
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
string index;
cout << "\n\tEnter Student Name:";
cin >> index;
for (int i = 0; i < Student_Vector.size(); i++)
{
if (Student_Vector[i].getName() == index) {
cout << "\n\n\t Item Found ...: \n";
cout << "\n\tStudent " << i + 1 << " [Name:" << Student_Vector[i].getName() << ",Id:" << Student_Vector[i].getid() << "]" << " Persent:" << endl;
Student_Vector[i].getpresent();
cout << "\n";
cout << "\n\tScore:" << "\t" << Student_Vector[i].getscore();
cout << "\n";
}
else {
cout << "\n\n\t Item didn't Found ...: \n";
}
}
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
}
void WritingFileV1() {
system("cls");
if (Student_Vector.empty())
cout << "\n\n\tList Is Empty" << "\n\t" << "Please Press Enter Key to Back..." << endl;
else {
fstream myfile;
myfile.open("Student.txt", ios::out || ios::binary);
for (int i = 0; i < Student_Vector.size(); i++)
{
myfile.write((char*)&Student_Vector[i], sizeof(Student));
}
myfile.close();
cout << "\n\n\tSaved ...: \n";
cout << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
}
void ReadFileV1()
{
string line;
int i = 0;
cout << "\n\n\tLoading ....: \n";
ifstream myfile("Student.txt");
if (myfile.is_open())
{
while (getline(myfile, line))
{
cout << "\n\t" << line << "\n";
// FullName[i] = line;
// i++;
}
myfile.close();
}
else cout << "Unable to open file" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
void AddStudent()
{
system("cls");
int menu2;
cout << "\n\t\t" << "1.Add One student" << endl;
cout << "\n\t\t" << "2.Add Some student" << endl;
cout << "\n\n\t" << "Please Enter Your Choice (1-2) : ";
cin >> menu2;
switch (menu2) {
case 1:
{
string n;
string b;
cout << "\n\t" << "Please Enter Student " << i + 1 << " Id: ";
cin >> b;
cout << "\n\t" << "Please Enter Student " << i + 1 << " FullName: ";
cin >> n;
student.setName(n);
student.setid(b);
Student_Vector.push_back(student);
cout << "\n\t" << "One student was successfully added!!" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
case 2:
{
int k;
cout << "\n" << "Plese Enter Student Number:";
cin >> k;
for (j = 0; j < k; j++) {
string n;
string b;
cout << "\n\t" << "Please Enter Student " << j + 1 << " Id: ";
cin >> b;
cout << "\n\t" << "Please Enter Student " << j + 1 << " FullName: ";
cin >> n;
student.setName(n);
student.setid(b);
Student_Vector.push_back(student);
}
cout << "\n\t" << k << " student was successfully added!!" << "\n\t" << "Please Press Enter Key to Back..." << endl;
}
break;
default:
break;
}
}
int Menu()
{
int input;
cout << "\n\n" << endl;
cout << "\t\t" << "--- WELCOME ---" << "\n" << endl;
cout << "\t\t" << "| 1.Add Student " << endl;
cout << "\t\t" << "| 2.Add Present " << endl;
cout << "\t\t" << "| 3.Add Score " << endl;
cout << "\t\t" << "| 4.Student List " << endl;
cout << "\t\t" << "| 5.Search " << endl;
cout << "\t\t" << "| 6.Remove " << endl;
cout << "\t\t" << "| 7.Save To File " << endl;
cout << "\t\t" << "| 8.Open File " << endl;
cout << "\t\t" << "| 9.Exit " << "\n" << endl;
cout << "\t\t" << "_______________________" << endl;
cout << "\n\n" << endl;
cout << "\t\t" << "Please Enter Your Choice (1-7) : ";
cin >> input;
return input;
}
int Login()
{
string Username;
string Password;
cout << "\n\n" << endl;
cout << "\t\t" << "--- Please Enter Username & Password ---" << endl;
cout << "\n\t\t" << "| Username : ";
cin >> Username;
cout << "\n\t\t" << "| Password : ";
cin >> Password;
if (Username == "Admin" && Password == "Admin")
return 1;
else
return 0;
}
int main() {
int i = 0;
int j;
while (true)
{
switch (Login())
{
case 1:
{
while (true) {
system("cls");
switch (Menu())
{
case 1:
AddStudent();
break;
case 2:
addpresent();
break;
case 3:
addscore();
break;
case 4:
studentlist();
break;
case 5:
searchstudent();
break;
case 6:
removestudent();
break;
case 7:
WritingFileV1();
break;
case 8:
ReadFileV1();
break;
case 9:
return 0;
break;
default:
return 0;
break;
}
cin.get();
cin.get();
}
case 0:
system("cls");
cout << "\n\t\t" << "**wrong!!" << endl;
cout << "\t\t" << "The Username and Password you entered don't match. " << endl;
break;
default:
break;
}
}
}
}