اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

السلام عليكم 

التمرين المرفق هو تمرين يطلب الاتي 
تطبيق غير قابل للاغلاق التلقائي و لعمل تلك النقطه 

 

#include <iostream>
using namespace std;
int run = 1; // قيمة متغيرة عامة على مستوى التطبيق 

int main()
{
	// هذه الداله تبحث في قيمة المتغير run 
  	// في حالة تغيرة قيمة run يتوقف التطبيق 
	while (run == 1) 
    {
    
    
    
    
    }

}

يتبع 

في التطبيق مطلوب قائمة اوامر يتم التنقل بين اوامرها و فيها امر اغلاق التطبيق 

#include <iostream>
using namespace std;

int run = 1; // قيمة متغيرة عامة على مستوى التطبيق 

// دالة لطباعة قائمة الاوامر

void displayMenu() {
    cout << "         Main Menu         "  << "\n" ;
    cout << "=============================="  << "\n" ;
    cout << " 1 -- Inster String"  << "\n" ;
    cout << " 2 -- Print Reserved " << "\n";
    cout << " 3 -- Print Normall " << "\n";
    cout << " 4 -- Exit Program" << "\n";
    cout << " \nPlease Enter Your Choice : " ;
    
}
  
int main()
{
	// هذه الداله تبحث في قيمة المتغير run 
  	// في حالة تغيرة قيمة run يتوقف التطبيق 
	while (run == 1) 
    {
    
    		int put; // متغير للتنقل بين اوامر القائمة
      		std::cin >> put ; // كود استقبال الامر 
      		switch(put) // كود التدقيق في المدخلات و التنقل 
            {
                case 1: // في حالة كان الادخال 1
                    
                	displayMenu();
                    break;

                case 2: // في حالة كان الادخال 2

                    
                    displayMenu();
                    break;
                
              	case 3: // في حالة كان الادخال 3
                    
                    displayMenu();
                    break;
                
              	case 4: // في حالة كان الادخال 4 لانهاء التطبيق 
                	
                	cout<< "\nThank You For using my program" ;
                	run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق 
                	break;
            };
    
    
    }

}

يتبع

طلب التطبيق اول امر في القائمة ادخال نص 

#include <iostream>
using namespace std;

int run = 1; // قيمة متغيرة عامة على مستوى التطبيق 
string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم 
// دالة لطباعة قائمة الاوامر

void displayMenu() {
    cout << "         Main Menu         "  << "\n" ;
    cout << "=============================="  << "\n" ;
    cout << " 1 -- Inster String"  << "\n" ;
    cout << " 2 -- Print Reserved " << "\n";
    cout << " 3 -- Print Normall " << "\n";
    cout << " 4 -- Exit Program" << "\n";
    cout << " \nPlease Enter Your Choice : " ;
    
}
// دالة لتنفيذ عملية ادخال النص في case 1 
void savestring (){
    
                cout << "\nPlease Enter Your string : " ;
                std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات 

                displayMenu();
}

int main()
{
  	displayMenu(); // اظهار القائمة عند بدء تشغيل التطبيق
	// هذه الداله تبحث في قيمة المتغير run 
  	// في حالة تغيرة قيمة run يتوقف التطبيق 
	while (run == 1) 
    {
    
    		int put; // متغير للتنقل بين اوامر القائمة
      		std::cin >> put ; // كود استقبال الامر 
      		switch(put) // كود التدقيق في المدخلات و التنقل 
            {
                case 1: // في حالة كان الادخال 1
                    
                	// displayMenu();
                	savestring(); // ادخال النص و اظهار القائمة 
                    break;

                case 2: // في حالة كان الادخال 2

                    
                    displayMenu();
                    break;
                
              	case 3: // في حالة كان الادخال 3
                    
                    displayMenu();
                    break;
                
              	case 4: // في حالة كان الادخال 4 لانهاء التطبيق 
                	
                	cout<< "\nThank You For using my program" ;
                	run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق 
                	break;
            };
    
    
    }

}

 

  • 0
نشر

طلب التطبيق تحويل النص الى مصفوفه و عرضه في التطبيق

#include <iostream>
#include <bits/stdc++.h>
using namespace std;


int run = 1; // قيمة متغيرة عامة على مستوى التطبيق 

string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم 

// دالة لطباعة قائمة الاوامر

void displayMenu() {
    cout << "         Main Menu         "  << "\n" ;
    cout << "=============================="  << "\n" ;
    cout << " 1 -- INPUT A STRING"  << "\n" ;
    cout << " 2 -- PRINT A STACK " << "\n";
    cout << " 3 -- PRINT A QUEUE " << "\n";
    cout << " 4 -- Exit " << "\n";
    cout << " \nPlease Enter Your Choice : " ;
    
}

// دالة لتنفيذ عملية ادخال النص في case 1 
void savestring (){
    
                cout << "\nPlease Enter Your string : " ;
                std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات 
                cout << "\n- " << datastr << " String Inserted \n\n " ;
                displayMenu();
}
// دالة تحويل النص الى مصفوفه
void stringtoarray(){
        
                    cout << "\n" << "A string in a queue " << "\n"; 
                    int n = datastr.length(); // حساب حروف النص
                    
                    char char_array[n + 1] ; // انشاء مصفوفه 
                    
                    strcpy(char_array, datastr.c_str());  
                    // انشاء المصفوفه
                    for(int i = 0; i < n; i++){
                        // طباعة النص 
                        cout << char_array[i] << " "; 
                        
                    };
                        
                    cout << "\n"; 
                    displayMenu();
            
}

