السلام عليكم ورحمة الله وبركاته وبعد
قمت بادخال سلاسل من الاحرف عن طريق متغير اسمه Buff من نوع string والمشكله هي :
اقوم في البداية بتحديد عدد السلاسل التي اريد ان اقوم بادخالها وذلك عن طريق متغير اسمه n حيث انني ساقوم بادخال قيمه لــ n=3 مثلا
ففي هذه الحاله يقوم البرنامج بادخال ثلاث سلاسل فقط والذي اريده هو :
1-ان اقوم بادخال عدد غير محدود من السلاسل بحث انني اذا اردت ان اتوقف عن الادخال اقوم بادخال حرف E مثلا فيتوقف عن الادخال .
2-اريد ان تكون كل سلسله محدوده بــ 34 رقم فقط وفي حال انني اخطات ولم اكمل ادخال 34 رقم يسمح لي البرنامج باعادة هذا السلسله التي لم تكتمل ويمسح السلسله الناقصه .
ساضع الكود الذي قمت بكتابته وارجو ان تعينوني على الحل بحيث يكون مبينا الشرح بالكود لو سمحتوا :
#include<stdio.h>
#include<stdlib.h>
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;
using std:fstream;
#define BIGNUM unsigned long
void main()
{
ofstream outClientFile("Payment File.txt",ios::app);;
BIGNUM sum = 0;
string buff;
int n;
int Amount;
cout<<"Enter The Number of Invoices:";
cin>>n;
cout<<"Enter The Records:\n";");
for(int i=0;i<n;i++)
{
cin >> buff;
outClientFile<<buff<<endl;
string temp = buff.substr(22, 10);
sum += atol(temp.c_str());
}