0
我迷失於案件3部分 - 通過瀏覽結構並檢查輸入是否匹配來更新員工信息。如何顯示和替換員工數據?
問題:
「提示用於使用 do-while循環的僱員標識號的用戶雖然僱員陣列中沒有發現的數量, 保持提示用戶。」。
「找到號碼後,顯示帶有該識別號碼的員工 的當前工資,並提示用戶輸入新的工資 。將舊工資替換爲輸入值。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define SIZE 4
struct employee_data{
int Age;
int Int_Num;
double Salary;
};
int main(void){
int option = 0;
int NOE = 0;
printf("---=== EMPLOYEE DATA ===---\n");`enter code here`
struct employee_data emp[SIZE];
// Employee_ID
int i;
do {
// Print the option list
printf("\n1. Display Employee Information\n");
printf("2. Add Employee\n");
printf("3. Update Employee Salary\n");
printf("4. Remove Employee\n");
printf("0. Exit\n\n");
printf("Please select from the above options: ");
// Capture input to option variable
scanf("%d",&option);
printf("\n");
switch (option) {
case 0: // Exit the program
printf("Exiting Employee Data Program. Good Bye!!!\n");
break;
case 1: // Display Employee Data
// @IN-LAB
printf("EMP ID EMP AGE EMP SALARY\n");
printf("====== ======= ==========\n");
for (i=0; i<SIZE; i++){
printf("%6d%9d%11.2lf\n", emp[i].Int_Num, emp[i].Age,emp[i]
// /printf("\n");
}
// printf("%6d%9d%11.2lf", emp[1].Age, emp[1].Int_Num,emp[1]
// Use "%6d%9d%11.2lf" formatting in a
// printf statement to display
// employee id, age and salary of
// all employees using a loop construct
// The loop construct will be run for SIZE times
// and will only display Employee data
// where the EmployeeID is > 0
// printf("\n");
break;
case 2: // Adding Employee
// @IN-LAB
// for (i = 0; i < SIZE; i++)
printf("Adding Employee\n");
printf("===============\n");
if(NOE < SIZE){
// printf("ERROR!!! Maximum Number of Employees Reached\n"
printf("Enter Employee ID: ");
scanf("%d", &emp[NOE].Int_Num);
printf("Enter Employee Age: ");
scanf("%d", &emp[NOE].Age);
printf("Enter Employee Salary: ");
scanf("%11lf", &emp[NOE].Salary);
NOE++;
}
else{
printf("ERROR!!! Maximum Number of Employees Reached\n");
}
// Check for limits on the array and add employee
// data accordingly.}
break;
int number = 0;
case 3: printf("Update Employee Salary\n");
printf("======================\n");
do {
printf("Enter Employee ID: ");
scanf("%d", &number);
if(number == emp[NOE].Int_Num){
printf("The current salary is %11lf", emp[NOE].Salary);
}
// else{
}while (number != emp[NOE].Int_Num);
break;
'if(number == emp [NOE] .Int_Num){':'NOE'不能用於此。 – BLUEPIXY
還有'printf(「%6d%9d%11.2lf \ n」,emp [i] .Int_Num,emp [i] .Age,emp [i]':代碼丟失。 – BLUEPIXY
int number = 0; 情況3:' - >'情況3:; int number = 0;' – BLUEPIXY