قسم لغات البرمجة php java c++ جافا Visual Basic فيجوال بيسك c# Delphi دلفي API PERL HTML و TML JavaScript ASP XML Oracle اوركال MySql sql server Access

أدوات الموضوع

Salma Amr
:: مهندس ::
تاريخ التسجيل: Apr 2012
المشاركات: 12
نشاط [ Salma Amr ]
قوة السمعة:0
قديم 20-05-2012, 05:17 PM المشاركة 1   
x2 تصحيح برنامج c++ في linked list Twitter FaceBook Google+



السلام عليكم انا كان عندي برنامجين في c++ كلهم عن ال linked list وكنت عايزه اجمعهم في برنامج واحد البرنامج عن الاسم والعمر فقط بس طلع عندي اخطاء كثيره المطلوب في البرنامج
*الاضافه من الامام والوسط والخير والحذف من البدايه والوسط والاخير والطباعه*
اتمنى حد يصحح ليا الاخطاء ويوضحهم ليا منشان الامتحان لازم افهم ايش هي الاخطاء ..
وشكرا ليكم سلفا..
هذا البرنامج:
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
struct person {
char name[25];
int age;
struct person *Next_Person;
};
struct linkedlist {
struct person *head;
struct person *tail;
int nodeCount;
};
void initialize(linkedlist *);
void InsertFront(linkedlist *);
void InsertMid (linkedlist *):
void InsertRear(linkedlist *);
void DeleteRear(linkedlist *);
void DeleteMid(linkedlist *);
void PrintList(linkedlist *);
void getData(person *);

void main ()
{
linkedlist ll;
initialize(&ll);
int choice = 0;

do
{
cout << " 1: insert item in front" << endl;
cout << " 2: insert item in mid" << endl;
cout << " 3: Insert item in rear" << endl;
cout << " 4: Delete item from front" << endl;
cout << " 5: Delete item from mid" << endl;
cout << " 6: Delete item from rear" << endl;
cout << " 7: Print List" << endl;
cout << " 8: Exit" << endl;
cin >> choice;

if (choice == 1)
InsertFront(&ll);

if (choice == 2)
Insertmid(&ll);

if (choice == 3)
InsertRear(&ll);


if (choice == 4)
//DeleteFront(&ll);

if (choice == 5)
cout<<" ";

if (choice == 6)
cout<<" ";

if (choice == 7)
PrintList(&ll);

}while (choice != 8);


}
void initialize(linkedlist *ll)
{
ll->head = NULL;
ll->tail = NULL;
ll->nodeCount = 0;
}
void InsertFront(linkedlist *ll)
{
if (ll->head == NULL && ll->nodeCount == 0) //means empty list
{
person *p;
p = (person*) malloc(sizeof(person));
getData(p);
ll->head = p;
ll->tail = p;
ll->nodeCount++;
}
else
{
person *p;
p = (person*) malloc(sizeof(person));
getData(p);
p->Next_Person = ll->head ;
ll->head = p;
ll->nodeCount++; //increment counter
}
}
void InsertMid (linkedlist *ll)
{

node_ptr p,q;
p=first;
while(p->num!=m && p->next!=NULL)
{

p=p->next;
}
q=(node *)malloc(sizeof(node));
q->num=n;
strcpy(q->name,name);
q->next=p->next;
p->next =q;


}

void InsertRear(linkedlist *ll)
{
if (ll->head == NULL && ll->nodeCount == 0) //means empty list
{
person *p;
p = (person*) malloc(sizeof(person));
getData(p);
ll->head = p;
ll->tail = p;
ll->nodeCount++;
}
else
{
person *p;
p = (person*) malloc(sizeof(person));
getData(p);
p->Next_Person = NULL; //rear insertion... hence points to NULL.
ll->tail->Next_Person = p; //now point tail of second last element to last
ll->tail = p;//yes tail is now the new element inserted
ll->nodeCount++; //increment counter
}
void DelMid(linkedlist *ll)
{

node_ptr p,d;
p=q;
while(p->next->num!=m &&p->next->next!=NULL)
{
p=p->next;
}

d=p->next;
p->next=d->next;
delete d;
}
void DeleteRear(linkedlist *ll)
{
person *tempNext;
person *tempPrevious;
tempNext = ll->head ;
if (ll->nodeCount > 0 )
{ //we can use for loop with nodeCount or the following method
while (tempNext->Next_Person != NULL)
{
tempPrevious = tempNext;
tempNext = tempNext->Next_Person ;
}
tempPrevious->Next_Person = NULL;
free(tempNext);
ll->nodeCount --;
}
}
void PrintList(linkedlist *ll)
{
int i = 0;
struct person *tempNode;
tempNode = ll->head ;
cout << "The linked list is..." << endl;
for (i = 0; i < ll->nodeCount ; i++)
{
cout << tempNode->name << endl; ;
tempNode = tempNode->Next_Person ;
}
}
void getData(person *p)
{
cin >> p->name ;
cin >> p->age ;
p->Next_Person = NULL; //just to initialize
}
}

اعلانات

yemenifree
:: مهندس ::
تاريخ التسجيل: May 2012
المشاركات: 4
نشاط [ yemenifree ]
قوة السمعة:0
قديم 21-05-2012, 03:41 PM المشاركة 2   
افتراضي


السلام عليكم

ياليت اسم الكمباير المستخدم من قبلك ليتم اعادة صياغة البرنامج فيه

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

Salma Amr
:: مهندس ::
تاريخ التسجيل: Apr 2012
المشاركات: 12
نشاط [ Salma Amr ]
قوة السمعة:0
قديم 21-05-2012, 07:39 PM المشاركة 3   
افتراضي


السلام عليكم

ياليت اسم الكمباير المستخدم من قبلك ليتم اعادة صياغة البرنامج فيه
انا استخدمت Turbo c++


yemenifree
:: مهندس ::
تاريخ التسجيل: May 2012
المشاركات: 4
نشاط [ yemenifree ]
قوة السمعة:0
قديم 22-05-2012, 08:28 AM المشاركة 4   
افتراضي


للاسف لايوجد لدي Turbo هنا

سيتم التعديل عليه ليعمل على visual studio 2010


yemenifree
:: مهندس ::
تاريخ التسجيل: May 2012
المشاركات: 4
نشاط [ yemenifree ]
قوة السمعة:0
قديم 22-05-2012, 09:42 AM المشاركة 5   
افتراضي


تم ضبط اخطاء البرنامج وترك خاصية الحذف من وسط القائمة عليك ^_^ << الدكتور بايعرف انه نفس كودي وتصير مشاكل ! لانك طالب في جامعة العلوم

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

بالتوفيق لك


Salma Amr
:: مهندس ::
تاريخ التسجيل: Apr 2012
المشاركات: 12
نشاط [ Salma Amr ]
قوة السمعة:0
قديم 22-05-2012, 03:14 PM المشاركة 6   
افتراضي


تم ضبط اخطاء البرنامج وترك خاصية الحذف من وسط القائمة عليك ^_^ << الدكتور بايعرف انه نفس كودي وتصير مشاكل ! لانك طالب في جامعة العلوم

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

بالتوفيق لك
.........شكرا

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:42 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025