#题目 6:医院门诊信息管理系统 (06 )
【问题描述】
该设计采用菜单作为应用程序的主要界面,用控制语句来改变程序执行的顺
序,控制语句是实现结构化程序设计的基础。该设计的任务是利用一个简单实用
的界面完成对门诊信息和诊断信息的登记。包括病人的姓名,性别,挂号码,身
份证,科室以及最后诊断结果的输出
【任务要求】
1.录入患者信息
2.匹配对应科室的挂号码
3.输入医生的诊断结果
4.分配取药窗口和结账窗口
【设计要求】
完成简单的模拟医院门诊信息管理系统的功能
功能方法设计
主要运用继承派生类的构造方法,更熟练的运用 Java 动态内存管理的方法
#相关代码片
import java.util.ArrayList;
import java.util.Scanner;
class Patient {
private String name;
private String gender;
private int registrationNumber;
private String id;
public Patient(String name, String gender, int registrationNumber, String id) {
this.name = name;
this.gender = gender;
this.registrationNumber = registrationNumber;
this.id = id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getRegistrationNumber() {
return registrationNumber;
}
public String getId() {
return id;
}
}
class Outpatient extends Patient {
private String department;
private String diagnosisResult;
public Outpatient(String name, String gender, int registrationNumber, String id, String department) {
super(name, gender, registrationNumber, id);
this.department = department;
}
public void setDiagnosisResult(String result) {
diagnosisResult = result;
}
public String getDepartment() {
return department;
}
public String getDiagnosisResult() {
return diagnosisResult;
}
}
public class HospitalManagementSystem {
private static ArrayList<Outpatient> patients = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("Hospital Management System");
System.out.println("1. Enter patient information");
System.out.println("2. Match registration number with corresponding department");
System.out.println("3. Input doctor's diagnosis result");
System.out.println("4. Assign medication and payment window");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
choice = scanner.nextInt();
switch (choice) {
case 1:
enterPatientInformation();
break;
case 2:
matchRegistrationNumberWithDepartment();
break;
case 3:
inputDiagnosisResult();
break;
case 4:
assignMedicationAndPaymentWindow();
break;
case 5:
System.out.println("Exiting...");
break;
default:
System.out.println("Invalid choice. Please try again.");
}
System.out.println();
} while (choice != 5);
}
private static void enterPatientInformation() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter patient name: ");
String name = scanner.nextLine();
System.out.print("Enter patient gender: ");
String gender = scanner.nextLine();
System.out.print("Enter registration number: ");
int registrationNumber = scanner.nextInt();
scanner.nextLine(); // consume newline character
System.out.print("Enter patient ID: ");
String id = scanner.nextLine();
System.out.print("Enter department: ");
String department = scanner.nextLine();
Outpatient patient = new Outpatient(name, gender, registrationNumber, id, department);
patients.add(patient);
System.out.println("Patient information entered successfully.");
}
private static void matchRegistrationNumberWithDepartment() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter department to match registration number: ");
String department = scanner.nextLine();
for (Outpatient patient : patients) {
if (patient.getDepartment().equalsIgnoreCase(department)) {
System.out.println("Registration number: " + patient.getRegistrationNumber());
}
}
}
private static void inputDiagnosisResult() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter registration number of the patient: ");
int registrationNumber = scanner.nextInt();
scanner.nextLine(); // consume newline character
System.out.print("Enter diagnosis result: ");
String diagnosisResult = scanner.nextLine();
for (Outpatient patient : patients) {
if (patient.getRegistrationNumber() == registrationNumber) {
patient.setDiagnosisResult(diagnosisResult);
System.out.println("Diagnosis result recorded successfully.");
return;
}
}
System.out.println("Patient not found with the given registration number.");
}
private static void assignMedicationAndPaymentWindow() {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter registration number of the patient: ");
int registrationNumber = scanner.nextInt();
for (Outpatient patient : patients) {
if (patient.getRegistrationNumber() == registrationNumber) {
System.out.println("Assigning medication and payment window for patient: " + patient.getName());
// Perform the necessary operations for assigning medication and payment window
return;
}
}
System.out.println("Patient not found with the given registration number.");
}
}
#问题
审核上述代ma是否符合课题要求
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
class Patient {
private String name;
private String gender;
private int registrationNumber;
private String id;
public Patient(String name, String gender, int registrationNumber, String id) {
this.name = name;
this.gender = gender;
this.registrationNumber = registrationNumber;
this.id = id;
}
public String getName() {
return name;
}
public String getGender() {
return gender;
}
public int getRegistrationNumber() {
return registrationNumber;
}
public String getId() {
return id;
}
}
class Outpatient extends Patient {
private String department;
private String diagnosisResult;
public Outpatient(String name, String gender, int registrationNumber, String id, String department) {
super(name, gender, registrationNumber, id);
this.department = department;
}
public void setDiagnosisResult(String result) {
diagnosisResult = result;
}
public String getDepartment() {
return department;
}
public String getDiagnosisResult() {
return diagnosisResult;
}
}
public class HospitalManagementSystem {
private static ArrayList<Outpatient> patients = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("Hospital Management System");
System.out.println("1. Enter patient information");
System.out.println("2. Match registration number with corresponding department");
System.out.println("3. Input doctor's diagnosis result");
System.out.println("4. Assign medication and payment window");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
try {
choice = scanner.nextInt();
scanner.nextLine(); // consume newline character
switch (choice) {
case 1:
enterPatientInformation(scanner);
break;
case 2:
matchRegistrationNumberWithDepartment(scanner);
break;
case 3:
inputDiagnosisResult(scanner);
break;
case 4:
assignMedicationAndPaymentWindow(scanner);
break;
case 5:
System.out.println("Exiting...");
break;
default:
System.out.println("Invalid choice. Please try again.");
}
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a valid choice.");
scanner.nextLine(); // clear the input buffer
choice = 0; // set choice to an invalid value to repeat the loop
}
System.out.println();
} while (choice != 5);
scanner.close();
}
private static void enterPatientInformation(Scanner scanner) {
System.out.print("Enter patient name: ");
String name = scanner.nextLine();
System.out.print("Enter patient gender: ");
String gender = scanner.nextLine();
System.out.print("Enter registration number: ");
int registrationNumber = scanner.nextInt();
scanner.nextLine(); // consume newline character
System.out.print("Enter patient ID: ");
String id = scanner.nextLine();
System.out.print("Enter department: ");
String department = scanner.nextLine();
Outpatient patient = new Outpatient(name, gender, registrationNumber, id, department);
patients.add(patient);
System.out.println("Patient information entered successfully.");
}
private static void matchRegistrationNumberWithDepartment(Scanner scanner) {
System.out.print("Enter department to match registration number: ");
String department = scanner.nextLine();
boolean found = false;
for (Outpatient patient : patients) {
if (patient.getDepartment().equalsIgnoreCase(department)) {
System.out.println("Registration number: " + patient.getRegistrationNumber());
found = true;
}
}
if (!found) {
System.out.println("No patients found in the given department.");
}
}
private static void inputDiagnosisResult(Scanner scanner) {
System.out.print("Enter registration number of the patient: ");
int registrationNumber = scanner.nextInt();
scanner.nextLine(); // consume newline character
System.out.print("Enter diagnosis result: ");
String diagnosisResult = scanner.nextLine();
boolean found = false;
for (Outpatient patient : patients) {
if (patient.getRegistrationNumber() == registrationNumber) {
patient.setDiagnosisResult(diagnosisResult);
System.out.println("Diagnosis result recorded successfully.");
found = true;
break;
}
}
if (!found) {
System.out.println("Patient not found with the given registration number.");
}
}
private static void assignMedicationAndPaymentWindow(Scanner scanner) {
System.out.print("Enter registration number of the patient: ");
int registrationNumber = scanner.nextInt();
boolean found = false;
for (Outpatient patient : patients) {
if (patient.getRegistrationNumber() == registrationNumber) {
System.out.println("Assigning medication and payment window for patient: " + patient.getName());
// Perform the necessary operations for assigning medication and payment window
found = true;
break;
}
}
if (!found) {
System.out.println("Patient not found with the given registration number.");
}
}
}
可以不用人工审核,一些基础的代码规范可以交给在git提交的时候去校验,checkstyle引入插件,这样会提高效率和准确率
#include<iostream>
using namespace std;
void countsort(int a[],int b[],int n)
{
//遍历每一趟
int count=0;
for(int i=0;i<n;i++)
{
//找到每个元素小的个数
count = 0;
for(int j=0;j<n;j++)
{
if(a[j]<a[i]) count++;
}
b[count] = a[i];
}
}
int main()
{
int a[6]={3,5,7,2,4,9},b[6];
countsort(a,b,6);
for(int i=0;i<6;i++) cout<<b[i]<<" ";
return 0;
}