الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مطلو من مشرف المنتدى ادا امكن

مغلق
بدأه mskmousa في 2 يونيو 2004 · 10 رد · 815 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني في المتدى

انا محمد من فلسطين بعرف طلباتي كتيرة بس استحملوني اخواني

محتاج لبرنامج كتير كتير مهم

برنامج دليل هاتف يتكون من اسم المشترك ورقم الهاتف

بس الطلبات:

التخزين في file

الترتيب ابجدي

امكانية الاضافة والتعديل والحذف على البيانات

بس لازم الملف من نوع binary file

وبجد انا محتاجه كير ولكم زجيل الشكر

اخوكم محمد من فلسطين

لا تنسونى بدعة صالحة

#2

خذ الرابط تحدثنا فيه قبلا عن هذا الأمر ,,

/index.php?showtopic=40824

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

بتشكرك كتير اخي المشرف بس البرنامج ما اشتغل عندي بيعطيني 7 اخطاء بس ادا امكن توضحلي ايااها معلش غلبتك معي

الاخطاء موجودة في الصور وسوف ابعت اليك الصور

post-14-1086213316_thumb.gif

#4

صباح الخير معلش اخي المشرف انا بدي اريحك بدي اعطيك الملف الي انا عملته بس فيه 7 اخطاء ادا في امكانية تصلحهم وتشرحهم الي

وارجو اني ما اكون ما بتقل عليك اخي

حفظك الله

سلااااااااام

بس ياريت ترد علي بسرعة لانه اخر موعد للتسليم يوم السبت وارجو ترد علي اليوم عشان الحق افهمة بكرة

T.CPP

#5

السلام عليكم ,,

أصلحت لك كل الأخطاء الاملائية ,, بقي أن تعرف مالذي يحدث مالذي يجعل البرنامج لايعرف الملف !!

#include<stdio.h>
#include <conio.h>

struct clientdata
{ char lastname[15];
char firstname[10];
int acctnum;
int telnum;};
int enterchoice();
void binfile(FILE *readptr);
//void updaterecord(FILE *fptr);
void newrecord(FILE *fptr);
void deleterecord(FILE *fptr);
int main()
{
FILE *cfptr;
int choice;
if ((cfptr=fopen("credit.dat","rb"))==NULL)
{
printf("file couldnt be opend.\n");
}
else{
while ((choice=enterchoice() )!=5)
{
switch(choice)
{
case 1:
       binfile( cfptr );
       break;
case 2:
   //    updaterecord( cfptr );
       break;
case 3:
      newrecord( cfptr );
      break;
case 4:
      deleterecord ( cfptr );
      break;
default:
       printf("error choice\n" );
break;
}
}
fclose(cfptr);
}
char c;
gets(&c);
return(0);
}
void binfile(FILE *readptr)
{
FILE *writeptr;
struct clientdata client={""};
if ((writeptr=fopen("client.bin","wb"))==NULL){
printf("file can't  be opened\n");
}
else
{
rewind(readptr);
fprintf(writeptr,"%-6s%-16s%-11s%10s\n","acct","last name","first name","telnum");
while (!feof(readptr)) {
fread (&client,sizeof(struct clientdata),1,readptr);
if (client.acctnum!=0)
{
fprintf(writeptr,"%-6d%-16s%-11s%10d\n" ,client.acctnum,client.lastname,client.firstname,client.telnum);}}
fclose(writeptr);
}
}
void updatrecord (FILE *fptr)
{int account;
double transaction;
struct clientdata client= {""};
printf("enter the number to update(1-15):");
scanf("%d",&account);
fseek( fptr,(account -1) *sizeof (struct clientdata),SEEK_SET);
fread(&client,sizeof (struct clientdata),1,fptr);
if (client.acctnum==0)
{
printf("account %d has no information\n",account);}
else
{
printf("%-6d%-16s%-11s%10d\n\n",client.acctnum,client.lastname,client.firstname,client.telnum);
fseek ( fptr,(account-1) *sizeof (struct clientdata),1);

}
}
void deleterecord(FILE *fptr)
{
struct clientdata client;
struct clientdata blankclient={""};
int account;
printf("enter acc to delet (1-15):");
scanf("%d",&account);
fseek (fptr,(account-1) * sizeof(struct clientdata),SEEK_SET );
fread(&client,sizeof(struct clientdata),1,fptr);
if (client.acctnum==0){
printf("name %d does not exist.\n",account);
}
else{
fseek(fptr,(account-1)*sizeof(struct clientdata),SEEK_SET);
fwrite(&blankclient,sizeof(struct clientdata),1,fptr);
}
}
void newrecord(FILE *fptr)
{

struct clientdata client={""};
int account;
printf("enter new account\n");
scanf("%d",&account);
fseek(fptr,(account-1) *sizeof(struct clientdata),SEEK_SET);
fread(&client,sizeof(struct clientdata),1,fptr);
if (client.acctnum!=0){
printf("account %d aleady contains information.\n",client.acctnum);
}
else{
printf("enterlastname,firstname,telnum\n");
scanf("%s%s%d",&client.lastname,&client.firstname,&client.telnum);
int clientnum=account;
fseek(fptr,(clientnum-1) *sizeof(struct clientdata),SEEK_SET);
fread(&client,sizeof( struct clientdata),1,fptr);
}
}

