1. Trang chủ
  2. » Luận Văn - Báo Cáo

Viết chương trình Đăng ký tài khoản thành viên cho người dùng gồm các thông tin

21 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 4,17 MB

Nội dung

2.2 Cấu Trúc dữ liệu và biến _Chính là: struct userInfo : Hình 2.1  Được sử dụng để tổ chức thông tin người dùng như: Họ và Tên,Ngày Tháng Năm Sinh, Thành Phố, Giới Tính, Email, Số Điện

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TPHCM

VIỆN ĐÀO TẠO CHẤT LƯỢNG CAO

Trang 2

TPHCM, Ngày 21, Tháng 1, Năm 2024

Trang 3

LỜI NÓI ĐẦU

_Nhóm 4 chúng em xin gửi đến thầy Bùi Văn Thượng lời chào trântrọng Đồng thời chúng em xin phép được giới thiệu và trình bày về

dự án nhỏ mà em đã thực hiện với hy vọng nhận được sự hướng dẫn

và phản hồi từ thầy Dự án của chúng em là một ứng dụng nhậpthông tin người dùng và lưu trữ, được viết bằng ngôn ngữ lập trìnhC++ Chúng em đã cố gắng tích hợp các khái niệm lập trình cơ bản

mà chúng em đã học từ các buổi giảng dạy từ thầy Trong bài viếtnày, chúng em sẽ trình bày về bài toán, cơ sở lý thuyết, phươngpháp thực hiện, quá trình thực hiện, kết quả thực nghiệm, ưu điểm,nhược điểm, kết luận, kiến nghị và hướng phát triển của dự án.Chúng em hi vọng rằng bài trình bày này sẽ thỏa mãn và đáp ứngđược những yêu cầu của đề tài mà thầy đã giao

_Em trân trọng cảm ơn thầy đã dành thời gian đọc qua bài viết vàmong nhận được sự hỗ trợ và đánh giá từ phía thầy

Chân thành cảm ơn, Thầy rất nhiều ạ

Trang 4

MỤC LỤC

1.GIỚI THIỆU 1

1.1 Giới Thiệu Về Bài Toán 1

1.2 Bài Toán và Mục Tiêu 1

2.CƠ SỞ LÝ THUYẾT 2

2.1 Ngôn ngữ C++ 2

2.2Cấu Trúc dữ liệu và biến 2

2.3 Hàm và xử lý 2

2.4 Hàm kiểm tra mật khẩu 5

2.5 Hàm lưu thông tin vào tệp 5

3.Xử lí chuỗi và mảng 6

3.1 Sử dụng Menu và vòng lặp switch-case 11

3.2 Đọc và Ghi tệp tin 11

4.Kết quả thực nghiệm 12

4.1 Chạy chương trình 12

4.2 Yêu cầu chương trình 12

4.3 Kết quả 12

5.Ưu điểm và Nhược điểm 13

5.1 Ưu điểm 13

5.2 Nhược điểm 13

6.Kết luận kiến nghị và hướng phát triển 14

6.1 Kết luận kiến nghị 14

6.2 Gợi ý phát triển 14

Trang 5

DANH MỤC HÌNH ẢNH

2.CƠ SỞ LÝ THUYẾT 2

Hình 2.1 2

Hình 2.2 2

Hình 2.3 3

Hình 2.4 3

Hình 2.5 4

Hình 2.6 4

Hình 2.7 5

Hình 2.8 5

3.Xử lí chuỗi và mảng 6

Hình 3.1 6

Hình 3.2 6

Hình 3.3 7

Hình 3.4 7

Hình 3.5 7

Hình 3.6 7

Hình 3.7 8

Hình 3.8 8

Hình 3.9 9

Hình 3.10 9

Hình 3.11 10

Hình 3.13 11

Hình 3.14 11

Hình 3.15 11

4.Kết quả thực nghiệm 12

Hình 4.1 12

Hình 4.2 12

Hình 4.3 12

Hình 4.4 13

Trang 6

1.GIỚI THIỆU1.1 Giới Thiệu Về Bài Toán

Trong thế giới số ngày nay, việc quản lý và bảo quản thông tin cánhân là một phần quan trọng của cuộc sống hàng ngày Để đơngiản hóa quá trình này, chúng ta có thể sử dụng các ứng dụng nhậpthông tin người dùng Bài viết này sẽ giới thiệu một ứng dụng đơngiản được viết bằng ngôn ngữ lập trình C++, giúp người dùng nhậpthông tin cá nhân và lưu trữ nó vào một tệp tin

1.2 Bài Toán và Mục Tiêu

