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

سؤال بسيط..

مغلق
بدأه المشتاقة للرحمن في 30 نوفمبر 2007 · 5 رد · 651 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي برنامج لتسجيل الطلاب ..و أريد أن أتحقق اذا كان المستخدم أدخل ارقام أم حروف باستخدام دالة isalpha لكن اسم الطالب من نوع

string

و الدالة تأخذ char أو char array فما هو الحل؟؟ماذا أفعل؟؟

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

cin.get(course,3)فماذا أفعل؟؟؟

ارجو اجابتي اليوم...ارجوكم الله يعافيكم

#2

هذه داله تاخذ النص فترد 1 اذا كان نص وصفر اذا كان يحتوي اي عدد.

int isstring(string str)

{

int n=1;

for(int i=0;i<str.length();i++)

if (isalpha(str)==0)

n= 0;

return n;

}

تم تعديل هذه المشاركة بواسطة arabi2013 في 30 نوفمبر 2007 في 20:21

tvquran_6.gif

#3

السلام عليكم

اختي جربي ان تستخدمي اي من الدوال التالية:

strchr()

strrchr() او:

strstr()

او من الممكن ان تستخدمي دالة isdigit() وتجعليها ترجع صفر ان كانت ترجع رقم او ترجع الحروف

لك مطلق الحرية بذلك

اتمنى ان اكون قد ساعدتك والله موفق الجميع

#4
/* Main.cpp*/
#include "Student.h"/*Student class definition*/
#include "Date.h"/*Date class definition*/
#include <cstdlib>
#include <cctype>
using namespace std;

int isstring(string str)

{

int n=1;

for(int i=0;i<str.length();i++)

if (isalpha(str)==0)

n= 0;


return n;

}

int main()
{
  string studentname;
	string course;
	int day,month,year;
	int	numberOfCredits;
	cout<<"please enter name"<<endl;
	cin>>studentname;
	isstring(studentname);
	cout<<"enter register date"<<endl;
	cin>>day>>month>>year;

	Date d(day,month,year);

	Student st(studentname,d);

	cout<<"enter name of course"<<endl;
	cin>>course;
	cout<<"enter number of credits"<<endl;
	cin>>numberOfCredits;
	Course c(course,numberOfCredits);
	c+st;
	st+c;
	c-st;
	!st;

	st.printDetails();

	return 0;
}/*end main*/

جزاكم الله خير الجزاء ..

.لكن بقي سؤالي كيف اجعل الكورسات تدخل فقط بحرفين..و تحفظهم في متغير من نوع string

يعني مثلا MA فقط و لا يسمح بإكثر من حرفين..

و عندي خطأ في طريقة التحويل الى int إذا ادخل المستخد التريخ بالاسم و ليس رقم؟؟؟انا استخدمتatoi

#5

char hh[2];

char st;

string str="AA";

int a=0;

do

{

st=getche();

hh[a]=st;

a++;

}while(a<2) ;

cout<<endl ;

str[0]=hh[0] ;

str[1]=hh[1];

cout<<str <<endl;

ارجوا ان يفي بالغرض

tvquran_6.gif

#6

بارك الله فيكم جميعا..

لكن الدالة الأخيرة لم تجدي..و جزاك الله خيرا

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

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