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

كيف اكتب سلسلة حرفيه بلغة c++

مغلق
بدأه وجدانك في 8 مايو 2007 · 3 رد · 2,269 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

انا ابي اكتب برنامج بلغة سي بلس بحيث اني اذا طلعت لي الشاشه السوداء اكتب فيها كلمة

fact

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

انا سويت هذا

#include<iostream.h>

#include<string.h>

void fact (f[4])

{int x;

x=strcmp(f,fact);

cout<<" ";}

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

string.h

ctype.h

ياليت تساعدوني ياخبراء سي بلس

#2

السلام عليكم ورحمة الله وبركاته

كيف الحال أخوي وجدانك

آسف جدا جدا جد على التأخير

ولكن إن شاء الله راح أفيدك

أول حاجه خليني أقلك إش الي انا فهمته من سؤالك

أنت تبغى تقارن سلسله من الحروف خينا نسميها "string" مع كلمة fact

طيب انا راح اجوابك عن طريق كود جربته في Visual C++ 6

بس قبل كل شيء خليني أعقب على الـ function الي انت كتبتها بإسم fact

أول شيء القيم المرسله لي fact بدون نوع وهذه غلط كبير في السي

وثاني شيء نفرض انه انت حددت النوع بس لو تلاحظ القيمه المرسله هي عنصر واحد من "array"

المهم خلينا من هذا الكلام وخلينا نشوف الحل

الحل هو عن طريق الـ array

عرف array من نوع char

char arr[100]

بعد ذلك قم بإستخدام الداله cin.getline

وهذه الداله تأخذ يمتين "arguments"

الأولى هي التي تحدد إسم المتغير الذي سيتم فيه تخزين القيمه المدخله من المستخدم ( في حالتنا المتغير هو arr)

الثانيه وهي عدد الحروف ( في حالتنا 100 حرف)

سيكون الكود كالتالي

cin.getline(arr,100)

وبعد ذلك ستقوم بتعريف دالة خاصة بك لتقوم بمقارنة ما يدخله المستخدم مع كلمة "fact" ولنفرض انه إسمها fact ونرسلها مؤشر من نوه char

وداخلها راح نستخدم الداله strcmp الي راح تقوم بمقارنه المؤشر مع كلمة "fact"

ملاحظة على الدالة strcmp

هذه الداله راح ترجعلنا صفر في حالة تساوي القيم الي راح يتم ارسالها إليها

راح يكون الكود كالتالي

void fact(char *user_str) {
if (strcmp(user_str, "fact") == 0)
	cout << "They are matched\n";
else cout << "They are not matched\n";
}

وإن شاء الله يكون الشرح وافي وكافي واتمنالك التوفيق وخذ الكود كامل:

#include <iostream.h>
#include <conio.h>
#include <string.h>


void fact(char *user_str) {
	if (strcmp(user_str, "fact") == 0)
		cout << "They are matched\n";
	else cout << "They are not matched\n";
}

void main() {
	char arr[100];
	cin.getline(arr,100);
	fact(arr);
}

تم تعديل هذه المشاركة بواسطة Robatic في 8 مايو 2007 في 14:30

#3

مشكور اخوي ويعطيك العافية

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

اخوي ترا انا مابيه يطبع شي ابدا ولا كلمة

اللي ابيه اكتب انا على الشاشه السودا كلمة

fact

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

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

#4

سلام من القلب للقلب بسرعة خط دي اس ال 1 ميقا

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

افا عليك انت قدها وقدود

كل الي يلزمك هو شوية معلومات

وترا يا وجدانك لا يغرك اكثر المبرمجين

انا عن نفسي عارف كيف ابرمج ؟

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

وبعد كذا تجي الأفكار

وترا يا وجدانك الناس بالناس والكل بالله

والله يوفقك ويسدد خطاك وشد حيلك ولا تنسى قول الله سبحانه تعالى

" إن الله لا يضيع عمل عامل منكم من ذكر أو انثى"

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

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