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

استفسار عن طريقة بداية كتابة برنامج يقرأ الحروف حرف حرف (برنامج في المنطق)

مغلق
بدأه مصمم نجد في 10 نوفمبر 2006 · 7 رد · 1,704 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم ..

كيفكم شباب ..

عندي سؤال عن طريقة برمجة برنامج باستخدام

char ch;

ch = cin.get();

واللي تقرا الحروف حرف حرف ..

السؤال هو اني اريد المستخدم يدخل كلمة أو جملة وابي اقرا كل حرف لحاله وابدل أول حرفين من كل كلمة الا اذا كانت (a,e,i,o,u and y ) فيخليها على ما هي ..

البرنامج مطلوب مني بعد بكره وما أدري شلون أبدا .. البداية مشكلتي .. بعدين ممكن أسلك ..

أنا أرفقت البرنامج (البرنامج منطق أكثر من كونه مفيد) المطلوب مني في الرابط تحت (الشرح بالانجليزي) .. فأرجو ممن لديه خبره مع لغة أنه يخدمني كيف ابدأ في كتابة البرنامج .. وأنا شاكر ومقدر وداعي له بالخير ..

http://layalyqena.com/up/uploads/0202a68b80.zip

من هنا تحميل البرنامج .. الرجاء فك الضغط وقرائته .. وان لم يعمل الرابط .. بس عطوني خبر .. :)

في الانتظار .. :)

محبكم .. :)

#2

في البدايه يجب التذكير بأن هذا المنتدى مش لحل الواجبات فيه :angry:

لانه لو صار هيك ما حد حيستفيد شي

يعني انت لو تحاول و تفرجينا شو طلع معك ممكن نعدلم كم شغلة لحتى توصل لحل -_-

على كل انا رح اعطيك البداية :D

البرنامج المطلوب سهل بش شغل مخك شوي :blink:

هلا الأمر

cin.getline(name,20);

بخليك تقدر تقرأ كلمة اقصى طول لها هو 20 والكيد انت بتقدر تغير الطول متل ما بدك :o :o

والكلمة المقروءة يضعها في المصفوفة المعرفة مسبقا name على انها من نوع char

و بالتهاية صفت تعامل مع ممصفوفة لا أكثر B)

white soul

;)

Computer Engineer

2007

"اللهم يا مثبت القلوب ثبت قلبي على دينك "

ولدتك امك باكيا والناس حولك يضحكون سرورا

فافعل لنفسك ان تكون اذا بكوا في يوم موتك ضاحكا مسرورا

#3

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

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

تحياتي لك

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#4

اخ مصمم نجد دكتوركم مره شديد طالب خرابيط كثيره على العموم هو طالب منك عدم استخدام السلاسل و المصفوفات يبيك تستخدم بس ال char والتعليمات الباقيه يقولك اكتب الغورثم البرنامج في اول الكود على شكل comment ولازم الكود يكون readable يعني ماتخربط في اسامي المتغيرات (اقصد لازم تكون اسامي المتغيرات ذات معنى ) و لازم تشرح السطور المهمه ب comments

-------

البرنامج لازم يسحب من المستخدم حتى يضغط انتر فأنت تعرف متغير char و تدخل في لوب و داخل اللوب تتعرف على الحروف اللي دخلها و تستبدل اول حرفين من كل كلمه وبعدين تحذف جميع الحروف هذي

a,e,i,o,u ,y إلا إذا كانت الحرف الجديد للكلمه (يعني بدلت اول احرفين وصار هو الحرف الاول للكلمه) و لا تنسى إذا بدلت الحرفين ت خلي الحرف الاول في ال uppercase (يعني كبتل لتر)

الملخص :

1- ممنوع تستخدم سلاسل (strings) و مصفوفات (arrays)

2- اكتب الغورثم للبرنامج في اول الكود و ضعه على شكل تعليق(comment)

3-اشرح السطور المهمه بتعليقات comment

4-اجعل الكود سهل القراءه وذلك بتوضيح اسماء المتغيرات الاكثار من وضع المسافات .