int enterchoice ()
{
int menuchoice;
printf("\nenter you choice\n"
	"1_store a formatted text file of name called\n"
	"2_updata an name\n"
	"3-add anew cliecnt\n"
	"4_delet an client\n"
	"5-end program\n");
	scanf("%d",&menuchoice);
	return menuchoice;
	}

تابع لنتابع معك ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#6

السلام عليكم اخي المشرف

ان سبب عدم فتح الملف هو استخدامك للدالة "rb" في السطر

if ((cfptr=fopen("c:\\credit.dat","ab"))==NULL)

ومعناها ان لازم ان يكون على القرص ملف بنفس الاسم الموجود في البرنامج

لكن مش مشكلة انا حليتها وهي ان تستبدل rb بـ ab والمشكلة بس الي الحين انا واقف عنده هو لايتم التخزين في الملفات

وقمت ايضا بالتعديل على الملف ولكن بقي علي خطا وحيد وهو يعترض على جمله printf

وانا متاكد انها صحيحة فسارسل اليك الملف المعد التاني وحاول به ان امكن ولا تنسى النظر الى المثال الاول

سارسل لك الملف المعدل الاول وافحصه لماذا لا يخزن في الملف(newnew.cpp)

وسارسل لك المفل الثاني وافحص الخطا الذي ينتج عنه()

ولك جزيل الشكر

اخوك محمد

newnew.cpp

#7

يا ترى هل من جديد ارجو المساعة باقصى سرعة

ولكم كل الشكر

محمد

#8

السلام عليكم ,,

البرنامج تم تصريفه بلا مشاكل !!

لماذا لم يعمل معك ؟

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#9

السلام عليكم

صحيح ان البرنامج تم تصحيحه كاملا من الاخطاء ولكن البرنامج لا يقوم بترحيل اي بيانات الى الملف

المهم انا الحين اتبعت طريقة تانية وهي عملية الادخال والمعالجة تتم في داخل recordوعند الخروج من البرنامج البرنامج يسال المستخدم هل تريد الحفظ فعند المافقة يتم حفظ البيانات الموجودة في الrecord الى الملف

ولكن المشكة الي انا الحين واقف عندها هي عند اعادة فتح البرنامج عملية ترحيل البيانات الموجودة في الملف الى record ومن ثم يتم عملية المعالجة فعملة التحميل من الملف الى الrecord لا تعمل

وانا الان عرفت الحل سوف اكمل البرنامج ومن ثم ارسله اليك اوكي

والحين بدي ارسلك المشروع بس ناقص عمليه الترحيل من الملف الى record وارجو ان تعطيني رايك به

اخوك محمد من فلسطين

سلاااااااام

FINAL.CPP

#10

السلام عليكم ,,

آسف جدا جدا ,, أنا مشغول جدا حاليا ,, ولاأستطيع أن أفعل شيئا قبل يوم الغد ,,

سأنظر في الكود غدا باذن الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#11

ماشي الحال الله معك

هذا الموضوع مغلق.

مواضيع مشابهة