لو سمحتم الي موجود ويقدر يساعدني باسرع وقت لان الواجب تسليمه الصباح
أنا حليت البرنامج بس عندي خطأ بسيط ممكن مساعدة.................
لو سمحتم الي موجود ويقدر يساعدني باسرع وقت لان الواجب تسليمه الصباح
أنا حليت البرنامج بس عندي خطأ بسيط ممكن مساعدة.................
أين البرنامج؟ :blink:
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
ماني عارفة كيف ارسله؟؟
يقولي غير مصرح بارسال مثل هذه الملفات ممكن الايميل أرسل عليه
اكتبي الكود هنا بين وسمي [ code ] و [ / code ] (بدون مسافات), هناك زر لذلك في الصفحة اللتي تكتبي منها الموضوع.
#include<stdio.h>
#include<conio.h>
struct date
{
int day;
int month;
int year;
};
struct Record
{
long ID;
char Name[10];
struct date Birthdate;
struct date Hireddate;
int salary;
int grade;
int age;
float yearincome;
};
struct Record emp[10], *ptremp_rec;
int flag=0;
int i=0;
void menu();
void insert();
void Display();
void Update();
void Delete(struct Record []);
int ch;
int CalculateAge(struct Record emp[]);
int CalculateIncome(struct Record *ptremp_rec);
void main()
{
menu();
while(ch!=5)
{
switch(ch)
{
case 1:clrscr();
insert();
getch();
menu();
break;
case 2:clrscr();
Display();
menu();
getch();
break;
case 3:clrscr();
Update();
clrscr();
menu();
getch();
break;
case 4:clrscr();
Delete(emp);
menu();
getch();
break;
//default:
//break;
}
}
printf("\n **** GOoOoOd Bye ****");
getch();
}
void menu()
{
printf(" * * * * Menu * * * *\n");
printf(" 1)Insert an employee record\n");
printf(" 2)Display all record \n");
printf(" 3)Update a record\n");
printf(" 4)Delete a record\n");
printf(" 5)Exit\n");
printf(" Enter your choice:\n");
scanf("%d",&ch);
}
void insert()
{ int c;
flag++;
do
{
printf("\nEnter the ID [%d]:",i);
scanf("%ld",&emp.ID);
printf("\nEnter the Name of employee[%d]:",i);
scanf("%s",emp.Name);
printf("\nEnter the Birth date[%d] :",i);
printf("\nday:");
scanf("%d",&emp.Birthdate.day);
printf("month:");
scanf("%d",&emp.Birthdate.month);
printf("year:");
scanf("%d",&emp.Birthdate.year);
printf("\nEnter the hired date[%d] :",i);
printf("\nday:");
scanf("%d",&emp.Hireddate.day);
printf("month:");
scanf("%d",&emp.Hireddate.month);
printf("year:");
scanf("%d",&emp.Hireddate.year);
printf("Salary:");
scanf("%d",&emp.salary);
printf("grade:");
scanf("%d",&emp.grade);
CalculateAge(emp);
CalculateIncome(ptremp_rec);
i++;
printf("\n Are you want insert another employee:(1)to yes\n");
scanf("%d",&c);
}while(c==1);
clrscr();
}
int CalculateAge(struct Record emp[])
{
emp.age=2005-emp.Birthdate.year;
printf(" The age = %d\n",emp.age);
return 0;
}
int CalculateIncome(struct Record *ptremp_rec)
{
ptremp_rec=&emp;
ptremp_rec->yearincome=(emp.salary)*12;
printf("year income = %f",ptremp_rec->yearincome);
return 0;
}
void Display()
{
if(flag==0)
printf("!!! SORY YOU MUST INSERT FIRST !!!\n");
else
{
for(int j=0;j<i;j++)
{
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("ID Name Age Birthdate Hireddate Salary Grade YearIncome\n");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" %d %s %d %d/%d/%d %d/%d/%d %d %d %f \n",
emp[j].ID,emp[j].Name,emp[j].age,emp[j].Birthdate.day,
emp[j].Birthdate.month,emp[j].Birthdate.year,emp[j].Hireddate.day,
emp[j].Hireddate.month,emp[j].Hireddate.year,emp[j].salary,
emp[j].grade,emp[j].yearincome);
getch();
clrscr();
}
}
}
void Update()
{
if(flag==0)
printf("!!! SORY YOU MUST INSERT FIRST !!!\n");
else
{
printf("Enter The ID of record you want update :");
scanf("%d",&emp.ID);
int value,k;
value=emp.ID;
for(k=0;k<i;k++)
{
if(emp[k].ID==value)
break;
}
if(k<i)
{
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("ID Name Age Birthdate Hireddate Salary Grade YearIncome\n");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" %d %s %d %d/%d/%d %d/%d/%d %d %d %f \n",
emp[k].ID,emp[k].Name,emp[k].age,emp[k].Birthdate.day,
emp[k].Birthdate.month,emp[k].Birthdate.year,emp[k].Hireddate.day,
emp[k].Hireddate.month,emp[k].Hireddate.year,emp[k].salary,
emp[k].grade,emp[k].yearincome);
printf("\nEnter the ID [%d]:",k);
scanf("%ld",&emp[k].ID);
printf("\nEnter the Name of employee[%d]:",k);
scanf("%s",emp[k].Name);
printf("\nEnter the Birth date[%d] :",k);
printf("\nday:");
scanf("%d",&emp[k].Birthdate.day);
printf("month:");
scanf("%d",&emp[k].Birthdate.month);
printf("year:");
scanf("%d",&emp[k].Birthdate.year);
printf("\nEnter the hired date[%d] :",k);
printf("\nday:");
scanf("%d",&emp[k].Hireddate.day);
printf("month:");
scanf("%d",&emp[k].Hireddate.month);
printf("year:");
scanf("%d",&emp[k].Hireddate.year);
printf("Salary:");
scanf("%d",&emp[k].salary);
printf("grade:");
scanf("%d",&emp[k].grade);
printf("Age: ");
scanf("%d",&emp[k].age);
printf("Year income: ");
scanf("%f",&emp[k].yearincome);
}
else
printf(" The ID was not found .\n");
}
}
void Delete(struct Record emp[])
{
int i,id;
printf("\n Enter the ID you want delet");
scanf("%ld",&id);
for(i=0;i<10;i++)
{
if(id==emp.ID)
{
emp.ID=emp[i+1].ID;
emp.Name=emp[i+1].Name;
emp.salary=emp[i+1].salary;
emp.grade=emp[i+1].grade;
emp.Birthdate.day=emp[i+1].Birthdate.day;
emp.Birthdate.month=emp[i+1].Birthdate.month;
emp.Birthdate.year=emp[i+1].Birthdate.year;
emp.Hireddate.day=emp[i+1].Hireddate.day;
emp.Hireddate.month=emp[i+1].Hireddate.month;
emp.Hireddate.year=emp[i+1].Hireddate.year;
emp.age=emp[i+1].age;
emp.yearincome=emp[i+1].yearincome;
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" ID Name Age Birthdate Hireddate Salary Grade YearIncome\n");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" %d %s %d %d/%d/%d %d/%d/%d %d %d %f \n",
emp.ID,emp.Name,emp.age,emp.Birthdate.day,
emp.Birthdate.month,emp.Birthdate.year,emp.Hireddate.day,
emp.Hireddate.month,emp.Hireddate.year,emp.salary,
emp.grade,emp.yearincome);
goto end;
}
}
printf("~ ~ ~ ~ ~ ~ This ID Not found ~ ~ ~ ~ ~ ~ ");
end:
getch();
clrscr();
}تم تعديل هذه المشاركة بواسطة برق في 5 أبريل 2005 في 06:42
emp.Name=emp[i+1].Name;
هذا خطأ, لا تستطيعين نسخ الـ arrays هكذا, استخدمي strcpy و هو بسيط جدا, تضعين الـ string المراد النسخ اليه كالبارامتر الأول, و الـ string المراد النسخ منه كالبارامتر الثاني, و هذا موقع يشرحه
الله يعطيك العافية وجزاك الله ألف خير........
آسف جدا لتعديل مشاركتك حتى يتمكن الأعضاء من قراءة الكود.
هل عمل البرنامج معك جيدا؟
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
البرنامج مشي كله الحمدلله بس في مشكله في update
انه لما ادخل ال id يطلب مني ادخال المعلومات وادخلها لكن المشكله في العمر والدخل السنوي
المفروض انها تتغير على حسب تاريخ الميلاد الي ادخلته والراتب لكن الي بيحصل انه يكتبلي نفس العمر
والراتب القديم.....ياليت تساعدوني وأكون شااااااااااكرة لكم.........
هذا الموضوع مغلق.