int main()
{
    displayMenu();
	// هذه الداله تبحث في قيمة المتغير run 
  	// في حالة تغيرة قيمة run يتوقف التطبيق 
	while (run == 1) 
    {
    
    		int put; // متغير للتنقل بين اوامر القائمة
      		std::cin >> put ; // كود استقبال الامر 
      		switch(put) // كود التدقيق في المدخلات و التنقل 
            {
                case 1: // في حالة كان الادخال 1
                    
                	// displayMenu();
                	savestring(); // ادخال النص و اظهار القائمة 
                    break;

                case 2: // في حالة كان الادخال 2
                    
                    displayMenu();
                    break;
                
              	case 3: // في حالة كان الادخال 3
                    
                    
                    
                    stringtoarray();
                    break;
                
              	case 4: // في حالة كان الادخال 4 لانهاء التطبيق 
                	
                	cout<< "\nThank You For using my program" ;
                	run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق 
                	break;
            };
    
    
    }

}

 

5fd26cdbe92c7_Screenshot2020-12-10204515.thumb.png.4e3ac00e8ac59630c268d522f3373b41.png

  • 0
نشر

الحل النهائي بكامل الامكانيات المطلوبه 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;


int run = 1; // قيمة متغيرة عامة على مستوى التطبيق 

string datastr; // تعين متغير عام لحفظ النص المدخل عن طريق المستخدم 

// دالة لطباعة قائمة الاوامر
// A structure to represent a stack  
class Stack  
{  
    public: 
    int top;  
    unsigned capacity;  
    char* array;  
};  
  
// function to create a stack of given  
// capacity. It initializes size of stack as 0  
Stack* createStack(unsigned capacity)  
{  
    Stack* stack = new Stack(); 
    stack->capacity = capacity;  
    stack->top = -1;  
    stack->array = new char[(stack->capacity * sizeof(char))];  
    return stack;  
} 

void displayMenu() {
    cout << "         Main Menu         "  << "\n" ;
    cout << "=============================="  << "\n" ;
    cout << " 1 -- INPUT A STRING"  << "\n" ;
    cout << " 2 -- PRINT A STACK " << "\n";
    cout << " 3 -- PRINT A QUEUE " << "\n";
    cout << " 4 -- Exit " << "\n";
    cout << " \nPlease Enter Your Choice : " ;
    
}

// دالة لتنفيذ عملية ادخال النص في case 1 
void savestring (){
    
                cout << "\nPlease Enter Your string : " ;
                std::getline(std::cin >> std::ws, datastr); // ws يسمح بادخال المسافات 
                cout << "\n- " << datastr << " String Inserted \n\n " ;
                displayMenu();
}
// دالة تحويل النص الى مصفوفه
void stringtoarray(){
        
                    cout << "\n" << "A string in a queue " << "\n"; 
                    int n = datastr.length(); // حساب حروف النص
                    
                    char char_array[n + 1] ; // انشاء مصفوفه 
                    
                    strcpy(char_array, datastr.c_str());  
                    // انشاء المصفوفه
                    for(int i = 0; i < n; i++){
                        // طباعة النص 
                        cout << char_array[i] << " "; 
                        
                    };
                        
                    cout << "\n"; 
                    displayMenu();
            
}


// التاكد ان الحرف اخر حرف في المصفوفه  

int isFull(Stack* stack)  
{ return stack->top == stack->capacity - 1; }  
  
// التاكد من اول حرف في المصفوفه  
int isEmpty(Stack* stack)  
{ return stack->top == -1; }  
  
// اضافة محتويات النص بالعكس

void push(Stack* stack, char item)  
{  
    if (isFull(stack))  
        return;  
    stack->array[++stack->top] = item;  
}

char pop(Stack* stack)  
{  
    if (isEmpty(stack))  
        return -1;  
    return stack->array[stack->top--];  
} 
// دالة A string in a stack
void strreverse(){
            
            int n = datastr.length();
      		char str_arr[n + 1] ;
      		strcpy(str_arr, datastr.c_str());
      		int y = strlen(str_arr);
      		
      		Stack* stack = createStack(y);
      		
      		// Push all characters of string to stack  
            int i;  
            for (i = 0; i < y; i++)  
                push(stack, str_arr[i]);  
          
            // Pop all characters of string and  
            // put them back to str  
            for (i = 0; i < y; i++) { 
               
                str_arr[i] = pop(stack); 
            }
      		cout << str_arr  << "\n ";
            displayMenu();
    
    
}


int main()
{
    displayMenu();
	// هذه الداله تبحث في قيمة المتغير run 
  	// في حالة تغيرة قيمة run يتوقف التطبيق 
	while (run == 1) 
    {
    
    		int put; // متغير للتنقل بين اوامر القائمة
      		std::cin >> put ; // كود استقبال الامر 
      		
      		switch(put) // كود التدقيق في المدخلات و التنقل 
            {
                case 1: // في حالة كان الادخال 1
                    
                	// displayMenu();
                	savestring(); // ادخال النص و اظهار القائمة 
                    break;

                case 2: // في حالة كان الادخال 2
                    
                    strreverse(); // A string in a stack function
                    
                    break;
                
              	case 3: // في حالة كان الادخال 3
                    
                    
                    
                    stringtoarray();
                    break;
                
              	case 4: // في حالة كان الادخال 4 لانهاء التطبيق 
                	
                	cout<< "\nThank You For using my program" ;
                	run = 0; // تغير قيمة المتغير run لاغلاق الحلقه و اغلاق التطبيق 
                	break;
            };
    
    
    }

}

Untitled.thumb.png.27c5b832ef783187c8e0d0f3259f3243.png

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...