Hiển thị kết quả từ 1 đến 7 / 7
-
04-12-2008 08:08 #1Registered User
- Tham gia
- 01-12-2008
- Bài viết
- 31
- Like
- 0
- Thanked 0 Times in 0 Posts
tạo menu trong c (bài tập quản lí sinh vien)
Code:#include <stdio.h> #include <conio.h> #define MaxSV 50 #define BELL 7 void Khoitao(void); void NhapData(void); void TongDiemTang(void); void TrungBinh(void); void DiemMax(void); void About(void); void ThoatCT(void); struct KieuSV { char MaSV[10]; char Ten[20]; float DToan; float DVan; float TDiem; }; struct KieuSV SV[MaxSV]; int index[MaxSV]; int i,j; int N; int main() { int luachon; Khoitao(); do { clrscr(); printf(" MENU CUA CHUONG TRINH"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º 1.Nhap du lieu º"); printf("\n º 2.In DS tang dan tong diem º"); printf("\n º 3.In trung binh cua tong diem º"); printf("\n º 4.In DS hoc sinh tong diem MAX º"); printf("\n º 5.Doi dieu ve tac gia. º"); printf("\n º 6.Thoat khoi chuong trinh º"); printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"); printf("\n"); printf("\n Ban hay chon mot so:"); scanf("%d",&luachon); switch (luachon) { case 1:NhapData();break; case 2:TongDiemTang();break; case 3:TrungBinh();break; case 4:DiemMax();break; case 5:About();break; case 6:{ ThoatCT(); return 0; } default:{printf("Lua chon trong 1-6! %c",BELL); getch(); } } } while (1); } void Khoitao() { N=0; } void NhapData(void) { int first=1; struct KieuSV Temp; clrscr(); do { printf("\nHay nhap so sinh vien:"); scanf("%d",&N); if ((N<0)||(N>MaxSV)) { if (first) printf("%c",BELL); first=0; printf("\nSo sinh vien phai thuoc 1-%d",MaxSV,BELL); printf("\n Xin moi nhap lai!"); } } while ((N<0)||(N>MaxSV)); first=1; for (i=0;i<N;i++) { fflush(stdin); printf("\nNhap thong tin cua sinh vien thu %d",i+1); printf("\n ÍÍÍÍÍÍÍÍÍÍo0oÍÍÍÍÍÍÍÍÍÍÍ"); printf("\n Ma sinh vien:"); gets(Temp.MaSV); fflush(stdin); printf("\n Ten sinh vien:"); gets(Temp.Ten); do {printf("\n Diem Toan:"); scanf("%f",&Temp.DToan); if ((Temp.DToan<0) || (Temp.DToan>10)) { if (first) printf("%c",BELL); first=0; printf("\nXin loi, diem nhap khong hop le!"); printf("\nXin moi nhap lai Diem Toan:"); } } while ((Temp.DToan<0)||(Temp.DToan>10)); fflush(stdin); first=1; do {printf("\n Diem Van:"); scanf("%f",&Temp.DVan); if ((Temp.DVan<0) || (Temp.DVan>10)) { if (first) printf("%c",BELL); first=0; printf("\nXin loi, diem nhap khong hop le!"); printf("\nXin moi nhap lai Diem Van:"); } } while ((Temp.DVan<0)||(Temp.DVan>10)); SV[i]=Temp; SV[i].TDiem=SV[i].DToan+SV[i].DVan; } printf("Hoan thanh viec nhap....!"); getch(); } void Swap(int *a,int *b) { int Tam; Tam=*a; *a=*b; *b=Tam; } void SapXep(void) { for (i=0;i<N;i++) index[i]=i; for (i=0;i<N-1;i++) for (j=i+1;j<N;j++) if (SV[index[i]].TDiem>SV[index[j]].TDiem) Swap(&index[i],&index[j]); } void TongDiemTang(void) { clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); goto CuoiThuTuc; } SapXep(); /*In ra*/ printf("\n DANH SACH HOC SINH CO TONG DIEM TANG DAN:"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º MaSV ³ Ten SV ³ Diem Toan ³ Diem Van ³ Tong diem º"); for (i=0;i<N;i++) { printf("\n ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ"); printf("\n º%11s³%19s³%11.2f³%10.2f³%11.2fº", SV[index[i]].MaSV,SV[index[i]].Ten,SV[index[i]].DToan,SV[index[i]].DVan,SV[index[i]].TDiem); if ((i+1)%30==0) getch(); } printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ"); getch(); CuoiThuTuc: } void TrungBinh(void) { float DiemToan=0.0; float DiemVan=0.0; clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); goto CuoiThuTuc; } for (i=0;i<N;i++) { DiemToan=DiemToan+SV[i].DToan; DiemVan=DiemVan+SV[i].DVan; } DiemToan=DiemToan/N; DiemVan=DiemVan/N; printf("\nDiem trung binh cua hai mon tren:"); printf("\n Mon Toan: %5.2f",DiemToan); printf("\n Mon Van: %5.2f",DiemVan); getch(); CuoiThuTuc: } float GTLN() { float Tg; Tg=SV[0].TDiem; for (i=1;i<N;i++) if (Tg<SV[i].TDiem) Tg=SV[i].TDiem; return Tg; } void DiemMax(void) { float Max; clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); goto CuoiThuTuc; } Max=GTLN(); printf("\n DANH SACH HOC SINH CO TONG DIEM MAX:"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º MaSV ³ Ten SV ³ Diem Toan ³ Diem Van ³ Tong diem º"); for (i=0;i<N;i++) if (SV[i].TDiem==Max) { printf("\n ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ"); printf("\n º%11s³%19s³%11.2f³%10.2f³%11.2fº", SV[i].MaSV,SV[i].Ten,SV[i].DToan,SV[i].DVan,SV[i].TDiem); if ((i+1)%30==0) getch(); } printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ"); getch(); CuoiThuTuc: } void About(void) { clrscr(); printf("\n THONG TIN VE TAC GIA CHUONG TRINH NAY:"); printf("\n"); printf("\n huynh tuan viet"); printf("\n"); printf("\n Dia chi: Truong CDCN Tuy Hoa - Phu Yen"); printf("\n Dien thoai: 0905189345"); printf("\n lop cdtin 30b "); printf("\n\n\n\n Cam on da xem phan nay! "); getch(); } void ThoatCT(void) { clrscr(); printf("\n"); printf("\n Chuong trinh ket thuc. Bye bye!"); printf("\n Khong biet quy vi co vua y khong vay?"); getch(); }
Ai sửa sai dùm mình cái
nó báo lỗi " funtion 'khoitao'should have a prototype
'nhapdata'
'thoatct'
tất cả các hàm đều báo lỗi như vậy
-
05-12-2008 18:41 #2Registered User
- Tham gia
- 10-11-2006
- Bài viết
- 177
- Like
- 0
- Thanked 0 Times in 0 Posts
Bạn sử dụng compiler gì vậy?
[=========> Bổ sung bài viết <=========]
Bỏ các label CuoiThuTuc, thay goto CuoiThuTuc = return.(ko hiểu vì sao bạn phải sử dụng label)
Compile với vs c++ 6.0(nên phải commen clrscr()) thì ok.
Hy vọng giúp được bạn.
Code:#include <stdio.h> #include <conio.h> #define MaxSV 50 #define BELL 7 void Khoitao(void); void NhapData(void); void TongDiemTang(void); void TrungBinh(void); void DiemMax(void); void About(void); void ThoatCT(void); struct KieuSV { char MaSV[10]; char Ten[20]; float DToan; float DVan; float TDiem; }; struct KieuSV SV[MaxSV]; int index[MaxSV]; int i,j; int N; int main() { int luachon; Khoitao(); do { //clrscr(); printf(" MENU CUA CHUONG TRINH"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º 1.Nhap du lieu º"); printf("\n º 2.In DS tang dan tong diem º"); printf("\n º 3.In trung binh cua tong diem º"); printf("\n º 4.In DS hoc sinh tong diem MAX º"); printf("\n º 5.Doi dieu ve tac gia. º"); printf("\n º 6.Thoat khoi chuong trinh º"); printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"); printf("\n"); printf("\n Ban hay chon mot so:"); scanf("%d",&luachon); switch (luachon) { case 1:NhapData();break; case 2:TongDiemTang();break; case 3:TrungBinh();break; case 4:DiemMax();break; case 5:About();break; case 6:{ ThoatCT(); return 0; } default:{printf("Lua chon trong 1-6! %c",BELL); getch(); } } } while (1); } void Khoitao() { N=0; } void NhapData(void) { int first=1; struct KieuSV Temp; // clrscr(); do { printf("\nHay nhap so sinh vien:"); scanf("%d",&N); if ((N<0)||(N>MaxSV)) { if (first) printf("%c",BELL); first=0; printf("\nSo sinh vien phai thuoc 1-%d",MaxSV,BELL); printf("\n Xin moi nhap lai!"); } } while ((N<0)||(N>MaxSV)); first=1; for (i=0;i<N;i++) { fflush(stdin); printf("\nNhap thong tin cua sinh vien thu %d",i+1); printf("\n ÍÍÍÍÍÍÍÍÍÍo0oÍÍÍÍÍÍÍÍÍÍÍ"); printf("\n Ma sinh vien:"); gets(Temp.MaSV); fflush(stdin); printf("\n Ten sinh vien:"); gets(Temp.Ten); do {printf("\n Diem Toan:"); scanf("%f",&Temp.DToan); if ((Temp.DToan<0) || (Temp.DToan>10)) { if (first) printf("%c",BELL); first=0; printf("\nXin loi, diem nhap khong hop le!"); printf("\nXin moi nhap lai Diem Toan:"); } } while ((Temp.DToan<0)||(Temp.DToan>10)); fflush(stdin); first=1; do {printf("\n Diem Van:"); scanf("%f",&Temp.DVan); if ((Temp.DVan<0) || (Temp.DVan>10)) { if (first) printf("%c",BELL); first=0; printf("\nXin loi, diem nhap khong hop le!"); printf("\nXin moi nhap lai Diem Van:"); } } while ((Temp.DVan<0)||(Temp.DVan>10)); SV[i]=Temp; SV[i].TDiem=SV[i].DToan+SV[i].DVan; } printf("Hoan thanh viec nhap....!"); getch(); } void Swap(int *a,int *b) { int Tam; Tam=*a; *a=*b; *b=Tam; } void SapXep(void) { for (i=0;i<N;i++) index[i]=i; for (i=0;i<N-1;i++) for (j=i+1;j<N;j++) if (SV[index[i]].TDiem>SV[index[j]].TDiem) Swap(&index[i],&index[j]); } void TongDiemTang(void) { // clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); //goto CuoiThuTuc; return; } SapXep(); /*In ra*/ printf("\n DANH SACH HOC SINH CO TONG DIEM TANG DAN:"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º MaSV ³ Ten SV ³ Diem Toan ³ Diem Van ³ Tong diem º"); for (i=0;i<N;i++) { printf("\n ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ"); printf("\n º%11s³%19s³%11.2f³%10.2f³%11.2fº", SV[index[i]].MaSV,SV[index[i]].Ten,SV[index[i]].DToan,SV[index[i]].DVan,SV[index[i]].TDiem); if ((i+1)%30==0) getch(); } printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ"); getch(); //CuoiThuTuc: } void TrungBinh(void) { float DiemToan=0.0; float DiemVan=0.0; // clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); //goto CuoiThuTuc; return; } for (i=0;i<N;i++) { DiemToan=DiemToan+SV[i].DToan; DiemVan=DiemVan+SV[i].DVan; } DiemToan=DiemToan/N; DiemVan=DiemVan/N; printf("\nDiem trung binh cua hai mon tren:"); printf("\n Mon Toan: %5.2f",DiemToan); printf("\n Mon Van: %5.2f",DiemVan); getch(); // CuoiThuTuc: } float GTLN() { float Tg; Tg=SV[0].TDiem; for (i=1;i<N;i++) if (Tg<SV[i].TDiem) Tg=SV[i].TDiem; return Tg; } void DiemMax(void) { float Max; //clrscr(); if (N==0) { printf("Chua co thong tin gi ca, khong the in duoc! %c",BELL); getch(); //goto CuoiThuTuc; return; } Max=GTLN(); printf("\n DANH SACH HOC SINH CO TONG DIEM MAX:"); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º MaSV ³ Ten SV ³ Diem Toan ³ Diem Van ³ Tong diem º"); for (i=0;i<N;i++) if (SV[i].TDiem==Max) { printf("\n ÇÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄĶ"); printf("\n º%11s³%19s³%11.2f³%10.2f³%11.2fº", SV[i].MaSV,SV[i].Ten,SV[i].DToan,SV[i].DVan,SV[i].TDiem); if ((i+1)%30==0) getch(); } printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍͼ"); getch(); // CuoiThuTuc: } void About(void) { //clrscr(); printf("\n THONG TIN VE TAC GIA CHUONG TRINH NAY:"); printf("\n"); printf("\n huynh tuan viet"); printf("\n"); printf("\n Dia chi: Truong CDCN Tuy Hoa - Phu Yen"); printf("\n Dien thoai: 0905189345"); printf("\n lop cdtin 30b "); printf("\n\n\n\n Cam on da xem phan nay! "); getch(); } void ThoatCT(void) { //clrscr(); printf("\n"); printf("\n Chuong trinh ket thuc. Bye bye!"); printf("\n Khong biet quy vi co vua y khong vay?"); getch(); }
Được sửa bởi _donquixote_ lúc 18:52 ngày 05-12-2008 Reason: Bổ sung bài viết
-
15-10-2009 18:57 #3Registered User
- Tham gia
- 19-02-2009
- Bài viết
- 1
- Like
- 0
- Thanked 0 Times in 0 Posts
Giúp e làm cái menu động bằng C với. có nghĩa là dùng mũi tên di chuyển thanh sáng để chọn chức năng đó
-
16-10-2009 00:38 #4Registered User
- Tham gia
- 12-05-2008
- Bài viết
- 3
- Like
- 0
- Thanked 0 Times in 0 Posts
Hic ai biet dev C va visua C++ dung khác nhau thế nào không? Tại lười cài C++ quá ^.^
-
16-10-2009 00:53 #5
chào bạn,
lỗi prototype nghĩa là bạn gọi hàm main trước khi thông báo cho nó biết các hàm còn lại.
- tạo prototype cho hàm: vd void nhapdata ( int *a ... ), rồi viết code hàm main và các hàm còn lại.
- hoặc là bạn đưa hàm main xuống dưới cùng, sau các hàm khác,
vậy thôi, hi vọng giúp ích được cho bạn .
-
Thành viên Like bài viết này:
-
16-10-2009 05:05 #6
Nó khác nhau giao diện, người viết ra nó cũng khác
Mình thấy VS C++ tương tác chậm hơn Dev-C vì Dev C++ ít tính năng hơn VS C++. Dev-C tạo project OPENGL được cho bạn còn visual C++ thì không , không hẳn là không vì mới cài vô thì visual C++ không có mẫu cho OpenGL.
-
24-05-2012 19:11 #7Registered User
- Tham gia
- 13-05-2012
- Bài viết
- 1
- Like
- 0
- Thanked 0 Times in 0 Posts
cái này sao mình chay trên cfree không được bạn, bạn nào giúp mình vơi, mình đang tìm hiểu cách sử dụng cái switch làm cái menu, nhưng bỏ mấy cái code ở trên vào cfree thì không chạy. hix
0 nhận xét:
Đăng nhận xét