Bài toán của chúng ta là xây dựng một chương trình C++ cho phépngười dùng nhập các thông tin như họ tên, ngày tháng năm sinh,thành phố, giới tính, email, số điện thoại, tên đăng nhập và mậtkhẩu Sau đó, chương trình sẽ lưu thông tin này vào một tệp tin vớitên được tạo từ họ tên của người dùng

Đề:

“Họtên:ChỉđượcchứakýtựchữcáiLatin-------

Ngàythángnămsinh:Cầnkiểmtratínhhợplệvàphảiđảmbảongườiđăngký>=16tuổi.Tỉnh, thànhphố:Chophéplựachọntừ10tỉnh,thànhphốchotrước.

Giớitính:chỉchophépnhập“male”,“female”hoặc“other”.

Email:Chỉnhậndữliệudạngchuỗiemail.

Sốđiệnthoại:Chỉnhậnxâukýtựgồm10kýtựlàcácchữsốtừ0->9.Tênđăngnhập:chỉđược chứacáckýtựlàchữcáiLatin,sốvàkýtựgạchdưới.(kýtựđầutiênchỉcóthểlàchữcáiLatin). Mậtkhẩu:Phảiítnhất8kýtự,khôngchứakhoảngtrống,phảicóđầyđủchữcáithường,chữcáiin hoa,sốvàkýtựđặcbiệt.

LưutoànbộthôngtinđăngkýcủangườidùngnếuhợplệvàofileUsername.txttrongđó Usernameđượclấytheohọtêncủangườidùngvàđãthaythếkhoảngtrốngtrongtênbằngkýtự gạchdưới”.

Trang 7

2.CƠ SỞ LÝ THUYẾT

2.1 Ngôn ngữ C++

_Chương trình sử dụng thư viện chuẩn như: <iostream>; <fstream>;

<string>; <ctime> nhằm mục đích để thực hiện các thao tác nhập xuất,

xử lí chuỗi, và làm việc quản lí thời gian

2.2 Cấu Trúc dữ liệu và biến

_Chính là: struct userInfo :

Hình 2.1

 Được sử dụng để tổ chức thông tin người dùng như: Họ và Tên,Ngày Tháng Năm Sinh, Thành Phố, Giới Tính, Email, Số Điện Thoại, Tên Đăng Nhập và Mật Khẩu

2.3 Hàm và xử lý

Hàm Kiểm Tra chuỗi

 isAlphaLatin( const string & str )

2

Trang 9

 isAlphaSpace( const string & str )

Trang 10

2.4 Hàm kiểm tra mật khẩu

 validPass( const string & password )

Sử dụng hàm này để kiểm tra tính hợp lệ của mật khẩu với các yêu cầu như ít nhất 8 ký tự, chứa chữ hoa, chữ thường, số, và ký tự đặc biệt có đủ điều kiện hay không.

Hình 2.7

2.5 Hàm lưu thông tin vào tệp

 saveUserInfoToFile( const string & fileName , userInfo *& user )

Trang 11

 Sử dụng hàm này để nhập họ tên Sau đó, họ tên được kiểm tra

để đảm bảo chỉ chứa ký tự Latinh và khoảng trắng Nếu điều kiệnkhông được đáp ứng, người dùng có lựa chọn nhập lại hoặc thoát chương trình

 dayOfBirth( userInfo *& user )

6

Trang 12

Hình 3.2

 Sử dụng hàm này để nhập và kiểm tra định dạng ngày tháng nămsinh của người dùng theo định dạng dd/mm/yyyy Nếu định dạng không đúng, người dùng có lựa chọn nhập lại hoặc thoát chương trình

_Đoạn mã này giúp chúng ta chuyển đổi phần ngày, tháng, và năm từ chuỗi dayOfBirth( userInfo *& user ) sang số giá trị nguyên tương ứng để thuận cho việc tính tuổi

Hình 3.3

_Các đoạn mã giới hạn các ngày tháng năm

 Kiểm tra xem tháng nhập vào lớn hơn 12, chương trình sẽ hiển thị thông báo lỗi, hỏi người dùng có muốn nhập lại hay không Nếu muốn nhập lại, sử dụng goto để

Trang 13

quay lại điểm nhap Nếu không, chương trình sẽ thoát với mã lỗi exit(1).

Hình 3.4

 Dành riêng cho các tháng

có 31 ngày

Trang 14

người dùng Nếu tuổi chưa đủ, chương trình yêu cầu người dùng nhập lại thông tin Sử dụng goto để quay lại điểm nhập nếu cần, Nếu không muốn nhập lại, chương trình kết thúc với mã lỗi exit(1).

Nếu tuổi đủ, thông tin về ngày tháng năm sinh được lưu vào đối tượng user ->dateOfBirth

Hình 3.8

 Gender( userInfo *& user )

Hình 3.9

Trang 15

hoặc nhập sai kí tự sẽ thoát và cho nhập lại nếu muốn hoặcthoát ra nếu không muốn

 email( userInfo *& user )

 Hàm này để nhập email và kiểm tra đúng định dạng của nó là

“@gmail.com” hay không nếu không sẽ thoát cho nhập lại nếu muốn hoặc thoát nếu không muốn nhập lại

Hình 3.10

10

Trang 16

 phoneNumbers( userInfo *& user )

 Hàm này để nhập số điện thoại nếu số điện loại có size lớn hơn 10

số sẽ cho nhập lại nếu muốn và thoát nếu không muốn nhập lại

Hình 3.11

 password( userInfo *& user )

 Hàm này để nhập mật khẩu và kiểm tra mật khẩu của bạn có đúng định dạng hay không như kiểm tra xem

có kí tự đặc biệt hay một chữ cái viết hoa và và chữ

số hay không Nếu đầy đủ thì chương trình sẽ lưu mật khẩu cho bạn nếu sau sẽ cho bạn nhập lại và thoát ra nếu bạn không muốn nhập lại

Hình 3.12

Trang 17

ofstream file(( fileName + ".txt" ).c_str(), ios ::out | ios ::app);

 Chương trình mở hoặc tạo một tệp tin văn bản với tên được đặt theo

`fileName` Sau đó, nếu việc mở tệp thành công,

nó ghi thông tin người dùng (tên, ngày tháng năm sinh, thành phố, giới tính, email, số điện thoại, tên đăng nhập và mật khẩu) vào tệp tin Nếu mở tệp không thành công,

13

Hình 3.13

Hình 3.15

Trang 18

chương trình thông báo lỗi Cuối cùng, chương trình đóng tệp tin và thông báo trên màn hình về việc đăng ký thành công hoặc không thành công.

4.Kết quả thực nghiệm4.1 Chạy chương trình

_khi chạy chương trình bạn sẽ nhập theo thứ tự đầu tiên là

4.2 Yêu cầu chương trình

_Nếu trong quá trình bạn nhập không đúng định dạng yêu cầu của chương trình Thì chương trình sẽ xuất ra “Nhap sai dinh dang” =>

“Ban co muon nhap lai(1/0)” nếu muốn tiếp tục bạn nhập 1 để nhậplại cho đúng định dạng và

nhập 0 để thoát chương

trình nếu không muốn

nhập nữa

Trang 19

Hình 4.2

4.3 Kết quả

_Sau khi bạn đã điền đầy đủ thông tin và đúng định dạng chương trình sẽ tự động lưu thông tin của bạn vào file trong thư mục với tênthư mục là tên của bạn

1 Kiểm tra dữ liệu đầu vào

 Chương trình kiểm tra một số định dạng và tính hợp lệ của dữ liệu đầu vào như họ và tên,ngày tháng năm sinh, số điện thoại,tên đăng nhập, mật khẩu

2 Sử dụng struct

 Sử dụng cấu trục struct để quản lý người dùng giúp quảng lý thông tin một cách dễ dàng

3 Lưu trữ thông tin

 Chương trình lưu thông tin của người dùng vào 1 file văn bản

để duy trì dữ liệu người dùng

4 Dùng hàm để phân chia chức năng

15

Trang 20

Chương trình chia ra nhiều hàm nhỏ thực hiện các chức vụ riêng Tạo ra sự rõ ràng và dễ duy trì.

2 Không có giao diện cho người dùng.

3 Không có bảo mật mạnh mẽ cho mật khẩu.

4 Chưa kiểm tra 1 số điều kiện.

6.Kết luận kiến nghị và hướng phát triển

6.1 Kết luận kiến nghị

_Chương trình đa chức năng như nhập thông tin người dùng, kiểm tra định dạng, lưu thông tin vào file với một số quy tắc kiểm tra._Kiểm tra độ tuổi yêu cầu người dùng phải đủ 16 tuổi

_Sử dụng cấu trúc dữ liệu để quản lí thông tin người dùng có tổ chức

6.2 Gợi ý phát triển

_Lặp lại code hơi nhiều Gây khó khăn cho việc sữa lỗi.

_Tăng tính năng sửa đỗi cho phép người dùng sửa đỗi thông tin._Bảo mật thông tin tăng tính năng bảo mật thông tin cho người dùng

_Giao diện người dùng tạo sự tương tác cho người dùng.

_Kiểm tra độ mạnh của mật khẩu có thể thêm phần tránh trùng với tên đăng nhập để tăng độ bảo mật

Trang 21

LINK THUYẾT TRÌNH

 https://youtu.be/3GBT2-M232g

18

Ngày đăng: 24/12/2024, 16:13