-
28-07-2014, 11:23 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Bài tập quản lý không chạy menu và hàm???
Chào mọi người,
Mình đang gặp rắc rối với bài tập quản lý ở lớp. Code không báo lỗi nhưng ko chạy và bị dừng ở phần check input và xuất ra màn hình. Mọi người có thể nhìn qua và cho mình ý kiến nên sửa chỗ nào đựoc không? Thanks các bạn rất nhiều vì đã bỏ thời gian đọc code dài này
Bài tập không quá phức tạp nhưng mình phải tự học hoàn toàn nên nhiều chỗ không rõ ràng lắm, có gì mong các bạn giúp đỡ thêm
Đề: nhập thông tin cho 5 nhân viên. Tạo menu: thêm, chỉnh sửa, in ra 1, in ra tất cả và thoát chuơng trình. Trong quá trình nhập nv, nếu user nhập -1 thì code cũng tự động thoat.
Code:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <string.h>
#define EMPLOYEE 5
#define NAME 40
typedef struct employee
{
char name[NAME];
float hours, rate;
}ep, aem[EMPLOYEE];
int i;
//check to see if array is empty
int check(aem a, int*p, ep n)
{
int j;
for (j = 0; j < *p - 1; j++)
{
if (strcmp(a, "") == 0)
printf("No employee entered yet");
return j;
}return j - 1;
}
int addemp(aem a, int *p)
{
ep empadd;
printf("Name:
");
scanf_s("%s", empadd.name, 40);
if (strcmp(empadd.name, "-1") == 0)
return 0;
printf("Hours:
");
scanf_s("%f", empadd.hours);
fflush(stdin);
if (empadd.hours = -1)
return 0;
printf("Rate:
");
scanf_s("%f", empadd.rate);
fflush(stdin);
if (empadd.rate = -1)
return 0;
a[*p] = empadd;
*p = *p + 1;
}
void menu()
{
int menuinput = 0;
fflush(stdin);
printf("1. Add Employee:
2. Edit Employee:
3. Print Employee:
4. Print All Employee:
5. Exit:
");
}
void printone(aem a, int *p)
{
int c = 0;
ep empchoose = { "\0", 0.0f, 0.0f };
printf("Choose an employee:
");
do
{
c = check(a, p, empchoose);
if (c != -1)
menu();
} while (1);
{printf("Name: %s\tHours: %d\tRate: %d
", a[c].name, a[c].hours, a[c].rate);
}
}
//edit employee
void edit(aem a, int *p)
{
int d;
ep empedit = { "\0", 0.0f, 0.0f };
do
{
d = check(a, p, empedit);
if (d != -1)
break;
} while (1);
{
printf("Name:
");
fflush(stdin);
scanf_s("%s", empedit.name, NAME);
printf("Hour:
");
fflush(stdin);
scanf_s("%f", empedit.hours);
printf("Rate:");
fflush(stdin);
scanf_s("%f", empedit.rate);
}
}
//print all employee
void printall(aem a, int p)
{
int e;
for (e = 0; e <= p - 1; e++)
{
printf("Name: %s\tHours: %d\tRate: %d
", a[e].name, a[e].hours, a[e].rate);
}
}
//print one employee
void main()
{
aem m = { "\0", 0.0f, 0.0f };
int n = 0;
int input = 0;
menu();
printf("Enter option: ");
scanf_s("%d", &input);
switch (input)
{
case 1:
addemp(m, &n);
case 2:
edit(m, &n);
break;
case 3:
printone(m, &n);
break;
case 4:
printall(m, n);
break;
default:
printf("Not support.
");
break;
}
}View more random threads:
- cho thue phong kieu sao paulo
- Bài toán chia hòn đá thành các hòn đá nhỏ.
- Coi hộ mình code OOP này!
- 2^100000000
- Chương trình với ma trận vuông cấp n
- sắp xếp chẵn lẻ xen kẻ
- Thuật Toán Merge sort
- [Bắt đầu Học Lập Trình] Cách "học code" lập trình hiệu quả
- [C/C++][?]Cách sử dụng mục HELP
- giúp đỡ về đọc dữ liệu file.txt !
-
28-07-2014, 02:57 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
inbox để mình teamviewer debug cho lẹ !
skype : locnt1195
-
28-07-2014, 05:23 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi kusoipro
Ngọc Bích xanh bản chất thuộc dòng đá đá hoa (jade). Và cẩm thạch là tên gọi chung của ngọc bích. Vì thực chất chúng thuộc dòng đá đa khoáng được hình thành từ chất Silicat dưới dạng dioxy. Ngọc bích...
Chia sẻ Vòng tay ngọc bích xanh là...