موفق ان شاء الله

#5

أشكركل من رد من قل قلبي .. فعلا حسيت اني بين أخواني ..

وايت سول .. مشكور على ردك .. أنا ما كنت ابي حل البرنامج كله .. انا بس بغيت طريقة البدارية وتسلم على الرد ..

تايم .. مثل ما قال أخوي .. الدكتورة مانعه استخدام المصفوفات (arrays) ولا كان بتكون سهله ..

أخوي .. UUNUU .. أشكرك من كل قلبي .. أنا فاهم المطلوب مني ((مشكلتي في التطبيق :))) بس لما اكتب الكود اللي يقرا حرف حرف .. ما اعرف كيف اتعامل مع كل حرف على حدا (لحاله) يعني كيف اقوله الحرف الأول اعمل فيه كذا ووالثاني كذا .. أنا حاولت ابدا وبأوريك شغلي وأبي رايكـ .. ونصيحك تقولي شلون أتعامل مع كل حرف لحاله وابدل الحروف .. :)

تفضل ..

// cs 161
// Program #4

   //Header file
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <math.h>

// Welcome the user using a function for the EXTRA credit

using namespace std;

void welcome();
int main()
{

	 welcome();
	 //Declare variable
	 char ch;
	 cout << " Please enter three to five words";
	 cout << endl;
do{
	 ch = cin.get();
}

	 while (ch != '\n');
	 return 0;
}
void welcome()
{
	 cout << " Welcome to my program. It's time to have some fun.\n"
	 " If you have any question, please contact me  ";
	 cout << endl;

-------------------------------------------------------------------------------------------

في انتظار ردكـ أخي العزيز .. :)

تم تعديل هذه المشاركة بواسطة مصمم نجد في 10 نوفمبر 2006 في 21:11

#6

اخوي مصمم نجد ليش مدخل كل هالمكاتب في البرنامج

#include <iostream>

#include <fstream>

#include <iomanip>

#include <string>

#include <math.h>

ترى ماتحتاج منها إلا iostream ، و في السطر قبل الاخير

cout << " Welcome to my program. It's time to have some fun.\n"

" If you have any question, please contact me ";

لازم يكون زي كذا

cout << " Welcome to my program. It's time to have some fun.\n"

<< " If you have any question, please contact me ";

عموما كود البرنامج لازم

#include <iostream>

int main()
{

char ch = "";
char c = "";
int  s = 1;
for(;;)
{
cin >> ch;
ch = tolower(ch);
if (ch=='\n')
{
break;
}
if(ch==" ")
{
s = 1;
c = ch;
cout << " ";
complete;
}

if(s== 0)
{
if(ch== a || e || i || o || u || y)
{
complete;
}
else
{
cout << ch;
}

}

if(s==1)
{
if(c == a ||e ||i ||o || u || y)
{
cout << toupper(ch);
s= 0;
}
else
{
cout << toupper(ch);
cout << tolower(c);
s = 0;
}


}

}

return 0;

تراني كتبت الكود في المنتدى على السريع و ماجربته (يعني ممكن فيه كم خطأ)

موفق ان شاء الله

#7

تسلم أخوي على الخدمة ..

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

أشكركـ بعنف مرة أخرى .. أنا بحاول اقرا برنامجك وافهمه .. واعيد كتابته .. واذا عندي أسأله سأضعها هنا ..

الله يوفقك ويكتب أجركـ .. :)

#8

أخوي .. جربت البرنامج .. وطلع لي اخطاء كثيرة .. حاولت اصفي بعضها الين تقريبا خلصتها .. ويوم جيب اجرب .. صرت كل ما ادخل كلمة يطلع لي رقم 75 .. وفيه خطأ غريب صادفني يقول

test.cpp:17: error: ISO C++ forbids comparison between pointer and integer

في انتظار مساعدتك أخوي .. واذا قدرت تجرب البرنامج .. أكون شاكر وممتن لك يا غالي .. :)

محبك الداعي لك بالخير .. :)

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…