Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: [Mảng] - Xây dựng menu

  1. #1
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định [Mảng] - Xây dựng menu

    Yêu cầu đề bài:
    Xây dựng menu thực hiện chức năng sau:
    1. Nhập mảng
    2. Xuất mảng
    2. Thoát

    Mình đã viết code nhưng chỉ chạy được menu 1. Nhập mảng thôi.
    Mong mọi người giúp:

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <stdlib.h>
    4. void nhapmang(int a[], int &n)
    5. {
    6.     int i;
    7.     printf("Nhap kich thuoc mang: ");
    8.     scanf("%d", &n);
    9.     for(i = 0; i < n; i++)
    10.     {
    11.         printf("Nhap phan tu a[%d]: ", i);
    12.         scanf("%d", &a[i]);
    13.     }
    14. }
    15. void xuatmang(int a[], int n)
    16. {
    17.     int i;
    18.     for(i = 0; i < n; i++)
    19.     {
    20.         printf("%d ", a[i]);
    21.     }
    22. }
    23. bool stop = false;
    24. void menu ()
    25. {
    26.     int a[100], n;
    27.     char chon;
    28.     printf("Menu list:\n");
    29.     printf("1. Nhap mang\n");
    30.     printf("2. Xuat mang\n");
    31.     printf("3. Thoat\n");
    32.     printf("Vui long chon chuc nang: ");
    33.     scanf("%c", &chon);
    34.     switch(chon)
    35.     {
    36.     case '1': nhapmang(a, n);
    37.         break;
    38.     case '2':
    39.         {
    40.             printf("Mang da nhap: ");
    41.             xuatmang(a, n);
    42.         }
    43.         break;
    44.     case '3':
    45.         {
    46.             stop = true;
    47.             printf("***Ket thuc chuong trinh***\n");
    48.         }
    49.         break;
    50.     }
    51.     return;
    52. }
    53. void main ()
    54. {
    55.     while(!stop)
    56.     {
    57.         system("cls");
    58.         menu();
    59.     }
    60.     getch();
    61. }
    Đã được chỉnh sửa lần cuối bởi tranlongpc325 : 04-05-2012 lúc 02:27 PM.

  2. #2
    Ngày gia nhập
    04 2010
    Nơi ở
    Binh Thanh, Hồ Chí Minh, Vietnam, Vietnam
    Bài viết
    504

    C Code:
    1. void menu ()
    2. {
    3.     int a[100], n;
    4. //  bool stop = false; // Biến stop là cục bộ trong hàm.
    5.     stop = false; // sửa lại
    6.     char chon;
    7.     printf("Menu list:\n");
    8.     printf("1. Nhap mang\n");
    9.     printf("2. Xuat mang\n");
    10.     printf("3. Thoat\n");
    11.     printf("Vui long chon chuc nang: ");
    12.     scanf("%c", &chon);
    13.     fflush(stdin);
    14.     switch(chon)
    15.     {
    16.     case '1': nhapmang(a, n);
    17.         break;
    18.     case '2': xuatmang(a, n);
    19.         break;
    20.     case '3':
    21.         {
    22.             stop = true;
    23.             printf("***Ket thuc chuong trinh***\n");
    24.         }
    25.         break;
    26.     default:
    27.         printf("Vui long chon dung chuc nang!\n");
    28.     }
    29. }
    Kết bạn với tôi <3
    Skype: giautm
    Facebook:
    https://fb.com/giautm.duongntt
    Email:
    giau.tmg@gmail.com

  3. #3
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Mình code tạm cho bạn tham khảo

    Visual C++ Code:
    1. // CppTutorial.cpp : Defines the entry point for the console application.
    2. //
    3.  
    4. #include "stdafx.h"
    5.  
    6. unsigned int NhapMang(int *&nMang)
    7. {
    8.     using namespace std;
    9.     unsigned int nSoPhanTu;
    10.     cout<<"Nhap so phan tu mang :";
    11.     cin>>nSoPhanTu;
    12.  
    13.     nMang = new int[nSoPhanTu];
    14.  
    15.     for (int i = 0 ; i < nSoPhanTu ; i++)
    16.     {
    17.         cout<<"Nhap phan tu thu "<<i<<" : ";
    18.         cin>>nMang[i];
    19.     }
    20.  
    21.     return nSoPhanTu;
    22. }
    23.  
    24.  
    25. void XuatMang(int *nMang,int nSoPhanTu)
    26. {
    27.     using namespace std;
    28.     for (int i = 0 ; i < nSoPhanTu ; i++)
    29.     {
    30.         cout<<"Mang["<<i<<"] = "<<nMang[i]<<"\t";
    31.     }
    32.     cout<<endl;
    33. }
    34.  
    35. int _tmain(int argc, _TCHAR* argv[])
    36. {
    37.     using namespace std;
    38.    
    39.     int nMenuIndex;
    40.     int* nMang = NULL;
    41.     unsigned short nSoPhanTu = 0;
    42.  
    43.     Menu:
    44.     cout<<"1. Nhap mang."<<endl;
    45.     cout<<"2. Xuat mang."<<endl;
    46.     cout<<"3. Thoat."<<endl;
    47.  
    48.     cin>>nMenuIndex;
    49.  
    50.     switch(nMenuIndex)
    51.     {
    52.     case 1:
    53.         if(nMang != NULL)
    54.         {
    55.             delete[] nMang;
    56.             nMang = NULL;
    57.         }
    58.  
    59.         nSoPhanTu = NhapMang(nMang);
    60.  
    61.         goto Menu;
    62.     case 2:
    63.         if(nMang != NULL)
    64.             XuatMang(nMang,nSoPhanTu);
    65.         goto Menu;
    66.     case 3:
    67.         goto EXIT;
    68.     default:
    69.         goto Menu;
    70.     }
    71.  
    72. EXIT:
    73.     if(nMang != NULL)
    74.         delete[] nMang;
    75.     return 0;
    76. }
    Đã được chỉnh sửa lần cuối bởi luc13aka47 : 03-05-2012 lúc 10:00 PM.

  4. #4
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Em chỉ chạy được 2 chức năng: nhập và thoát thôi.
    Còn chức năng xuất thì nó cứ báo lỗi Runtime!

  5. #5
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Lỗi gì bạn cho mình thông tin cụ thể.

    Trên máy mình vẫn chạy ngon :


  6. #6
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Mặc định [Mảng] - Xây dựng menu

    Em không hiểu sao mà chạy chương trình cứ bị báo lỗi Runtime ngay chỗ hàm xuất mảng. Hic!


  7. #7
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Trích dẫn Nguyên bản được gửi bởi tranlongpc325 Xem bài viết
    Em không hiểu sao mà chạy chương trình cứ bị báo lỗi Runtime ngay chỗ hàm xuất mảng. Hic!
    Bạn phải nói rõ đó là code của bạn chứ.

    Biến n của bạn khai báo như vậy trong hàm Menu sẽ có phạm vi trong hàm Menu.

    Nó chỉ được khởi tạo khi bạn chọn chức năng 1, nhưng sau khi kết thúc chức năng 1, bạn cho break và return để kết thúc hàm Menu luôn. Vì vậy biến n sẽ bị huỷ.

    Và khi hàm Menu được thực thi lại thông qua vòng lặp While trong hàm Main, khi bạn chọn chức năng 2, biến n lúc đó mới chỉ được khai báo và chưa được khởi tạo.

  8. #8
    Ngày gia nhập
    10 2010
    Bài viết
    177

    Cậu cho nhập vào 1 số n
    Trên menu dùng switch ... case ...
    + Viết hàm Nhập, Xuất, ...
    + Tương ứng số nào thì cho nó thực hiên chức năng đó

  9. #9
    Ngày gia nhập
    02 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi luc13aka47 Xem bài viết
    Bạn phải nói rõ đó là code của bạn chứ.

    Biến n của bạn khai báo như vậy trong hàm Menu sẽ có phạm vi trong hàm Menu.

    Nó chỉ được khởi tạo khi bạn chọn chức năng 1, nhưng sau khi kết thúc chức năng 1, bạn cho break và return để kết thúc hàm Menu luôn. Vì vậy biến n sẽ bị huỷ.

    Và khi hàm Menu được thực thi lại thông qua vòng lặp While trong hàm Main, khi bạn chọn chức năng 2, biến n lúc đó mới chỉ được khai báo và chưa được khởi tạo.
    Cảm ơn thật nhiều!
    Mình hiểu rồi, bạn có thể hướng dẫn mình cách khắc phục lỗi này không?

  10. #10
    Ngày gia nhập
    12 2008
    Nơi ở
    Hà Nội
    Bài viết
    374

    Bạn có thể tham khảo code của mình ở #3.

Các đề tài tương tự

  1. Dựng 1 menu Asp.net bằng thẻ <ul> <li> hay Control [ Menu , SiteMap , Repeater , Treeview]
    Gửi bởi teodainhan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 30-05-2013, 01:04 PM
  2. Source Code menu thêm item vào Menu Context
    Gửi bởi babyboy_pk trong diễn đàn Dự án & Source code C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 25-03-2013, 01:56 PM
  3. Googlechomre không hiển thị menu con khi dùng sitemapth để load menu đa cấp
    Gửi bởi thitcholaotien trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 6
    Bài viết cuối: 09-04-2012, 02:19 PM
  4. Tạo menu theo dạng Menu cha - con như thế nào?
    Gửi bởi tuanvu199x trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 06-11-2011, 10:45 PM
  5. Hight light menu trong C như của Menu HirentBoot?
    Gửi bởi manhdt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 08-09-2011, 09:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn