Cứu bài tập pascal này với
:super:Mod nào hướng dẫn em giải bài này với: Để quản lí kết quả thi tuyển vào lớp 10 của học sinh phổ thông, mỗi thí sinh cần lưu trữ các thông tin sau: Số báo danh, họ và tên, điểm thi các môn toán lí hóa.Viết Chương trình thực hiện các công việc sau:
a)Tạo 1 tập tin mới có tên là họcsinh.txt để nhập họ tên thí sinh (chỉ nhập tên và điểm các môn). Việc lập được lập lại cho đến khi họ tên thí sinh là xâu rỗng. b) Sắp xếp theo thứ tự alpha b của danh sách thí sinh được nhập vào. c) Hiển thị danh sách thí sinh lên màn hình kèm theo điểm các môn và tổng điểm. Thí sinh trúng tuyển là thí sinh có điểm trên 20 không có môn nào dưới 2.:super: |
Ðề: Cứu bài tập pascal này với
Ở đây sẽ không ai đi giải bài tập cho em! Do đó em nên nêu lên cách giải, cách suy nghĩ của em và nói chỗ nào còn vướng để ACE có thể giúp em.
Chúc em học giỏi! |
Ðề: Cứu bài tập pascal này với
Dạ vâng! Em đã giải đc 9/10 bài này! Ra đến kết quả thì phần nhập lại có vấn đề. Đầu tiên em gán i:=1 sau đó em cho nhập a[1] vào,nhập luôn điểm các môn, tiếp đến em dùng vòng lặp while để xét điều kiện xem chuỗi a[1] có phải là xâu rỗng không. Nếu không là rỗng thì i:=i+1 và nhập tiếp a[i], đồng thời nhập luôn điểm các môn của a[i]. Nhưng khi làm xong bài em cho chạy mới phát hiện là khi đánh kí tự rỗng vào ( tương đương phím enter) thì việc nhập a[i] có dừng lại, tuy nhiên sau vòng nhập a[i]= rỗng thì nó vẫn tiếp tục kêu nhập điểm các môn. Để em thí dụ cho mod về lúc chạy chương trình để dễ hiểu nhá!
VD: Nhap vao a[1]:Le Anh Duy Toan:9 Li:8 Hoa7 Nhap vao a[2]:Dinh The Ngoc Nam Toan:9 Li:8 Hoa:6 Nhap vao a[3]: (a[3] em nhập rỗng =phím enter) Toan: (nó vẫn tiếp tục kêu nhập 3 dòng điểm này Y.Y) Li: Hoa: Nhưng theo yêu cầu đề bài em nghĩ là khi nhập rỗng nó nên bắt đầu thực hiện công việc của câu b) chứ không phải như thế! Mod nào bik được hướng dẫn em làm sao cho nó thoát ra khỏi while khi nhập rỗng với! |
Ðề: Cứu bài tập pascal này với
Ở đây mình giả sử một lớp học khoảng 50 học sinh thì việc lưu trữ danh sách của em trên mảng là okie.
Em nên post phần code nhập liệu của em lên anh sửa cho |
Ðề: Cứu bài tập pascal này với
Dạ vâng! Em cũng đã hỏi cô về trường hợp đó. Tuy nhiên do đây là đề để cô bồi dưỡng nên phải làm theo đề cô cho. Sau đây là toàn bộ code bài tập của em. Đáp án ra đúng, nhưng còn lộn xộn chỗ nhập dữ liệu, đồng thời em vẫn chưa nghĩ ra cách trình bày để xuất ra màn hình, mong các mod đóng góp cho em!
Program Tuyensinhlop10; Uses crt; Type hocsinh=record hoten:string[20]; tong,Toan,Li,Hoa:real; kp:string; end; var A:array[1..15]of hocsinh; dem,j,i:byte; tam:string; tam2,tam3,tam4,tam1:real; f:text; Begin Clrscr; assign(f,'D:\DuyGames\hocsinh.txt'); reset(f); a[i].tong:=0; i:=1; dem:=0; Write('Nhap vao a[',i,']:');readln(a[i].hoten); Write('Toan:');Readln(a[i].Toan); Write('Li :');Readln(a[i].Li); Write('Hoa :');Readln(a[i].Hoa); a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa; While a[i].hoten<>'' do begin dem:=dem+1; i:=i+1; Write('Nhap vao a[',i,']:'); readln(a[i].hoten); Write('Toan:');Readln(a[i].Toan); Write('Li :');Readln(a[i].Li); Write('Hoa :');Readln(a[i].Hoa); a[i].tong:=a[i].tong+a[i].toan+a[i].li+a[i].hoa; end; { while ((a[i].tong>20) and not (a[i].toan<=2) and (a[i].li<=2) and (a[i].hoa<=2)) do a[i].kp:='Dau';} For i:=1 to dem do a[i].hoten[1]:=UpCase(a[i].hoten[1]); For i:=1 to dem-1 do For j:=i+1 to dem do If a[i].hoten>a[j].hoten then begin tam:=a[i].hoten; a[i].hoten:=a[j].hoten; a[j].hoten:=tam; tam1:=a[i].tong; a[i].tong:=a[j].tong; a[j].tong:=tam1; tam2:=a[i].toan; a[i].toan:=a[j].toan; a[j].toan:=tam2; tam3:=a[i].Li; a[i].Li:=a[j].Li; a[j].Li:=tam3; tam4:=a[i].hoa; a[i].hoa:=a[j].hoa; a[j].hoa:=tam4; end; For i:=1 to dem do Writeln(a[i].hoten:5,a[i].toan:11:2,a[i].li:15:2,a[i].hoa:17:2,a[i].tong:19:2); Writeln('Danh sach nguoi dau la:'); For i:=1 to dem+1 do begin If ((a[i].tong>20) and not((a[i].toan<=2) or (a[i].li<=2) or (a[i].hoa<=2))) then Writeln(a[i].hoten); end; close(f); readln; end. Trong chương trình trên biến "dem" có thể xem là "n" tức là số lượng học sinh có trong danh sách sau khi nhập. |
Ðề: Cứu bài tập pascal này với
Code:
a[i].tong:=0; Code:
a[i].tong:=0; |
Ðề: Cứu bài tập pascal này với
Dạ vâng! Em làm đc rồi cám ơn bác nhìu! Lúc này bài nhìu quá nhìu lúc những chỗ nhỏ như thế khó lòng em nhận ra. Cám ơn anh mod myhanh nhiều ^^! \:D/
|
Múi giờ GMT +7. Hiện tại là 08:27 PM. |
Website sử dụng phần mềm vBulletin phiên bản 3.6.8
do Công ty TNHH Jelsoft giữ bản quyền từ 2000 - 2024.
Hội CHS Lê Quý Đôn-Long An giữ bản quyền nội dung của website này